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?

32
demandé sur mattdm 2012-11-05 10:42:32

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
55
répondu TomH 2015-09-23 11:07:34

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}')

<rpmbuild> est votre commande rpmbuild (par exemple, rpmbuild -ba foo.spec).

0
répondu jjlin 2017-06-08 18:28:34