¿Cómo puedo eliminar todas las dependencias de compilación para un paquete en particular?

10

Cuando quiero compilar algo de la fuente en Ubuntu / Debian, generalmente obtengo dependencias de compilación ejecutando " sudo apt-get build-dep PACKAGE_NAME" en el terminal.

Son (generalmente) inútiles una vez que se realiza el trabajo de compilación.

Entonces, ¿cómo elimino todas las dependencias de compilación para un paquete en particular?

Khurshid Alam
fuente

Respuestas:

5

Para averiguar las dependencias de compilación de un programa que puede ejecutar apt-cache showsrc pkgnamey que enumerará, entre otra información Build-Depends, los archivos que a menudo terminan en -dev; aunque vale la pena verificar si -devotros programas requieren alguno de los archivos (particularmente aquellos que no están marcados ). Puede descubrir esto usando apt-cache depends filey apt-cache rdepends file. El siguiente ejemplo es para 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- integración-3.0-dev (> = 0.1.36), libret-dev

Hay un comando para hacerlo todo de una vez en el sitio webupd8 , pero he descubierto que no parece funcionar de manera confiable con la versión actual de Ubuntu, ya que parece eliminar demasiado. Lo probé con Pinta y sugirió eliminar toda la biblioteca mono. Se discuten estos problemas con el uso de comandos como el webupd8 en Launchpad . Tenga mucho cuidado al experimentar con cualquier 'solución' que pueda encontrar.

Es una pena que no haya un autoremovecomando para los build-deppaquetes instalados.


fuente
1
Intenté el método de aptitud y sí, tienes razón, elimina demasiado ... puede debido a dependencias cruzadas. Mothod entre sí he encontrado es pasar la siguiente opción (durante el uso de comando build-dep): sudo apt-get build-dep -o APT::Get::Build-Dep-Automatic=true PACKAGE_NAME. Ahora se pueden eliminar con apt-get autoremove. Pero esto funciona solo después de eliminar el paquete principal.
Khurshid Alam
2
De todos modos, acabo de enterarme de que la forma correcta de hacerlo es usarlo pbuilder. Por lo tanto, nadie tiene que preocuparse por instalar / desinstalar dependencias.
Khurshid Alam
6

Tumbleweed escribe :

Para el futuro, recomiendo usar mk-build-deps... en lugar de aptitude build-dep. Eso deja un paquete ... en su sistema, [que tiene dependencias] en los build-deps, que puede desinstalar fácilmente más adelante.

mk-build-deps se puede instalar con sudo apt install devscripts

FalcoGer
fuente
4

Opción 1:

Recuerde qué paquetes fueron instalados por sudo apt-get build-dep PACKAGE_NAMEy elimínelos después de la construcción.

Opcion 2:

apt-cache showsrc proporciona una gran cantidad de información sobre los paquetes fuente, incluida una lista de compilaciones dependientes.

apt-cache showsrc PACKAGE_NAME

Por ejemplo:

$ 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

El riesgo con esta opción es que puede eliminar un paquete que es importante para algo además de construir PACKAGE_NAME. Simplemente lea la lista de paquetes que se eliminarán antes de continuar.

Michael Crenshaw
fuente