Recompilation de paquets sous debian
Par Manico, mercredi 18 avril 2007 à 16:35 :: [Dédiés] Distributions :: #183 :: rss
Il arrive parfois que l'on désire recompiler un paquet debian (modification d'options, de librairies, etc...), ce qui reste plus propre que de refaire une compilation manuelle du logiciel. Voici une explication rapide.
Afin de recompiler un paquet, il suffit de s'en procurer les sources, faires les modifications necessaires, puis recompiler et installer.
Récupération des sources
Tout d'abord, il est préférable de se placer dans un répertoire qui regroupe les sources :
cd /usr/src
Ensuite, récupérons les sources du paquet :
apt-get source nomdupaquet
Note : cette commande peut récupérer d'autres sources d'autre paquet, dans le cas ou les sources sont communes (exemple : php4-mysql est un paquet qui a pour source l'ensemble de php4)
Modifications
Ceci varit un peu selon les paquets, mais généralement, il suffit d'aller dans le répertoire des sources ainsi créer et de modifier le code source approprié.
Dans le cas d'options de configuration, il suffit de modifier le fichier debian/rules .
Notez également que beaucoup de paquets présentent un répertoire debian/patches qui contient des modifications appliquées au sources de bases. Il faut donc vérifier que vos modifications n'entre pas en conflit avec ces patchs. Il est d'ailleur conseillé de faire vos modifications sous forme de patchs, ainsi le portage sur des versions ultérieurs sera plus facile.
Recompilation
Pour la recompilation, rien de plus simple :
fakeroot dpkg-buildpackage
Installation
En revenant dans le répertoire regroupant les sources, vous trouverez un ou plusieurs paquets .deb issus de la compilation.
Pour les installer, il faut alors utiliser dpkg :
dpkg -i nomdupaquet-version.deb
Certains paquets dependent les uns des autres (par exemple les paquets de php4-xxxxx vont nécessiter php4-common), dans ce cas il suffit de spécifier plusieurs fichiers .deb a la suite les uns des autres dans la ligne de commande précédente.
Attention aux mises à jour
Attention cependant, lors des mises à jour via apt-get, une nouvelle version des paquets du logiciel pourrait remplacer la votre. Il est donc necessaire de marquer les paquets comme ne devant pas etre mis à jour automatiquement. Ceci peut se faire via la commande suivante :
aptitude hold nomdupaquet
Commentaires
Aucun commentaire pour le moment.
Ajouter un commentaire