Installez automatiquement les dépendances de construction avant de créer un package RPM
J'essaie de construire un .package rpm. Je viens de suivre les étapes pour le faire. Jusqu'à présent, toutes les étapes se sont bien passées, mais maintenant je suis resté avec cette étape. Je viens d'exécuter la commande suivante et j'ai eu cette erreur:
rpmbuild -ba asterisk.spec
error: Failed build dependencies:
gtk2-devel is needed by asterisk-1.8.12.2-1.fc15.x86_64
libsrtp-devel is needed by asterisk-1.8.12.2-1.fc15.x86_64
[... more ...]
freetds-devel is needed by asterisk-1.8.12.2-1.fc15.x86_64
uw-imap-devel is needed by asterisk-1.8.12.2-1.fc15.x86_64
J'utilise fedora 15. Comment faire pour résoudre cette erreur?
Comment installer toutes les dépendances lors de l'installation du paquet src.rpm
. Est-il possible?
2 réponses
Vous pouvez utiliser la commande yum-builddep
du package yum-utils
pour installer toutes les dépendances de construction d'un package.
Les arguments peuvent être des chemins d'accès aux fichiers spec, des chemins d'accès aux rpm source ou les noms de paquets qui existent en tant que rpm source dans un référentiel configuré, par exemple:
yum-builddep my-package.spec
Ou
yum-builddep my-package.src.rpm
La même chose peut être réalisée sur les nouvelles versions de Fedora qui utilisent dnf
comme gestionnaire de paquets en s'assurant que dnf-plugins-core
est installé et faire:
dnf builddep my-package.spec
Ou
dnf builddep my-package.src.rpm
yum-builddep
ne semble pas fonctionner si le miroir que vous utilisez ne sert pas de RPM source. Cela peut ne pas gérer tous les cas, mais cela fonctionne généralement pour moi:
sudo yum install -y $(<rpmbuild> | fgrep 'is needed by' | awk '{print $1}')
Où <rpmbuild>
est votre commande rpmbuild
(par exemple, rpmbuild -ba foo.spec
).