J'ai un package source debian (bien techniquement ubuntu), c'est-à-dire le .dsc, le .tar.gz, etc., je veux construire cela. Les dpkg-buildpackage
échoue, car je n'ai pas toutes les dépendances de construction.
Normalement j'utiliserais apt-get build-dep
, mais ce paquet n'est pas dans APT.
Existe-t-il un moyen "propre", "propre" d'installer toutes les dépendances de construction, étant donné un package source. Je sais que je pouvais simplement ouvrir le fichier debian/contrôle, mais je suis curieux s'il y a une méthode "appropriée".
J'ai installé build-essential
, et avoir tous les compilateurs normaux, etc., ce paquet nécessite un logiciel supplémentaire.
En fait, je peux utiliser dpkg-checkbuilddeps
qui montre les dépendances de construction. Qui me reçoit 99% de ce dont j'ai besoin
Utilisation mk-build-deps
qui fait partie de devscripts
.
Voici un exemple de flux de travail à l'aide de la suggestion de PTMAN.
En supposant que vous avez téléchargé le .dsc
fichier, le .orig.*z
fichier, et peut-être aussi un .debian.*z
Fichier, puis déballer le package source avec:
dpkg-source -x [package_name]_[package_version].dsc
Passez au dossier source extrait et exécuté:
Sudo mk-build-deps -i
Cela créera le fichier [package_name]-build-deps_[version].deb
et l'installer et installer toutes les dépendances qu'il suggère.
Maintenant, vous devriez être capable de construire votre colis à partir de la source:
debuild
Lorsque vous avez terminé, vous pouvez facilement supprimer les dépendances qui ont été tirées, en supprimant le build-deps
paquet que vous avez généré:
Sudo apt-get purge --auto-remove [package_name]-build-deps
J'utilise habituellement debuild
à partir de devscripts
pour créer des packages, et si la pertinence, elle imprime une ligne de DEPS de Build-Debre.
La méthode "appropriée" est d'utiliser pbuilder
ou similaire qui construira le package dans un minimal chroot
et simplement installer des Deps de construction supplémentaires comme spécifié par l'emballage, cela supprime également un groupe d'autres problèmes potentiels (installations locales de bibliothèques non emballées par exemple).