Rpmbuild avec modifications (ajout de patch)
Révision datée du 17 juillet 2018 à 15:42 par Toine (discussion | contributions)
Voir https://wiki.centos.org/HowTos/RebuildSRPM .
Sommaire
- 1 installer le rpm source
- 2 trouver le fichier à modifier
- 3 copier le fichier origine avant de le modifier
- 4 modifier le fichier repertoire-package/fichier.nompatch
- 5 créer le fichier de patch avec diff:
- 6 éditer mypackage.spec et ajouter la définition du nouveau patch
- 7 fabriquer le package modifié
installer le rpm source
puis extraire les sources:
$ rpm -i mypackage.src.rpm $ cd ~/rpmbuild/SPECS/ rpmbuild -bp mypackage.spec
trouver le fichier à modifier
Dans l'arborescence extraite sous ~/rpmbuild/BUILD/ :
$ cd ~/rpmbuild/BUILD/ $ find . -name "fichier-origine"
copier le fichier origine avant de le modifier
$ cp repertoire-package/fichier-origine repertoire-package/fichier.nompatch
modifier le fichier repertoire-package/fichier.nompatch
créer le fichier de patch avec diff:
$ diff -Npru repertoire-package/fichier-origine repertoire-package/fichier.nompatch > ~/rpmbuild/SOURCES/nompatch.patch
editer le fichier .patch pour adapter les 3 premières lignes qui seront nécessaires à patch (cf man patch et options passées dans le fichier spec ci-dessous). A noter: patch va chercher le nom du fichier dans la 3eme ligne.
éditer mypackage.spec et ajouter la définition du nouveau patch
Voir dans le fichier pour un patch existant, il y a 2 entrées, par ex:
$ cd ~/rpmbuild/SPECS/ $ vi mypackage.spec ... Patch153: log2syslog.patch ... %patch153 -p1 -b .log2syslog ...
fabriquer le package modifié
$ rpmbuild -ba mypackage.spec