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 |
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
-- 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.
Copy one-by-one all source links and download using wget |
---|
wget http://deb.debian.org/debian/pool/main/g/gzip/gzip_1.10-4+deb11u1.dsc |
wget http://deb.debian.org/debian/pool/main/g/gzip/gzip_1.10.orig.tar.gz |
wget http://deb.debian.org/debian/pool/main/g/gzip/gzip_1.10-4+deb11u1.debian.tar.xz |
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.