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