= 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 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 }}}