Mémo Debian & VDR

Poster un message

En réponse à :

Recompiler un paquet avec les sources Debian

dimanche 16 septembre 2007 par Michaël, eRen

Recompilation d’un paquet Debian pour y ajouter une fonctionnalité non inclue par défaut ou en supprimer.

Exemple : Recompilation de openssl avec le support de idea non inclu par défaut.

Pré-requis

Avoir des lignes deb-src dans votre sources.list comme ceci :

# Depot officiel Debian (Version Stable)
deb-src http://ftp.fr.debian.org/debian/ stable main contrib non-free

# Depot de securite Debian (Version Stable)
deb-src http://security.debian.org/ stable/updates main contrib non-free

# Depot officiel Debian (Version Testing)
deb-src http://ftp.fr.debian.org/debian/ testing main contrib non-free

# Depot de securite Debian (Version Testing)
deb-src http://security.debian.org/ testing/updates main contrib non-free

# Depot officiel Debian (Version Unstable)
deb-src http://ftp.fr.debian.org/debian/ unstable main contrib non-free

Installation des pré-requis

aptitude install dpkg-dev devscripts build-essential debhelper fakeroot

Installation des pré-requis pour notre paquet openssl

aptitude build-dep openssl

Utilisez apt-get si vous l’utilisez en règle général.

Téléchargement des sources depuis les dépôts officiels

cd /usr/local/src/
mkdir openssl
cd openssl
apt-get source openssl

Modification du script de compilation

cd openssl-*
vi debian/rules

Supprimer no-idea sur la ligne suivante :

CONFARGS = —prefix=/usr —openssldir=/usr/lib/ssl no-idea no-mdc2 no-rc5 zlib

Changer le numéro de version

dch -v "$(dpkg-parsechangelog --format dpkg | grep '^Version' | sed 's/^Version: \(.*\)$/\1b/')" "Activation idea"

Rajouter un b à la fin du numéro de version pour la différencier de la version officiel ainsi qu’un commentaire dans le fichier changelog

Création du nouveau paquet deb

dpkg-buildpackage -rfakeroot -us -uc

Installation du nouveau paquet

cd ..
dpkg -i libssl0.9.8_0.9.8c-4_i386.deb libssl-dev_0.9.8c-4_i386.deb openssl_0.9.8c-4_i386.deb

Bloquer les mises à jours sur ces paquets

Il faudra aussi bloquer la mise à jour de ces paquets avec le fichier preferences de apt.

Je continue toujours sur mon exemple, je vais donc bloquer les mises à jour pour les paquets libssl0.9.8 libssl-dev et openssl.

Créer ou modifier le fichier preferences présent dans /etc/apt/ pour y ajouter ceci

Package: openssl
Pin: version 0.9.8e-4b
Pin-Priority: 1001

Package: libssl-dev
Pin: version 0.9.8e-4b
Pin-Priority: 1001

Package: libssl0.9.8
Pin: version 0.9.8e-4b
Pin-Priority: 1001

Les numéros de version et les noms de packages seront à adapter selon ce que vous recompilez et le numéro de version que vous aurez indiqué.

Bonne compilation


modération a priori

Ce forum est modéré a priori : votre contribution n’apparaîtra qu’après avoir été validée par un administrateur du site.

Qui êtes-vous ?
Se connecter
Votre message

Pour créer des paragraphes, laissez simplement des lignes vides.

Lien hypertexte

(Si votre message se réfère à un article publié sur le Web, ou à une page fournissant plus d’informations, vous pouvez indiquer ci-après le titre de la page et son adresse.)

Ajouter un document

Accueil | Contact | Plan du site | | Statistiques du site | Visiteurs : 159021

Suivre la vie du site fr    ?

Site réalisé avec SPIP 3.2.1 + AHUNTSIC

Website Security Test Statistique réalisée avec CrawlTrack: free visitors and crawlers tracking script- SEO script - script gratuit de statistiques web

Hébergement par l'autre net et ma propre infra.

Creative Commons License

Visiteurs connectés : 5