Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current View Version History

« Previous Version 4 Next »

Porting from Debian 11 (bullseye)

Install DU4 zone (see How to bootstrap a DU4 zone )

Add lines of debian’s sources into your local zone /etc/apt/sources.list

deb-src http://security.debian.org/debian-security bullseye-security/updates main contrib non-free
deb-src http://mirrors.kernel.org/debian/ bullseye-updates main contrib non-free
deb-src http://mirrors.kernel.org/debian/ bullseye-proposed-updates main contrib non-free
deb-src http://mirrors.kernel.org/debian/ bullseye-backports main contrib non-free
deb-src http://mirrors.kernel.org/debian/ bullseye main contrib non-free

add architecture:

sudo dpkg --add-architecture amd64

Then make it available:

update existing packages

sudo apt update

Now install git and make to start:

install packages

sudo apt install build-essential gmake git

Build already ported package

Prepare build directory:

clone repo (do not forget add your public key into https://bitbucket.org/account/settings/ssh-keys)

git clone git@bitbucket.org:dilos/du4.git

go to components directory

cd du4/components

Build the component:

you are ready to build your package from userland, for example: apt

cd apt

gmake JOBS=4 deb (JOBS is the number of parallel build processes you want to use)

After the building process is done,  you find the built package(s) in <du4>/components/${component}/build directory

Port a new package

Preinstall necessary packages:

dpkg-dev

sudo apt install dpkg-dev

Download source package from Debian:

porting gzip

apt source gzip

cd gzip-1.10

dpkg-checkbuilddeps

See output (for example):

dpkg-checkbuilddeps: error: Unmet build dependencies: debhelper-compat …

Try to install necessary packages from DU4 repository into your build zone

sudo apt install debhelper-compat …

If some package has not been found in DU4 repository it means this one shall be ported too.

When dpkg-checkbuilddeps return empty output it means all depends are installed and you can build the component.

Check if the component is correctly buildable:

Update debian/changelog:

cat changelog | less

gzip (1.10-4+deb11u1+dilos1) unstable; urgency=high

  • Build for DilOS.

-- DilOS Team dilos@dilos.org Mon, 27 Jun 2022 21:34:00 +0300

gzip (1.10-4+deb11u1) bullseye-security; urgency=high

Build binary DEB packages

sudo dpkg-buildpackage -b -uc -us

If it has been built successfully:

Build source packages

sudo dpkg-buildpackage -d -S -us -uc -sa

After that you can provide result packages to Jenkins for integration.

If build failed you shall make all necessary fixes, increment the +dilos<version> and add new line in debian/changelog with short description of the fix you made.

Bug fixing

Install DU4 zone (see How to bootstrap a DU4 zone )

Add line of DU4 sources into your local zone /etc/apt/sources.list

deb-src http://10.20.60.188/dilos4 du4-unstable main contrib non-free

Then make it available:

update existing packages

sudo apt update

Now install git and make to start:

install packages

sudo apt install build-essential gmake git

Preinstall necessary packages:

dpkg-dev

sudo apt install dpkg-dev

Download source package from DU4:

porting gzip

apt source gzip

cd gzip-1.10

dpkg-checkbuilddeps

All next steps are the same as described above.

Some notes and hints

Do not mix deb-src between DU4 and bullseye in one /etc/apt/sources.list! It will confuse apt when it shall download the sources.

To overcame this

Go to https://packages.debian.org/source/bullseye.

Enter <package-name> into “search package names“ edit box, enter the page.

Select “bullseye“, scroll down the page.

Unpack them

dpkg-source -x gzip_1.10-4+deb11u1.dsc

Done, you’ve downloaded and unpack original Debian 11 sources. Now you can compare the code or debian’s files with ours from DU4 sources.

  • No labels