Rpmbuild avec modifications (ajout de patch) : Différence entre versions
m |
m |
||
| Ligne 1 : | Ligne 1 : | ||
Voir https://wiki.centos.org/HowTos/RebuildSRPM . | Voir https://wiki.centos.org/HowTos/RebuildSRPM . | ||
| − | + | ==installer le rpm source== | |
| + | puis extraire les sources: | ||
$ rpm -i mypackage.src.rpm | $ rpm -i mypackage.src.rpm | ||
$ cd ~/rpmbuild/SPECS/ | $ cd ~/rpmbuild/SPECS/ | ||
rpmbuild -bp mypackage.spec | rpmbuild -bp mypackage.spec | ||
| − | + | ==trouver le fichier à modifier== | |
| + | Dans l'arborescence extraite sous ~/rpmbuild/BUILD/ : | ||
$ cd ~/rpmbuild/BUILD/ | $ cd ~/rpmbuild/BUILD/ | ||
$ find . -name "fichier-origine" | $ find . -name "fichier-origine" | ||
| − | + | ==copier le fichier origine avant de le modifier== | |
$ cp repertoire-package/fichier-origine repertoire-package/fichier.nompatch | $ 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 | $ 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/ | $ cd ~/rpmbuild/SPECS/ | ||
$ vi mypackage.spec | $ vi mypackage.spec | ||
| Ligne 22 : | Ligne 27 : | ||
... | ... | ||
| − | + | ==fabriquer le package modifié== | |
$ rpmbuild -ba mypackage.spec | $ rpmbuild -ba mypackage.spec | ||
[[Category:Redhat]] | [[Category:Redhat]] | ||
[[Category:RPM]] | [[Category:RPM]] | ||
Version du 17 juillet 2018 à 15:42
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