On souhaite backporter un package de testing vers la stable. En l'occurrence, pour notre exemple on prendra le package python-numpy pour illustrer les manipulations.
Prérequis¶
Forger un paquet debian, peut parfois prendre des allures de champs de bataille, surtout lorsque le paquet en question a un certain nombre de dépendance.Pour cloisonner le travail, je vous propose d'utiliser deboostrap.
On créer un environnement :
#!bash
apt-get install debootstrap
debootstrap --arch amd64 wheezy ~/dbs-builddeb http://ftp.fr.debian.org/debian/
On se chroot dans le debootstrap
:
#!bash
chroot dbs-builddeb
Nous allons avoir besoin de quelques outils de développement, que nous installons :
#!bash
apt-get install devscripts build-essential dh-buildinfo
echo "export LANG=C" >> ~/.bashrc
Howto par l'exemple¶
On configure apt dans /etc/apt/source.list, tel que :
## Wheezy
deb http://ftp.fr.debian.org/debian wheezy main
deb-src http://ftp.fr.debian.org/debian wheezy main
# wheezy-backports
deb http://ftp.fr.debian.org/debian wheezy-backports main contrib non-free
## Jessie
#deb http://ftp.fr.debian.org/debian jessie main
deb-src http://ftp.fr.debian.org/debian jessie main
On update le tout
apt-get update
On récupère les sources
apt-get source python-numpy
On récupère les dépendances, que l'on installe
apt-get build-dep python-numpy
On compile le code source
cd python-numpy-1.8.1
dch -i
python-numpy (1:1.8.1-1~etalabbpo70+1) unstable; urgency=low
* Non-maintainer upload.
* Backport to wheezy.
-- Felix Defrance <felix.defrance@data.gouv.fr> Thu, 10 Apr 2014 14:22:32 +0000
dpkg-buildpackage -tc
C'est terminé ! On peut voir le package forgé dans le répertoire parent.
python-numpy_1.8.1-1~etalabbpo70+1.debian.tar.gz
python-numpy_1.8.1-1~etalabbpo70+1_amd64.deb
python-numpy_1.8.1-1~etalabbpo70+1.dsc
python-numpy_1.8.1-1~etalabbpo70+1_amd64.changes
Installation du package¶
Pour une utilisation personnelle un dpkg -i suffira, sinon on ajoutera le package à un depot spécifiquement établi pour l'occasion par exemple.