Par Pierre Sarrazin
9 mai 2007.
(See English version.)
rpmbuild
Votre système peut avoir la commande rpm
sans pour autant avoir la commande rpmbuild
.
(Si la commande "which rpmbuild
" n'affiche rien,
vous n'avez pas rpmbuild
.)
Sur un système Red Hat ou Fedora, la commande rpmbuild
est fournie par le package rpm-build
.
(Vous pouvez donner la commande
"rpm -q rpm-build
"
pour voir si elle est installée.)
Par défaut, les packages RPM sont construits dans le répertoire
/usr/src/redhat
, qui n'est accessible en écriture
que par root.
Vous pouvez dire à la commande rpmbuild
d'utiliser un autre répertoire
(e.g., /home/your_userid/rpm
)
en mettant la ligne suivante dans un fichier appelé
.rpmmacros
dans votre répertoire «maison»:
%_topdir /home/your_userid/rpm
Il faut ensuite créer les sous-répertoires suivants dans ce répertoire:
cd /home/your_userid/rpm mkdir SOURCES SPECS BUILD SRPMS mkdir -p RPMS/i386 RPMS/athlon RPMS/i486 RPMS/i586 RPMS/i686 RPMS/noarch
Voyez la documentation de référence sur RPM pour plus de détails.
Installer le fichier .src.rpm comme ceci:
rpm -i somepackage-1.0-1.src.rpm
Ceci va créer des fichiers dans
/usr/src/redhat/SOURCES
et un fichier .spec dans
/usr/src/redhat/SPECS
.
Ensuite, allez dans le répertoire SPECS et donnez la commande pour construire le RPM:
cd /usr/src/redhat/SPECS rpmbuild -bb somepackage.spec
Donnez plutôt l'option
-ta
si vous voulez aussi construire le SRPM.
Les packages binaires RPM seront typiquement créés dans le répertoire
RPM/i386
(sur un système basé sur un PC).
Quand une archive de sources (e.g., somepackage-1.0.tar.gz) contient un fichier .spec, on peut donner la commande suivante pour construire le RPM sans avoir à déployer l'archive:
rpmbuild -tb somepackage-1.0.tar.gz
Donnez plutôt l'option
-ta
si vous voulez aussi construire le SRPM.
Les archives de sources que je publie sont supposées contenir un fichier .spec fonctionnel. Si j'ai omis ceci, veuillez vous plaindre à moi.