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
