60 votes

Étant donné un paquet source debian - Comment installer les build-deps ?

J'ai un paquetage source debian (enfin, techniquement, ubuntu), c'est-à-dire le .dsc, le .tar.gz, etc. Le site dpkg-buildpackage échoue, car je n'ai pas toutes les dépendances de construction.

Normalement, j'aurais utilisé apt-get build-dep mais ce paquet n'est pas dans apt.

Existe-t-il une façon "propre" et "correcte" d'installer toutes les dépendances de construction, à partir d'un paquet source ? Je sais que je pourrais simplement ouvrir le fichier debian/control, mais je suis curieux de savoir s'il existe un moyen "approprié".

J'ai installé build-essential et possèdent tous les compilateurs normaux, etc., ce paquet nécessite un logiciel supplémentaire.

47voto

ptman Points 26336

Utilice mk-build-deps qui fait partie de devscripts .

24voto

joeytwiddle Points 474

Voici un exemple de flux de travail utilisant la suggestion de ptman.

En supposant que vous avez téléchargé le .dsc le fichier .orig.*z et peut-être aussi un fichier .debian.*z puis déballez le paquet source avec :

dpkg-source -x [package_name]_[package_version].dsc

Déplacez-vous dans le dossier source extrait et exécutez :

sudo mk-build-deps -i

Cela créera le fichier [package_name]-build-deps_[version].deb et l'installer, et aussi installer toutes les dépendances qu'il suggère.

Vous devriez maintenant être en mesure de construire votre paquet à partir des sources :

debuild

Lorsque vous avez terminé, vous pouvez facilement supprimer les dépendances qui ont été ajoutées, en supprimant la balise build-deps que vous avez généré :

sudo apt-get purge --auto-remove [package_name]-build-deps

11voto

mblsha Points 305

En fait, je peux utiliser dpkg-checkbuilddeps qui montre les dépendances de construction. Cela me permet d'obtenir 99% de ce dont j'ai besoin

6voto

Steve Scheffler Points 1166

J'utilise habituellement debuild de devscripts pour construire des paquets, et si c'est pertinent, il imprime une ligne des build-deps manquants.

La "bonne" méthode consiste à utiliser pbuilder ou similaire qui construira le paquet dans un minimum chroot et installez simplement tous les build-deps supplémentaires spécifiés par le paquet, ce qui élimine également un tas d'autres problèmes potentiels (installations locales de bibliothèques non packagées par exemple).

0voto

Eric Di Bari Points 1326

Le fichier debian/control liste tous les paquets qui doivent être installés en tant que dépendances de la construction. Si (pour une raison quelconque) vous avez installé certains des logiciels requis sans le système apt, il suffit de supprimer les lignes correspondantes du fichier debian/control, afin que dpkg-buildpackage ne connaisse pas ces paquets et ne les vérifie pas.

Une autre astuce consiste à exécuter les instructions de compilation directement, ce qui permet également de contourner les vérifications supplémentaires effectuées par dpkg-buildpackage et de ne pas effectuer le nettoyage des fichiers de compilation (utile pour les corrections locales incrémentielles) en exécutant fakeroot ./debian/rules binary au lieu de dpkg-buildpackage.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X