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

47

J'ai un paquet source debian (bien techniquement ubuntu), c'est-à-dire le .dsc, le .tar.gz, etc., je veux le construire. Les dpkg-buildpackageéchecs, car je n'ai pas toutes les dépendances de construction.

Normalement, je l'utilise apt-get build-dep, mais ce paquet n'est pas dans apt.

Existe-t-il un moyen "propre", "approprié" 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-essentialet dispose de tous les compilateurs normaux, etc., ce paquet nécessite des logiciels supplémentaires.

Rory
la source

Réponses:

34

Utilisation mk-build-depsqui fait partie de devscripts.

ptman
la source
12

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

En supposant que vous ayez téléchargé le .dscfichier, le .orig.*zfichier et peut-être aussi un .debian.*zfichier, décompressez 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].debet l'installera, ainsi que toutes les dépendances suggérées.

Maintenant, vous devriez être capable de construire votre paquet depuis le source:

debuild

Lorsque vous avez terminé, vous pouvez facilement supprimer les dépendances extraites en supprimant le build-depspackage que vous avez généré:

sudo apt-get purge --auto-remove [package_name]-build-deps
Joeytwiddle
la source
2
Vous pouvez également passer -rà sudo mk-build-deps -ipour supprimer le package après l'avoir installé. De plus, au lieu de construire en tant que root, vous pouvez installer en tant que root en utilisant --root-cmd sudo. En fin de compte, utilisezmk-build-deps --install --root-cmd sudo --remove
Lucas
En outre, vous devrez peut-être d' sudo apt install devscripts equivsabord.
Alba Mendez
9

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

Rory
la source
2
curieusement, le fichier packagename-version.dsc contient les dépendances de construction de la ligne commençant par la chaîne Build-Depends
quack quixote
6

J'utilise habituellement debuildfrom devscriptspour construire des paquetages et, le cas échéant, il affiche une ligne des versions manquantes.

La méthode "appropriée" consiste à utiliser pbuilderou une méthode similaire pour construire le paquet de manière minimale chroot. Il suffit d'installer tout dépositif supplémentaire spécifié par le paquet. Cela supprime également de nombreux autres problèmes potentiels (installations locales de bibliothèques non empaquetées). par exemple).

LapTop006
la source
-6

Essayer:

apt-get install build-essential
Lanselot
la source
J'ai installer build-essential. Ce paquet nécessite un logiciel supplémentaire.
Rory
Et ça n'explique pas ce qu'il faut? peut-être aussi libncurses-dev.
Lanselot
1
Ce n'est pas le propos; bien sûr que si. Le but est d'avoir une commande qui installe réellement les dépendances, pas une qui les affiche simplement.
Matthias Urlichs le