RPMBUILD(1) General Commands Manual RPMBUILD(1) NOM rpmbuild - Construction de paquet(s) RPM SYNOPSIS rpmbuild -bETAPE [options] FICHIER_SPEC ... rpmbuild -rETAPE [options] PAQUET_SOURCE ... rpmbuild -tETAPE [options] ARCHIVE_TAR ... rpmbuild {--rebuild|--recompile} [options] PAQUET_SOURCE ... DESCRIPTION rpmbuild sert a construire des paquets logiciels au format RPM, d'une maniere automatique et reiterable. Un paquet consiste en une archive de fichiers et de metadonnees utilisee pour installer et ecraser les fichiers d'archive. Les metadonnees comprennent des scripts d'aide, des attributs de fichier et une information descriptive du paquet. Les paquets sont de deux sortes : les paquets binaires utilises pour encapsuler les logiciels a installer et les paquets source contenant le code source et des recettes necessaires pour construire les paquets binaires. OPERATIONS -bETAPE Construire ETAPE a partir d'un fichier spec. -rETAPE Construire ETAPE a partir d'un paquet source RPM. -tETAPE Construire ETAPE a partir d'une archive tar(5). --rebuild, --recompile Alias de compatibilite pour -ra. Les paquets sont construits en quatre phases : analyse, construction, assemblage et nettoyage. Les deux phases centrales sont elles-memes divisees en etapes, listees ci-apres et qui peuvent etre realisees separement. Construire une ETAPE signifie executer toutes les etapes precedentes jusqu'a celle indiquee incluse, sauf declaration contraire autre part. Etapes d'assemblage Les etapes d'assemblage produisent les paquets et constituent la facon principale d'interagir avec rpmbuild. Dans le doute, choisir une des suivantes. a Construire les paquets source et binaires. Ce n'est pas reellement une etape, mais une combinaison des actions b et s, avec la difference que les paquets construits de cette facon integrent un << cookie >> pour indiquer qu'ils proviennent de la meme construction. En cas de succes, le repertoire de construction est supprime. b Construire uniquement les paquets binaires. En cas de succes, le repertoire de construction est supprime. r Construire uniquement le paquet source, en verifiant les dependances dynamiques de construction. Executer les etapes %prep et %generate_buildrequires avant la construction d'un paquet. Consulter la section DEPENDANCES DYNAMIQUES DE CONSTRUCTION pour plus de details. s Construire uniquement le paquet source. Aucune etape de construction n'est executee. Etapes de construction Ces etapes de construction produisent des artefacts de construction a empaqueter, classiquement a travers une application de correctifs et une compilation des sources, et en installant les binaires dans le buildroot. Ces etapes correspondent generalement aux sections spec telles que %prep, %build ou %install, mais certaines sont implicites. Construire ces etapes separement n'est en general utile que pour l'empaquetage au format RPM d'un nouveau logiciel ou en cas de probleme. Elles sont listees ci-apres dans leur ordre d'execution avec leur section spec correspondante entre parentheses lorsque cela est approprie. p (%prep) Decompresser les sources et appliquer tout correctif. d (%generate_buildrequires) Verifier les dependances dynamiques de construction et construire le paquet buildreqs.nosrc.rpm si une dependance est manquante. Ne rien construire d'autre. f (%conf) Configurer les sources. Cela implique generalement l'equivalent de ./configure. c (%build) Compiler les sources. Cela implique generalement l'equivalent de make. i (%install et %check) Installer les binaires dans la racine de construction. Cela implique generalement l'equivalent de make install et make check. l Realiser un << list check >> - la section %files du fichier spec est developpee en macros et des verifications sont faites pour chaque fichier existant. Cela necessite une construction precedente jusqu'a l'etape %install. ARGUMENTS FICHIER_SPEC Un fichier spec RPM. PAQUET_SOURCE Un paquet source RPM (avec une extension .src.rpm) ARCHIVE_TAR Une archive tar(5), facultativement compressee. Pour etre directement constructible avec rpmbuild(1), une archive doit contenir un fichier spec soit avec le nom Specfile, soit avec l'extension .spec. OPTIONS --build-in-place Construire a partir de sources recuperees localement dans le repertoire de travail actuel. L'arbre de construction est defini comme si %setup etait utilise, mais %builddir/%buildsubdir pointe vers le repertoire de travail actuel. %prep est totalement ignore. --clean Supprimer l'arbre de construction une fois les paquets fabriques (c'est le comportement par defaut). --nobuild Ne pas executer d'etape de construction. C'est utile pour le test de fichiers spec. --nocheck Ne pas executer l'etape de construction %check meme si elle est presente dans le fichier spec. --noclean Ne pas executer l'etape de construction %clean meme si elle est presente dans le fichier spec. --nodebuginfo Ne pas generer de paquets debuginfo. --nodeps Ne pas verifier les dependances de construction. --noprep Ne pas executer l'etape de construction %prep meme si elle est presente dans le fichier spec. Cela suppose qu'il y a un autre rpmbuild execute dans lequel %prep a deja ete execute. --rmsource Supprimer les sources apres la construction (cela peut etre utilise de maniere autonome, par exemple, rpmbuild --rmsource toto.spec). Notez que par definition, les fichiers NoSource et NoPatch ne sont pas des sources et par consequent ne sont pas affectes par cette option. --rmspec Supprimer le fichier spec apres la construction (cela peut etre utilise de maniere autonome, par exemple, rpmbuild --rmspec toto.spec). --rpmfcdebug Afficher des informations de debogage sur la classification de fichier et la generation de dependance. --scm=SCM Choisir le SCM a utiliser avec %autosetup si aucun n'est defini dans le fichier spec. Remarquez que cela n'autorise pas toutes les valeurs pour SCM, par exemple, patch (valeur par defaut) et gendiff, git ou quilt sont interchangeables avec tous les autres correctifs et options declares dans la ligne %autosetup, particulierement l'option -pN. --short-circuit Aller directement a l'etape indiquee (c'est-a-dire sauter toutes les etapes conduisant a l'etape indiquee). Cela est seulement autorise pour les options -bc, -bi et -bb. C'est utile seulement pour un test local. Les paquets construits de cette facon seront marques avec une dependance impossible de satisfaire pour empecher leur utilisation accidentelle. --with OPTION Activer l'OPTION de configuration specifiee pour la construction. --without OPTION Desactiver l'OPTION de configuration specifiee pour la construction. Consulter rpm-common(8) pour les options communes a toutes les operations. DEPENDANCES DYNAMIQUES DE CONSTRUCTION Quand l'etape %generate_buildrequires est executee et que certains des BuildRequires nouvellement generes ne sont pas satisfaits, rpmbuild cree un paquet source intermediaire dans buildreqs.nosrc.rpm qui possede les nouveaux BuildRequires, et quitte avec le code de retour 11. Ce paquet peut alors etre utilise a la place du paquet source original pour resoudre et installer les dependances de construction manquantes de la maniere habituelle, comme avec dnf-builddep(8). Plusieurs couches de dependances dynamiques de construction peuvent exister dans un fichier spec ; la presence de BuildRequires specifiques peut produire de nouveaux BuildRequires lors de la prochaine construction avec le meme paquet source. La facon la plus simple de s'assurer que toutes les dependances dynamiques de construction sont satisfaites est d'utiliser l'option -br, d'installer les nouvelles dependances du paquet buildreqs.nosrc.rpm et de recommencer la procedure entiere jusqu'a ce que rpmbuild ne quitte plus avec le code 11. Si l'option -br est couplee avec l'option --nodeps, le code de retour 11 est toujours renvoye et le paquet buildreqs.nosrc.rpm est toujours cree. ENVIRONNEMENT RPM_BUILD_NCPUS Cette variable d'environnement permet d'outrepasser l'autodetection du nombre de CPU pour utiliser les sections << parallelisees >> de la construction. CODE DE RETOUR En cas de succes, 0 est renvoye, autrement, un code d'echec different de zero est renvoye. Les paquets avec une section %generate_buildrequires renvoient un code 11 quand les dependances dynamiques de construction ne sont pas satisfaites. EXEMPLES rpmbuild --rebuild toto-1.0-1.src.rpm Construire les paquets source et binaire a partir du paquet source toto-1.0-1.src.rpm. rpmbuild -bb --nocheck --with openssl toto.spec Construire les paquets binaires a partir du fichier toto.spec, en omettant l'etape %check si presente et en activant la prise en charge de l'option de construction openssl (en supposant qu'une soit indiquee dans le fichier spec). rpmbuild -ta toto-2.0.tar.gz Construire les paquets source et binaire a partir de l'archive compressee toto-2.0.tar.gz, en supposant que l'archive contient un fichier spec valable (consulter ARCHIVE_TAR pour plus de details). rpmbuild -bc toto.spec Construire toto.spec jusqu'a l'etape %build incluse, c'est-a-dire sans produire reellement les paquets. rpmbuild -bi --short-circuit toto.spec Executer seulement l'etape %install de toto.spec, en omettant toutes les etapes precedentes. Cela suppose une execution precedente jusqu'a au moins l'etape %build (voir l'exemple precedent). C'est utile pour eviter des reconstructions completes lors d'un travail sur la section %files d'un paquet. FICHIERS Consulter rpm-common(8) VOIR AUSSI gendiff(1), popt(3), rpm(8), rpm-common(8), rpmbuild-config(5), rpm2cpio(1), rpmkeys(8), rpmspec(1), rpmsign(1), rpm-setup-autosign(1), rpm-macros(7) http://www.rpm.org/ TRADUCTION La traduction francaise de cette page de manuel a ete creee par Jean- Paul Guillonneau Cette traduction est une documentation libre ; veuillez vous reporter a la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITE LEGALE. Si vous decouvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message a . RPM 6.0.1 6 mars 2026 RPMBUILD(1)