Scroll to navigation

rpmrebuild_plugins(1) rpm tools rpmrebuild_plugins(1)

NAME

rpmrebuild_plugins - système de greffons (plugins) pour étendre les fonctions de rpmrebuild.

SYNOPSIS

rpmrebuild [non-plugins-option] [plugins-option] <packagename>

DESCRIPTION

rpmrebuild essaie de reconstruire le package rpm le plus proche de l'original possible.

dans certains cas, cela ne correspond pas au besoins de modification des rpm, il faut utiliser pour cela les plugins.

RPMREBUILD SANS PLUGINS

Sans plugin, le processus de construction est le suivant :

interrogation de la base rpm sur le package à reconstruire, découpée en plusieurs sections.
création du fichier specfile à partir des sections recupérées.
fabrication du fichier rpm à partir du fichier specfile.

RPMREBUILD AVEC PLUGINS

Quand on utilise des plugin, le processus devient :

interrogation de la base rpm sur le package à reconstruire, découpée en plusieurs sections.
applique les filtres ou edite les sections spécifiées.
création du fichier specfile à partir des sections récupérées.
applique les filtre ou edite le fichier specfile.
fabrication du fichier rpm à partir du fichier specfile.

SECTION DU SPECFILE

L'interrogation récupère les sections suivantes :


preamble
conflicts
obsoletes
provides
requires
description
files
triggers
pre
post
preun
postun
verifyscript
changelog

CONCATENATION DU SPECFILE

crée le fichier specfile complet à partir des sections précédentes. Les étapes sont :

ajouter les tags AutoReq / AutoProv
ajouter le tag BuildRoot
ajouter quelques définitions pour ajuster le comportement de rpm
doubles les '%', afin d'eviter que rpm ne les interprète comme des macros.
ajouter '%description' avant la section description
ajouter '%files' avant la section des fichiers
ajouter '%changelog' avant la section des changements ( changelog )

LES TYPES DE PLUGINS

la fabrication de package utilise deux entrées : un fichier specfile, et des fichiers dans l'arborescence buildroot. Il y a donc deux types de plugins :

INTERFACE DES PLUGIN

Les plugin sont exécuté après les interrogations rpm et avant la fabrication du package, dans l'ordre spécifié dans la ligne de commande.

Les plugin doivent se terminer avec un code de sortie 0 en cas de succès, n'importe quelle autre valeur en cas d'echec.
Les plugins utilisent les variables suivantes:
répertoire des fichiers temporaires. il sera supprimé par rpmrebuild en fin de travail.
répertoire des plugins.
Si positionné à 'yes' (oui), les fichier manquants sont commentés dans le fichier specfile.
Si positionné à 'yes' (oui), les permissions, le proprietaire (uid), le groupe (gid) sont identiques à ceux des fichiers installés, sinon ils sont ceux enregistrés dans la base rpm.
Si positionné à 'yes' (oui), produit des avertissement si des fichiers contiennent des caractères d'expension (* ? ).
Il est positionné à $RPMREBUILD_PLUGINS_DIR:$PATH
contient le nom de l'option (sans --) qui a déclenché le plugin.
Pour les plugins qui modifient les fichiers, est positionné à buildroot. Pour les autres : vide.
les plugins qui modifient le fichier specfile (option --spec-hange-*) lisent le specfile sur stdin et écrivent le résultat sur stdout. stdout.

EXEMPLES DE PLUGINS

Plusieurs plugins sont fournis à titre d'exemples :

CONVENTION DE NOMMAGE DES PAGES MAN de plugins

Si vous écrivez des plugin, vous êtes encouragés à suffixer les pages de manuel en .1rrp, afin que la commande 'man -k rrp' fournisse la liste des plugins pour rpmrebuild installés. Attention, la commande makewhatis doit être lancé pour que les nouvelles pages soient prises en compte.

AUTHORS

Eric Gerbier <eric.gerbier@tutanota.com>
Valery Reznic <valery_reznic@users.sourceforge.net>

URL:http://rpmrebuild.sourceforge.net/>.

SEE ALSO

rpm(8), rpmbuild(8), rpmrebuild(1), demofiles.plug(1), demo.plug(1), nodoc.plug(1), uniq.plug(1), file2pacDep.plug(1), set_tag.plug(1), unset_tag.plug(1),
'man -k rrp' pour la doc sur les plugins fournis.

2.17 Valery Reznic