Table of Contents

CENTOS: Contruction de paquets RPM Correctifs ou Patches

Afin de conserver les sources originales du programme empaqueté, si des modifications sont nécessaires, il faut utiliser des correctifs (encore appelés “patches” en anglais):

Procédure pour la création d'un correctif

Faire une copie de sauvegarde du fichier à modifier (on lui ajoute un extension explicite et unique, par exemple .max_ext)

$ cp fichier fichier.max_ext

Modifie l'original (celui qui s'appelle 'fichier') comme on le désire

Génèrer un fichier de correctif avec gendiff :

$ cd ~/rpmbuild/BUILD
$ gendiff dossier .max_ext > ../SOURCES/nom_du_soft-version-max_ext.patch

Utilisation d'un correctif

Indiquer dans le fichier SPEC qu'il faut ajouter le fichier de correctif :

...
Patch0:		%{name}-0.10-max_ext.patch  //On donne le nom du correctif
...
%prep
%setup -q
%patch0 -p1 -b .max_prefix  //On l'applique
...

-b ne doit être utilisé que sur des sources.

L'intérêt de désigner l'extension se révèle lorsqu'un correctif doit être appliquer sur plusieurs fichiers, et qu'il y a plusieurs problèmes à corriger.

Voici un exemple pour clarifier la chose :

Soit 10 fichiers : f0, f1, .., f9 ; et deux problèmes à corriger.

On applique deux fois gendiff, comme vu plus haut. On obtient deux fichiers de correctif. Un par problème, chacun modifie plusieurs fichiers. Ainsi, malgré la complexité du problème on conserve un fichier SPEC propre et simple.

Quand utiliser un correctif ?

Il est déconseillé d'utiliser des correctifs pour des taches simples telles que :