Anleitung für die Erstellung PING-spezifischer Debian Pakete
Work in progress
Vorbemerkungen
- Die folgenden Schritte werden auf leary ausgeführt
- Diese Dokumentation ist durch Notieren der notwendigen Schritte beim Bau echter Pakete entstanden. Sie ist dementsprechend sehr spezifisch, viele Details müssen angepasst werden.
Es ist oft, gerade bei großen Paketen, sinnvoll, den eigentlichen Build-Prozess innerhalb von screen laufen zu lassen.
Benutzung
Um die Pakete benutzen zu können bedarf es dieser Zeile in /etc/apt/sources.list oder /etc/apt/sources.list.d/pingian.list:
deb http://debian.ping.de/pingian lenny local
Um Pakete aus dem reprepro zu entfernen kann wie folgt vorgegangen werden:
sudo reprepro -b /srv/reprepro-neu removesrc lenny exim4
Umgebung
Es bieten sich an, einige Einstellungen auf dem build-System vorzunehmen:
- ~/.pbuilderrc
# always include sources in builds DEBBUILDOPTS="-sa"
- ~/.bashrc
export DEBEMAIL="bodo@ping.de"
Links
dpatch: http://matrixhasu.altervista.org/index.php?view=use_dpatch
courier APOP patch: http://www.ksky.ne.jp/~setoppu2/courier-imap/apop.html
courier-imap
- §113a support
- APOP support
apt-cache madison courier-imap apt-get source courier=0.60.0-2 patch -p0 < patches/courier-log113a.diff patch -p0 < patches/courier-imap-apop.diff cd courier-0.60.0/ dch --no-auto-nmu -i courier (0.60.0-2+ping3) lenny; urgency=low dpkg-buildpackage -rfakeroot -S cd .. debdiff courier_0.60.0-2.dsc courier_0.60.0-2+ping3.dsc screen pbuilder-lenny build courier_0.60.0-2+ping3.dsc sudo reprepro -b /srv/reprepro-neu include lenny ~bodo/deb/deb/courier_0.60.0-2+ping3_i386.changes
courier-imap (squeeze)
- APOP support
dget http://ftp.de.debian.org/debian/pool/main/c/courier/courier_0.65.0-3.dsc patch -p0 < courier-imap-apop.diff cd courier-0.65.0 dch --no-auto-nmu -i courier (0.65.0-3+ping1) squeeze; urgency=low dpkg-buildpackage -rfakeroot -sa -S cd .. debdiff courier_0.65.0-3.dsc courier_0.65.0-3+ping1.dsc screen pbuilder-squeeze-i386 build courier_0.65.0-3+ping1.dsc pbuilder-squeeze-amd64 build courier_0.65.0-3+ping1.dsc sudo reprepro -b /srv/reprepro-neu include squeeze deb/courier_0.65.0-3+ping1_i386.changes sudo reprepro -b /srv/reprepro-neu include squeeze deb/courier_0.65.0-3+ping1_amd64.changes
courier-imap (wheezy)
- APOP support
dget http://ftp.de.debian.org/debian/pool/main/c/courier/courier_0.68.2-1.dsc patch -p0 < ../courier-imap-apop.diff cd courier-0.68.2 dch --no-auto-nmu -i courier (0.68.2-1+ping1) wheezy; urgency=low dpkg-buildpackage -rfakeroot -sa -S cd .. debdiff courier_0.68.2-1.dsc courier_0.68.2-1+ping1.dsc screen pbuilder-wheezy-i386 build courier_0.68.2-1+ping1.dsc pbuilder-wheezy-amd64 build courier_0.68.2-1+ping1.dsc sudo cp courier_0.68.2.orig.tar.gz /srv/reprepro-neu/pool/local/c/courier/courier_0.68.2.orig.tar.gz sudo reprepro -b /srv/reprepro-neu include wheezy deb/courier_0.68.2-1+ping1_i386.changes sudo reprepro -b /srv/reprepro-neu include wheezy deb/courier_0.68.2-1+ping1_amd64.changes
courier-imap (jessie)
- APOP support
dget http://http.debian.net/debian/pool/main/c/courier/courier_0.73.1-1.6.dsc patch -p0 < ../patches/courier-imap-apop-jessie.diff cd courier-0.73.1/ dch -l +ping 'APOP support' dch -a 'see http://www.ksky.ne.jp/~setoppu2/courier-imap/apop.html' dch -r -D jessie "" dpkg-buildpackage -rfakeroot -sa -S -uc -us cd .. debdiff courier_0.73.1-1.6.dsc courier_0.73.1-1.6+ping1.dsc pbuilder-jessie-i386 build courier_0.73.1-1.6+ping1.dsc pbuilder-jessie-amd64 build courier_0.73.1-1.6+ping1.dsc sudo reprepro -b /srv/reprepro-neu include jessie courier_0.73.1-1.6+ping1_source.changes sudo reprepro -b /srv/reprepro-neu includedeb jessie deb/*.deb
courier-authlib
- APOP support
apt-cache madison courier-authlib apt-get source courier-authlib=0.61.0-1+lenny1 patch -p0 < patches/courier-authlib-apop.diff cd courier-authlib-0.61.0 dch --no-auto-nmu -i courier-authlib (0.61.0-1+lenny1+ping1) lenny; urgency=low dpkg-buildpackage -rfakeroot -S cd .. debdiff courier-authlib_0.61.0-1+lenny1.dsc courier-authlib_0.61.0-1+lenny1+ping1.dsc screen pbuilder-lenny build courier-authlib_0.61.0-1+lenny1+ping1.dsc sudo reprepro -b /srv/reprepro-neu include lenny ~bodo/deb/deb/courier-authlib_0.61.0-1+lenny1+ping1_i386.changes
courier-authlib (squeeze)
- APOP support
dget http://ftp.de.debian.org/debian/pool/main/c/courier-authlib/courier-authlib_0.63.0-3.dsc patch -p0 < courier-authlib-apop.diff cd courier-authlib-0.63.0 dch --no-auto-nmu -i courier-authlib (0.63.0-3+ping1) squeeze; urgency=low dpkg-buildpackage -rfakeroot -sa -S cd .. debdiff courier-authlib_0.63.0-3.dsc courier-authlib_0.63.0-3+ping1.dsc screen pbuilder-squeeze-i386 build courier-authlib_0.63.0-3+ping1.dsc pbuilder-squeeze-amd64 build courier-authlib_0.63.0-3+ping1.dsc sudo reprepro -b /srv/reprepro-neu include squeeze deb/courier-authlib_0.63.0-3+ping1_i386.changes sudo reprepro -b /srv/reprepro-neu include squeeze deb/courier-authlib_0.63.0-3+ping1_amd64.changes
courier-authlib (wheezy)
- APOP support
dget http://ftp.de.debian.org/debian/pool/main/c/courier-authlib/courier-authlib_0.63.0-6.dsc patch -p0 < ../courier-authlib-apop.diff cd courier-authlib-0.63.0/ dch --no-auto-nmu -i courier-authlib (0.63.0-6+ping1) wheezy; urgency=low dpkg-buildpackage -rfakeroot -sa -S cd .. debdiff courier-authlib_0.63.0-6.dsc courier-authlib_0.63.0-6+ping1.dsc screen pbuilder-wheezy-i386 build courier-authlib_0.63.0-6+ping1.dsc pbuilder-wheezy-amd64 build courier-authlib_0.63.0-6+ping1.dsc sudo cp courier-authlib_0.63.0.orig.tar.gz /srv/reprepro-neu/pool/local/c/courier-authlib/courier-authlib_0.63.0.orig.tar.gz sudo reprepro -b /srv/reprepro-neu include wheezy deb/courier-authlib_0.63.0-6+ping1_i386.changes sudo reprepro -b /srv/reprepro-neu include wheezy deb/courier-authlib_0.63.0-6+ping1_amd64.changes
courier-authlib (jessie)
- APOP support
dget http://http.debian.net/debian/pool/main/c/courier-authlib/courier-authlib_0.66.1-1.dsc patch -p0 < ../patches/courier-authlib-apop-jessie.diff cd courier-authlib-0.66.1/ dch -l +ping 'APOP support' dch -a 'see http://www.ksky.ne.jp/~setoppu2/courier-imap/apop.html' dch -r -D jessie "" dpkg-buildpackage -rfakeroot -sa -S -uc -us cd .. debdiff courier-authlib_0.66.1-1.dsc courier-authlib_0.66.1-1+ping1.dsc pbuilder-jessie-i386 build courier-authlib_0.66.1-1+ping1.dsc pbuilder-jessie-amd64 build courier-authlib_0.66.1-1+ping1.dsc sudo reprepro -b /srv/reprepro-neu include jessie courier-authlib_0.66.1-1+ping1_source.changes sudo reprepro -b /srv/reprepro-neu includedeb jessie deb/*.deb
log113ad
- §113a support
dget http://donotdisturb.ping.de/pingian/pool/local/l/log113ad/log113ad_0.34-1.dsc dpkg-source -x log113ad_0.34-1.dsc cd log113ad-0.34/ dch --no-auto-nmu -i log113ad (0.34-1+lenny1) lenny; urgency=low dpkg-buildpackage -rfakeroot -S cd .. debdiff log113ad_0.34-1.dsc log113ad_0.34-1+lenny1.dsc pbuilder-lenny build log113ad_0.34-1+lenny1.dsc sudo reprepro -b /srv/reprepro-neu include lenny ~bodo/deb/deb/log113ad_0.34-1+lenny1_i386.changes
amd64
dget http://donotdisturb.ping.de/pingian/pool/local/l/log113ad/log113ad_0.34-1+lenny1.dsc pbuilder-lenny build log113ad_0.34-1+lenny1.dsc scp deb/log113ad_0.34-1+lenny1_amd64.deb donotdisturb:deb/deb sudo reprepro -b /srv/reprepro-neu includedeb lenny ~bodo/deb/deb/log113ad_0.34-1+lenny1_amd64.deb
exim4-log113a
- §113a support
dget http://donotdisturb.ping.de/pingian/pool/local/e/exim4-log113a/exim4-log113a_0.11-1.dsc dpkg-source -x exim4-log113a_0.11-1.dsc cd exim4-log113a-0.11/ dch --no-auto-nmu -i exim4-log113a (0.11-1+lenny1) lenny; urgency=low dpkg-buildpackage -rfakeroot -S cd .. debdiff exim4-log113a_0.11-1.dsc exim4-log113a_0.11-1+lenny1.dsc pbuilder-lenny build exim4-log113a_0.11-1+lenny1.dsc sudo reprepro -b /srv/reprepro-neu include lenny ~bodo/deb/deb/exim4-log113a_0.11-1+lenny1_i386.changes
amd 64
dget http://donotdisturb.ping.de/pingian/pool/local/e/exim4-log113a/exim4-log113a_0.11-1+lenny1.dsc pbuilder-lenny build exim4-log113a_0.11-1+lenny1.dsc scp deb/exim4-log113a_0.11-1+lenny1_amd64.deb donotdisturb:deb/deb sudo reprepro -b /srv/reprepro-neu includedeb lenny ~bodo/deb/deb/exim4-log113a_0.11-1+lenny1_amd64.deb
exim4 mit OpenSSL
Automatisiert:
mkdir buildtmp cd buildtmp /home/ik/build-exim.sh ''dsc-url'' wheezy
manuell:
sudo apt-get update apt-get source exim4 perl -i -pe 's/^\s*#\s*OPENSSL\s*:=\s*1/OPENSSL:=1/' exim4-*/debian/rules cd exim4-* dch -l +openssl 'rebuild with openssl' dpkg-buildpackage -rfakeroot -S cd .. debdiff exim4_4.80-7+deb7u5.dsc exim4_4.80-7+deb7u5openssl1.dsc pbuilder-wheezy-i386 build exim4_4.80-7+deb7u5openssl1.dsc sudo reprepro --ignore=wrongdistribution -b /srv/reprepro-neu include wheezy ~ik/buildtmp/exim4_4.80-7+deb7u5openssl1_source.changes sudo reprepro -b /srv/reprepro-neu includedeb wheezy ~ik/buildtmp/deb/exim4*i386*.deb # alternativ geht statt den beiden auch ein "include wheezy buildtmp/deb/exim4*i386.changes" ? pbuilder-wheezy-amd64 build exim4_4.80-7+deb7u5openssl1.dsc sudo reprepro -b /srv/reprepro-neu includedeb wheezy ~ik/buildtmp/deb/exim4*amd64*.deb
libtie-handle-csv-perl
- no changes
dh-make-perl --cpan Tie::Handle::CSV cd Tie-Handle-CSV-0.09/debian vi copyright remove auto-block insert copyright vi control add to Build-Depends: libtext-csv-xs-perl add to Depends: libtext-csv-xs-perl vi changelog libtie-handle-csv-perl (0.09-1+ping1) lenny; urgency=low cd .. dpkg-buildpackage -rfakeroot -S cd .. pbuilder-lenny build libtie-handle-csv-perl_0.09-1+ping1.dsc lintian -i -I lintian -i -I deb/libtie-handle-csv-perl_0.09-1+ping1_all.deb dpkg -c deb/libtie-handle-csv-perl_0.09-1+ping1_all.deb sudo reprepro -b /srv/reprepro-neu include lenny ~bodo/deb/deb/libtie-handle-csv-perl_0.09-1+ping1_i386.changes
libtie-handle-csv-perl (squeeze)
- no changes
wget http://search.cpan.org/CPAN/authors/id/D/DA/DANBOO/Tie-Handle-CSV-0.13.tar.gz tar xzf Tie-Handle-CSV-0.13.tar.gz dh-make-perl Tie-Handle-CSV-0.13/ cd Tie-Handle-CSV-0.13/debian/ vi copyright remove DISCLAIMER vi control remove dh-make-perl line vi changelog libtie-handle-csv-perl (0.13-1+ping1) squeeze; urgency=low cd .. dpkg-buildpackage -rfakeroot -sa -S cd .. pbuilder-squeeze-i386 build libtie-handle-csv-perl_0.13-1+ping1.dsc lintian -i -I lintian -i -I deb/libtie-handle-csv-perl_0.13-1+ping1_all.deb sudo reprepro -b /srv/reprepro-neu include squeeze deb/libtie-handle-csv-perl_0.13-1+ping1_i386.changes
libtie-handle-csv-perl (wheezy)
- no changes
wget http://www.cpan.org/authors/id/D/DA/DANBOO/Tie-Handle-CSV-0.15.tar.gz tar xzf Tie-Handle-CSV-0.15.tar.gz dh-make-perl Tie-Handle-CSV-0.15/ cd Tie-Handle-CSV-0.15/debian/ vi copyright remove DISCLAIMER vi control remove dh-make-perl line vi changelog libtie-handle-csv-perl (0.15-1+ping1) wheezy; urgency=low cd .. dpkg-buildpackage -rfakeroot -sa -S cd .. pbuilder-wheezy-i386 build libtie-handle-csv-perl_0.15-1+ping1.dsc lintian -i -I lintian -i -I deb/libtie-handle-csv-perl_0.15-1+ping1_all.deb sudo reprepro -b /srv/reprepro-neu include wheezy deb/libtie-handle-csv-perl_0.15-1+ping1_i386.changes
exim4
- §113a support
apt-cache madison exim4-daemon-heavy apt-get source exim4-daemon-heavy cd exim4-4.69/debian/patches vi 50_localscan_dlopen.dpatch comment visibility statements (CFLAGS, local_scan.h) cd ../.. dch --no-auto-nmu -i exim4 (4.69-9+ping1) lenny; urgency=low dpkg-buildpackage -rfakeroot -S cd .. debdiff exim4_4.69-9.dsc exim4_4.69-9+ping1.dsc pbuilder-lenny build exim4_4.69-9+ping1.dsc sudo mkdir -p /srv/reprepro-neu/pool/local/e/exim4 sudo cp /home/bodo/deb/exim4_4.69.orig.tar.gz /srv/reprepro-neu/pool/local/e/exim4/ sudo reprepro -b /srv/reprepro-neu include lenny /home/bodo/deb/deb/exim4_4.69-9+ping1_i386.changes
amd64
dget http://donotdisturb.ping.de/pingian/pool/local/e/exim4/exim4_4.69-9+ping1.dsc pbuilder-lenny build exim4_4.69-9+ping1.dsc scp deb/exim*deb donotdisturb:deb/deb sudo reprepro -b /srv/reprepro-neu includedeb lenny ~bodo/deb/deb/exim*deb
libcgi-lite-perl
- no changes
dh-make-perl --cpan CGI::Lite cd CGI-Lite-2.02/debian vi copyright remove auto-block insert copyright vi control remove auto part of package description vi changelog libcgi-lite-perl (2.02-1+ping1) lenny; urgency=low cd .. dpkg-buildpackage -rfakeroot -S cd .. pbuilder-lenny build libcgi-lite-perl_2.02-1+ping1.dsc lintian -i -I lintian -i -I deb/libcgi-lite-perl_2.02-1+ping1_all.deb dpkg -c deb/libcgi-lite-perl_2.02-1+ping1_all.deb sudo reprepro -b /srv/reprepro-neu include lenny ~bodo/deb/deb/libcgi-lite-perl_2.02-1+ping1_all.changes
libcgi-lite-perl (squeeze)
- no changes
wget http://search.cpan.org/CPAN/authors/id/S/SM/SMYLERS/CGI-Lite-2.02.tar.gz tar xzf CGI-Lite-2.02.tar.gz dh-make-perl CGI-Lite-2.02/ cd CGI-Lite-2.02/debian/ vi copyright remove DISCLAIMER Files: * Copyright: Smylers <smylers@cpan.org> License: Artistic or GPL-1+ vi control remove auto part of package description vi changelog libcgi-lite-perl (2.02-1+ping2) squeeze; urgency=low cd .. dpkg-buildpackage -rfakeroot -sa -S cd .. pbuilder-squeeze-i386 build libcgi-lite-perl_2.02-1+ping2.dsc lintian -i -I lintian -i -I deb/libcgi-lite-perl_2.02-1+ping2_all.deb sudo reprepro -b /srv/reprepro-neu include squeeze deb/libcgi-lite-perl_2.02-1+ping2_i386.changes
libcgi-lite-perl (wheezy)
- no changes
dget -u 'http://debian.ping.de/pingian/pool/local/libc/libcgi-lite-perl/libcgi-lite-perl_2.02-1+ping2.dsc' rm libcgi-lite-perl*ping2* cd libcgi-lite-perl-2.02/ dch --no-auto-nmu -i libcgi-lite-perl (2.02-1+ping3) wheezy; urgency=low * Rebuilt for wheezy, no source changes. dpkg-buildpackage -rfakeroot -sa -S cd .. pbuilder-wheezy-i386 build --debbuildopts "-b" libcgi-lite-perl_2.02-1+ping3.dsc lintian -i -I lintian -i -I deb/libcgi-lite-perl_2.02-1+ping3_all.deb sudo reprepro -b /srv/reprepro-neu include wheezy deb/libcgi-lite-perl_2.02-1+ping3_i386.changes
wwwcount
- no changes
wget http://www.muquit.com/muquit/software/Count/src/wwwcount2.5/wwwcount2.5.tar.gz mv wwwcount2.5.tar.gz wwwcount_2.5.orig.tar.gz tar xzf wwwcount_2.5.orig.tar.gz mv wwwcount2.5 wwwcount-2.5 cd wwwcount-2.5 dh_make -s -c gpl cd debian ## edit files, remove unnessesary files cd .. dpkg-buildpackage -rfakeroot -S cd .. pbuilder-lenny build wwwcount_2.5-1+ping1.dsc lintian -i -I lintian -i -I deb/wwwcount_2.5-1+ping1_i386.deb dpkg -c deb/wwwcount_2.5-1+ping1_i386.deb sudo reprepro -b /srv/reprepro-neu include lenny ~bodo/deb/deb/wwwcount_2.5-1+ping1_i386.changes
wwwcount (squeeze)
- no changes
dget -u 'http://debian.ping.de/pingian/pool/local/w/wwwcount/wwwcount_2.5-1+ping1.dsc' rm wwwcount*ping1* cd wwwcount-2.5/ dch --no-auto-nmu -i wwwcount (2.5-1+ping2) squeeze; urgency=low * Rebuilt for squeeze, no source changes dpkg-buildpackage -rfakeroot -sa -S cd .. pbuilder-squeeze-i386 build --debbuildopts "-b" wwwcount_2.5-1+ping2.dsc pbuilder-squeeze-amd64 build --debbuildopts "-B" wwwcount_2.5-1+ping2.dsc sudo reprepro -b /srv/reprepro-neu include squeeze deb/wwwcount_2.5-1+ping2_i386.changes sudo reprepro -b /srv/reprepro-neu include squeeze deb/wwwcount_2.5-1+ping2_amd64.changes
wwwcount (wheezy)
- no changes
dget -u 'http://debian.ping.de/pingian/pool/local/w/wwwcount/wwwcount_2.5-1+ping1.dsc' rm wwwcount*ping1* cd wwwcount-2.5/ dch --no-auto-nmu -i wwwcount (2.5-1+ping3) wheezy; urgency=low * Rebuilt for wheezy, no source changes. dpkg-buildpackage -rfakeroot -sa -S cd .. pbuilder-wheezy-i386 build --debbuildopts "-b" wwwcount_2.5-1+ping3.dsc pbuilder-wheezy-amd64 build --debbuildopts "-B" wwwcount_2.5-1+ping3.dsc sudo reprepro -b /srv/reprepro-neu include wheezy deb/wwwcount_2.5-1+ping3_i386.changes sudo reprepro -b /srv/reprepro-neu include wheezy deb/wwwcount_2.5-1+ping3_amd64.changes
apache2 Backport
- no changes
dget http://ftp.de.debian.org/debian/pool/main/a/apache2/apache2_2.2.14-2.dsc cd apache2-2.2.14 vi debian/control remove version from libapr1-dev in Build-Deps: dch -i apache2 (2.2.14-2+ping1) lenny; urgency=low dpkg-buildpackage -rfakeroot -S cd .. screen pbuilder-lenny build apache2_2.2.14-2+ping1.dsc sudo reprepro -b /srv/reprepro-neu include lenny ~bodo/deb/deb/apache2_2.2.14-2+ping1_i386.changes
majordomo (squeeze)
- no changes
dget -u 'http://debian.ping.de/pingian/pool/local/m/majordomo/majordomo_1.94.5-0+ping1.dsc' rm majordomo*ping1* cd majordomo-1.94.5/ dch --no-auto-nmu -i majordomo (1.94.5-0+ping2) squeeze; urgency=low * Rebuilt for squeeze, no source changes dpkg-buildpackage -rfakeroot -sa -S cd .. pbuilder-squeeze-i386 build --debbuildopts "-b" majordomo_1.94.5-0+ping2.dsc pbuilder-squeeze-amd64 build --debbuildopts "-B" majordomo_1.94.5-0+ping2.dsc sudo reprepro -b /srv/reprepro-neu include squeeze deb/majordomo_1.94.5-0+ping2_i386.changes sudo reprepro -b /srv/reprepro-neu include squeeze deb/majordomo_1.94.5-0+ping2_amd64.changes
majordomo (wheezy)
- no changes
dget -u 'http://debian.ping.de/pingian/pool/local/m/majordomo/majordomo_1.94.5-0+ping1.dsc' rm majordomo*ping1* patch -p0 < majordomo-perl.patch cd majordomo-1.94.5/ dch --no-auto-nmu -i majordomo (1.94.5-0+ping3) wheezy; urgency=low * Rebuilt for wheezy, no source changes dpkg-buildpackage -rfakeroot -S cd .. pbuilder-wheezy-i386 build majordomo_1.94.5-0+ping3.dsc pbuilder-wheezy-amd64 build majordomo_1.94.5-0+ping3.dsc sudo reprepro -b /srv/reprepro-neu include wheezy deb/majordomo_1.94.5-0+ping3_i386.changes sudo reprepro -b /srv/reprepro-neu include wheezy deb/majordomo_1.94.5-0+ping3_amd64.changes
logcheck-database-ping
git clone git+ssh://leary.ping.de/srv/git/logcheck-database-ping.git cd logcheck-database-ping dch --no-auto-nmu -i git commit -a git push dpkg-buildpackage -rfakeroot -us -uc cd .. sudo reprepro -b /srv/reprepro-neu include stretch logcheck-database-ping_*.changes