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.