web-dev-qa-db-fra.com

Comment puis-je supprimer toutes les dépendances de construction pour un paquet particulier?

Lorsque je veux compiler quelque chose à partir du source 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 puis-je supprimer tous les dépendances de la construction pour un paquet particulier?

9
Khurshid Alam

Pour connaître les dépendances de construction d'un programme, vous pouvez exécuter apt-cache showsrc pkgname et répertorier, entre autres informations, le Build-Depends, qui sont souvent des fichiers se terminant par -dev; bien qu’il soit utile de vérifier si l’un des fichiers (en particulier ceux qui ne sont pas marqués -dev) est requis par d’autres programmes. Vous pouvez le savoir en utilisant apt-cache depends file et 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- integration-3.0-dev (> = 0.1.36), librest-dev

Il y a une commande pour tout faire en une fois à le site webupd8 , mais J'ai constaté que ce n'était pas le cas semble fonctionner de manière fiable avec la version actuelle d’Ubuntu en ce sens qu’il semble trop supprimer . Je l'ai essayé avec Pinta et il a suggéré de supprimer toute la bibliothèque mono. L'utilisation de commandes telles que celle de webupd8 sur Launchpad est discutée. Soyez très prudent lorsque vous essayez des solutions que vous pourriez trouver.

Il est dommage qu'il n'y ait pas de commande autoremove pour build-dep packages installés.

5
user76204

Option 1:

Rappelez-vous quels paquets ont été installés par Sudo apt-get build-dep PACKAGE_NAME et supprimez-les après la construction.

Option 2:

apt-cache showsrc donne de nombreuses informations sur les paquets sources, y compris une liste de dépendances de la 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 <[email protected]>
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 paquet important pour quelque chose en plus de bâtiment PACKAGE_NAME. Lisez simplement la liste des paquets à supprimer avant de continuer.

4
Michael Crenshaw

Tumbleweed écrit :

Pour l’avenir, je recommande vivement d’utiliser _mk-build-deps_ ... au lieu de _aptitude build-dep_. Cela laisse un paquet ... sur votre système, [qui a des dépendances] sur les dépendances de construction, que vous pourrez facilement désinstaller par la suite.

mk-build-deps peut être installé avec _Sudo apt install devscripts_

3
unforgettableid