Manchmal sind Pakete aus testing oder unstable genau die Versionen, die man benötigt. Daher ist im folgenden beschrieben, wie man diese in seine “stable” Version integrieren kann, und zwar so, dass noch alle Libraries stimmen...
Es werden die Dateien .dsc , .tar.gz und .diff benötigt.
tirili@orad01:/usr/src/pkg/libnet-ldap-perl$ dpkg-source -x libnet-ldap-perl_0.39-1.dsc gpg: new configuration file `/home/tirili/.gnupg/gpg.conf' created gpg: WARNING: options in `/home/tirili/.gnupg/gpg.conf' are not yet active during this run gpg: Signature made Sun 02 Nov 2008 03:21:02 PM CET using DSA key ID 00F3CFE4 gpg: Can't check signature: public key not found dpkg-source: extracting libnet-ldap-perl in libnet-ldap-perl-0.39 dpkg-source: info: unpacking libnet-ldap-perl_0.39.orig.tar.gz dpkg-source: info: applying libnet-ldap-perl_0.39-1.diff.gz
Jetzt ist der Tree ausgepackt, kann bearbeitet oder einfach neu compiliert werden.
tirili@orad01:/usr/src/pkg/libnet-ldap-perl$ ll total 276 drwxr-xr-x 9 tirili tirili 4096 2009-07-03 20:27 libnet-ldap-perl-0.39 -rw-r--r-- 1 tirili tirili 4796 2008-11-02 15:32 libnet-ldap-perl_0.39-1.diff.gz -rw-r--r-- 1 tirili tirili 1519 2008-11-02 15:32 libnet-ldap-perl_0.39-1.dsc -rw-r--r-- 1 tirili tirili 259143 2008-11-02 15:32 libnet-ldap-perl_0.39.orig.tar.gz tirili@orad01:/usr/src/pkg/libnet-ldap-perl$ cd libnet-ldap-perl-0.39/
tirili@orad01:/usr/src/pkg/libnet-ldap-perl/libnet-ldap-perl-0.39$ dpkg-buildpackage -rfakeroot -b dpkg-buildpackage: set CFLAGS to default value: -g -O2 dpkg-buildpackage: set CPPFLAGS to default value: dpkg-buildpackage: set LDFLAGS to default value: dpkg-buildpackage: set FFLAGS to default value: -g -O2 dpkg-buildpackage: set CXXFLAGS to default value: -g -O2 dpkg-buildpackage: source package libnet-ldap-perl dpkg-buildpackage: source version 1:0.39-1 dpkg-buildpackage: source changed by Ansgar Burchardt <ansgar@43-1.org> dpkg-buildpackage: host architecture amd64 dpkg-checkbuilddeps: Unmet build dependencies: debhelper (>= 7) quilt (>= 0.40) libauthen-sasl-perl libxml-sax-perl libxml-sax-writer-perl dpkg-buildpackage: warning: Build dependencies/conflicts unsatisfied; aborting. dpkg-buildpackage: warning: (Use -d flag to override.) tirili@orad01:/usr/src/pkg/libnet-ldap-perl/libnet-ldap-perl-0.39$
Oha, noch ein paar dependencies lösen...
aptitude install debhelper quilt libauthen-sasl-perl libxml-sax-perl libxml-sax-writer-perl
Und weiter gehts.
tirili@orad01:/usr/src/pkg/libnet-ldap-perl/libnet-ldap-perl-0.39$ dpkg-buildpackage -rfakeroot -b dpkg-buildpackage: set CFLAGS to default value: -g -O2 dpkg-buildpackage: set CPPFLAGS to default value: ... dpkg-deb: building package `libnet-ldap-perl' in `../libnet-ldap-perl_0.39-1_all.deb'. dpkg-genchanges -b >../libnet-ldap-perl_0.39-1_amd64.changes dpkg-genchanges: binary-only upload - not including any source code signfile libnet-ldap-perl_0.39-1_amd64.changes gpg: keyring `/home/tirili/.gnupg/secring.gpg' created gpg: skipped "Ansgar Burchardt <ansgar@43-1.org>": secret key not available gpg: [stdin]: clearsign failed: secret key not available dpkg-buildpackage: binary only upload (no source included) dpkg-buildpackage: warning: Failed to sign .changes file
Jetzt können die Pakete installiert werden.
paketname=PAKET export paketname apt-get source paketname apt-get build-dep paketname time dpkg-buildpackage -rfakeroot -uc -b 2>&1 | tee ../paketname.log