Erstellen "eigener" Backports

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...

Quellen

Es werden die Dateien .dsc , .tar.gz und .diff benötigt.

dpkg-source

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/

dpkg-buildpackage

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.

Andere Vorgehensweise

paketname=PAKET
export paketname
apt-get source paketname
apt-get build-dep paketname
time dpkg-buildpackage -rfakeroot -uc -b 2>&1 | tee ../paketname.log
 
wissen/linux/debian/apt-build-dpkg-deb-from-source-dsc-to-binary.txt · Zuletzt geändert: 05.09.2010 20:31
 
Recent changes RSS feed Donate Valid XHTML 1.0 Valid CSS Recent cached RSS feed cacert-signed web site: inhalt.serviert.de