rpmrebuild

Autres langues

Langue: fr

Version: 145594 (fedora - 04/07/09)

Section: 1 (Commandes utilisateur)

NAME

rpmrebuild - un outil pour construire un package rpm à partir d'un package installé

SYNOPSIS

rpmrebuild [option] <nom_de_package>

DESCRIPTION

rpmrebuild est un outil pour construire facilement un package rpm. Il peut être utilisé pour fabriquer un fichier rpm à partir d'un package installé ou pour modifier un package : modifiez les fichiers installés et lancez rpmrebuild.

OPTIONS

-a, --additional=<flags>
passe des options (flags) spécifiques pour rpmbuild
-b, --batch
mode batch (ne pose pas de questions)
-c, --comment-missing=<yes|no>
commente les fichiers manquants dans le fichier specfile. Defaut: no (non).
-D, --define=<defines>
définition(s) à passer au programme rpmbuild.
-d, --directory=<directory>
répertoire du package rpm package résultat.
-e, --edit-spec
alias de l'options --edit-whole.
-f, --filter=<command>
alias de l'option --change-spec-whole
-h, --help
affiche une aide sur le programme (sauf les plugins), puis sort.
--help-plugins
affiche une aide sur les plugins, puis sort.
-i, --include=<file>
lit les options dans le fichier 'file' indiqué.
-k, --keep-perm
alias de l'option --pug-from-fs
-m, --modify=<command>
alias de l'option --change-files
-n, --notest-install
ne pas tester l'installation à la fin de la construction du package.
-p, --package
travailler sur un fichier rpm, au lieu d'un package installé (comme l'option -p de la commande rpm)
--pug-from-db (default)
donner aux fichier les droits, uid, gid identiqued à ceux enregistrés dans la base rpm
--pug-from-fs
conserver les droits, uid, gid des fichiers installés (qui peuvent être différents de ceux enregistrés dans la base rpm à l'installation)
-P, --autoprovide
demande à rpm de calculer automatiquement les capacités (ce que fournit le package)
-R, --autorequire
demande à rpm de calculer automatiquement les dépendances
-r, --release=<version>
specifie le nouveau numéro de release du package à fabriquer
-s, --spec-only=<specfile>
ne fabriquer que le fichier specfile (ne pas contruire le package) Ne peut être utilisé avec l'option --change-files.
-v, --verbose
mode verbeux
--debug
pour le debuggage : ne supprime pas les fichiers temporaires en fin de travail
-V, --version
affiche la version du programme et se termine.
-w, --warning
affiche des avertissements si il détecte des problèmes potentiels (par exemple, des noms de fichiers contenant des caractères * ? )
-y, --verify=<yes|no>
affiche (oui/non) les modifications du package avant le travail proprement dit. Defaut: yes (oui). Le mettre à non permet de gagner en performance.

PLUGINS OPTION

les fonctionnalités de rpmrebuild peuvent être étendues avec des plugins (greffons). Ces plugins sont cherchés dans /usr/lib/rpmrebuild/plugins , puis dans le $PATH

--change-files=<command>
Appelle le plugin indiqué pour modifier les fichiers du package. Note : les fichiers sont copiés dans un répertoire temporaire, les fichiers d'origine (installés) ne sont donc pas modifiés)
Ne peut être utilisé avec l'option --spec-only

--change-spec-whole=<command>
--edit-whole

Appelle le plugin (respectivement l'éditeur) pour modifier l'ensemble du fichier specfile.

--change-spec-preamble=<command>
--edit-preamble

--change-spec-conflicts=<command>
--edit-conflicts

--change-spec-obsoletes=<command>
--edit-obsoletes

--change-spec-provides=<command>
--edit-provides

--change-spec-requires=<command>
--edit-requires

--change-spec-description=<command>
--edit-description

--change-spec-files=<command>
--edit-files

--change-spec-triggers=<command>
--edit-triggers

--change-spec-pre=<command>
--edit-pre

--change-spec-post=<command>
--edit-post

--change-spec-preun=<command>
--edit-preun

--change-spec-postun=<command>
--edit-postun

--change-spec-verifyscript=<command>
--edit-verifyscript

--change-spec-changelog=<command>
--edit-changelog

Appelle le plugin (respectivement l'éditeur) pour modifier les sections du fichier specfile : preamble, conflicts, obsoletes, provides, requires, description, files, triggers, preinstall, postinstall, preuninstall, postuninstall, verifyscript ou changelog.
Aucune des ces options ne peut être spécifié après les options --change-spec-whole
ou --edit-whole.

INCLUDE FILES

Chacune des options (format long) peut être donnée en argument de la ligne de commande ou dans un fichier inclus (donné avec l'option -i/--include)

Les fichiers inclus sont aussi cherchés dans le répertoire /usr/lib/rpmrebuild/plugins.

La syntaxe de ces fichiers est la suivante :

comments
Toutes les lignes commençant par un # (précédé ou non par des espaces) est un commentaire.
empty line
les lignes vides sont ignorées.
option line
Les lignes contenant les options sont semblables aux options passées en ligne de commande, avec les limitations suivantes :
option longue
elles doivent être utilisées sans le prefixe --.
argument des option
ils ne doivent pas être entourés d'apostrophes.
separateur
- les arguments doivent être séparés des options par des espaces ou des tabulations, pas par le signe "="
arguments obligatoires
le nom du package (argument obligatoire) ne peut être passé par un fichier d'inclusion.

par exemple, la ligne de commande suivante :

rpmrebuild --change-files="pgm1 a b c" --change-spec-pre="pgm2 bb" pkg

se traduit dans un fichier d'inclusion par :

change-files pgm1 a b c
change-spec-pre pgm2 bb

FILES

~/.rpmmacros
ce fichier est utilisé par rpm lors de la construction de packages (macros)
$RPMREBUILD_TMPDIR/work
répertoire des fichiers temporaires.

ENVIRONMENT

RPMREBUILD_TMPDIR
donne le répertoire pour les fichiers temporaires. S'il n'est pas positionné, le répertoire ~/.tmp/rpmrebuild.$$ est utilisé.
VISUAL
permet de spécifier un éditeur de fichier.
EDITOR
peut aussi être utilisé pour spécifier un editeur de fichier, si VISUAL n'est pas initialisé. Si aucune de ces variables n'est initialisé, rpmrebuild utiliseras vi.

EXAMPLES

Construire un package rpm aussi proche que possible de l'original :

rpmrebuild --batch package

Construire un package modifié :

rpmrebuild --keep-perm package

Construire un rpm à partir d'un fichier rpm en y appliquant un filtre :

rpmrebuild --package --filter filter /some/place/package.rpm

Passer des options pour rpm: recontruire et signer le package bash

rpmrebuild --additional "--sign" bash

reconstruire un package compatible avec rpm version 3 (legacy)

rpmrebuild --additional "--nodirtokens" package

Donner un nom pour le fichier rpm généré:

rpmrebuild --define "_rpmfilename %%{NAME}.rpm" bash

Modification interactive du package:

rpmrebuild --package --change-files="/bin/bash" /some/place/package.rpm

Modification batch du package :

rpmrebuild --package --change-files "a.sh && b.sh" /some/place/package.rpm

Si vous connaissez la syntaxe des fichier specfile, vous pouvez les éditer "au vol" :

rpmrebuild --edit-whole package

changement en mode batch de la version

rpmrebuild --change-spec-preamble='sed -e "s/^Version:.*/Version: VotreVersion/"' Package

AUTHORS

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

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

NOTES

rpmrebuild ne peut reproduire exactement un package, car

- la signature gpg ne peut être appliquée
- le cheksum md5 ne peut correspondre avec l'original.
si un package contient des fichier avec des charactères d'expension (* .. ? ), il peut pas être traité par rpmrebuild.

rpmrebuild is copyright (C) 2002 by Eric Gerbier.
Ce programme est distribué sous la licence GNU General Public.
Il est fourni en l'état, sans garanties : même avec le plus grand soin, des bug peuvent subsister.
Consultez le fichier COPYING pour plus de details.

SEE ALSO

rpm(8), rpmbuild(8), rpmrebuild_plugins(1), 'man -k rrp' pour la doc sur les plugins.