Comment puis-je supprimer toutes les dépendances de build pour un package particulier?


10

Lorsque je veux compiler quelque chose à partir des sources dans Ubuntu / Debian, j'obtiens généralement des dépendances de construction en exécutant " sudo apt-get build-dep PACKAGE_NAME" dans le terminal.

Ils sont (généralement) inutiles une fois le travail de compilation terminé.

Alors, comment supprimer toutes les dépendances de build pour un package particulier?

Réponses:


5

Pour connaître les dépendances de construction d'un programme que vous pouvez exécuter apt-cache showsrc pkgnameet qui listera, entre autres informations Build-Depends, qui sont souvent des fichiers se terminant par -dev; bien qu'il soit utile de vérifier si certains fichiers (en particulier ceux qui ne sont pas marqués -dev) sont requis par d'autres programmes. Vous pouvez le découvrir en utilisant apt-cache depends fileet apt-cache rdepends file. L'exemple suivant concerne Shotwell:

apt-cache showsrc shotwell

Build-Depends: debhelper (> = 7.0.50 ~), m4, valac-0.16 (> = 0.15), libgee-dev (> = 0.5.0), libgtk-3-dev (> = 3.0.11), libexif -dev (> = 0.6.16), libsqlite3-dev (> = 3.5.9), libgexiv2-dev (> = 0.4.1-1build1), libgnomevfs2-dev (> = 2.24.2), libgphoto2-2-dev (> = 2.4.2), libsoup2.4-dev (> = 2.26.0), libxml2 (> = 2.6.32), libunique-3.0-dev (> = 1.0.0), libwebkitgtk-3.0-dev (> = 1.1.5), libgudev-1.0-dev (> = 145), libdbus-glib-1-dev (> = 0.80), libraw-dev (> = 0.13.1-2), libusb-dev, libjson-glib -dev (> = 0.7.6), libgstreamer0.10-dev (> = 0.10.28), libgstreamer-plugins-base0.10-dev (> = 0.10.32), python-scour, libunity-dev, liblaunchpad- intégration-3.0-dev (> = 0.1.36), librest-dev

Il existe une commande pour tout faire en une seule fois sur le site webupd8 , mais j'ai constaté qu'elle ne semble pas fonctionner de manière fiable avec la version actuelle d'Ubuntu en ce qu'elle semble en supprimer trop. Je l'ai essayé avec Pinta et il a suggéré de supprimer toute la bibliothèque mono. Il y a une discussion de ces problèmes avec l'utilisation de commandes comme celle de webupd8 sur Launchpad . Soyez très prudent lorsque vous expérimentez avec des «solutions» que vous pourriez trouver.

Il est dommage qu'il n'y ait pas de autoremovecommande pour les build-deppackages installés.


1
J'ai essayé la méthode d'aptitude et oui, vous avez raison, cela en supprime trop ... peut-être à cause des dépendances croisées. Un autre mothod je l' ai trouvé est de passer l'option suivante (en utilisant la commande build-dep): sudo apt-get build-dep -o APT::Get::Build-Dep-Automatic=true PACKAGE_NAME. Maintenant, ils peuvent être supprimés avec apt-get autoremove. Mais cela ne fonctionne qu'après avoir supprimé le package principal.
Khurshid Alam

2
Quoi qu'il en soit, je viens d'apprendre que la bonne façon de le faire est d'utiliser pbuilder. Personne n'a donc à s'inquiéter de l'installation / désinstallation des dépendances.
Khurshid Alam

6

Tumbleweed écrit :

Pour l'avenir, je recommande fortement d'utiliser mk-build-deps... au lieu de aptitude build-dep. Cela laisse un paquet ... dans votre système, [qui a des dépendances] sur les build-deps, que vous pouvez facilement désinstaller plus tard.

mk-build-deps peut être installé avec sudo apt install devscripts


4

Option 1:

N'oubliez pas quels packages ont été installés sudo apt-get build-dep PACKAGE_NAMEet supprimez-les après la construction.

Option 2:

apt-cache showsrc donne beaucoup d'informations sur les paquets source, y compris une liste de dépendances de construction.

apt-cache showsrc PACKAGE_NAME

Par exemple:

$ apt-cache showsrc pithos
Package: pithos
Binary: pithos
Version: 0.3.17~git07dcbd86a1
Section: python
Maintainer: Kevin Mehall <km@kevinmehall.net>
Build-Depends: cdbs (>= 0.4.43), debhelper (>= 6), python, python-central (>= 0.6.11), python-distutils-extra (>= 2.10)
Architecture: all
Standards-Version: 3.8.2
Format: 1.0
Directory: pool/main/p/pithos
Files:
 cdf2129923e62bb62c246965453b40bd 2023031 pithos_0.3.17~git07dcbd86a1.tar.gz
 97689e8ada8be527d689f2c83415d3b0 1544 pithos_0.3.17~git07dcbd86a1.dsc
Python-Version: current
Checksums-Sha1: 35cbf3ae52922e50a0b81afcce2cd97a86afb254 2023031 pithos_0.3.17~git07dcbd86a1.tar.gz
Package-List: pithos deb python extra
Checksums-Sha256: 2b704d86f3dc1d36d180177d11e578bdcf74ea97b09b530144afe754e570b262 2023031 pithos_0.3.17~git07dcbd86a1.tar.gz
$ sudo apt-get remove cdbs debhelper python python-central python-distutils-extra

Le risque avec cette option est que vous pouvez supprimer un package qui est important pour autre chose que la construction de PACKAGE_NAME. Lisez simplement la liste des packages à supprimer avant de continuer.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.