table of contents
rpmrebuild(1) | rpm tools | rpmrebuild(1) |
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¶
- -5 --md5-compat-digest
- passe en mode compatible avec les checksum de rpm 4.4 (md5)
- -a, --additional=<flags>
- passe des options (flags) spécifiques pour rpmbuild
- -b, --batch
- mode batch (ne pose pas de questions)
- --cap-from-db (default)
- utiliser les capacités posix définis dans la base rpm
- --cap-from-fs
- utiliser les capacités posix des fichiers installés (qui peuvent être différents de ceux enregistrés dans la base rpm à l'installation)
- -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é.
- -I, --install
- installe le package crée
- -k, --keep-perm
- alias de l'option --pug-from-fs
- -l, --list-plugin
- liste les plugins installés
- -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. force le mode "verbose"
- -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
--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-suggests=<command>
--edit-suggests
--change-spec-enhances=<command>
--edit-enhances
--change-spec-recommends=<command>
--edit-recommends
--change-spec-supplements=<command>
--edit-supplements
--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-pretrans=<command>
--edit-pretrans
--change-spec-postrans=<command>
--edit-postrans
--change-spec-verifyscript=<command>
--edit-verifyscript
--change-spec-changelog=<command>
--edit-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 :
se traduit dans un fichier d'inclusion par :
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é.
- RPMREBUILD_OPTS
- permet de passer des options à rpmrebuild, permet de changer les options par défaut (à utiliser avec precaution). Par exemple, pour activer le plugin un_prelink, il suffit de configurer RPMREBUILD_OPTS="--include un_prelink.plug"
- 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: reconstruire 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 <eric.gerbier@tutanota.com>
Valery Reznic <valery_reznic@users.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.
COPYRIGHT¶
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.
2.18 | Eric Gerbier |