Как удалить все зависимости для сборки для определенного пакета?

7

Когда я хочу скомпилировать что-то из исходного кода в Ubuntu / Debian, я обычно получаю зависимости от сборки, запустив « sudo apt-get build-dep PACKAGE_NAME » в терминале.

Они (обычно) бесполезны после выполнения задания компиляции.

Итак, как удалить все сборки-зависимости для определенного пакета?

    
задан Khurshid Alam 25.08.2012 в 23:55
источник

3 ответа

4

Чтобы узнать зависимости от сборки для программы, вы можете запустить apt-cache showsrc pkgname , и среди них будет отображаться Build-Depends , которые часто являются файлами, заканчивающимися на -dev ; хотя стоит проверить, необходимы ли какие-либо файлы (особенно те, которые не отмечены -dev ) другими программами. Вы можете найти это, используя apt-cache depends file и apt-cache rdepends file . Следующий пример для 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

Есть команда сделать все это за один раз в сайт webupd8 , , но Я обнаружил, что он, похоже, не работает надежно с текущей версией Ubuntu, поскольку он кажется удалять слишком много , Я попробовал его с Pinta, и он предложил удалить всю моно библиотеку. Обсуждаются такие проблемы с использованием команд, таких как webupd8, на Launchpad . Будьте очень осторожны, экспериментируя с любыми «решениями», которые вы можете найти.

Жаль, что для autoremove установленных пакетов нет команды build-dep .     

ответ дан user76204 26.08.2012 в 00:45
источник
3

Вариант 1:

Помните, какие пакеты были установлены sudo apt-get build-dep PACKAGE_NAME и удалены после сборки.

Вариант 2:

apt-cache showsrc дает большую информацию об исходных пакетах, включая список зависимости от сборки.

apt-cache showsrc PACKAGE_NAME

Например:

$ 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

Риск с этой опцией заключается в том, что вы можете удалить пакет, который важен для чего-то помимо здания PACKAGE_NAME. Просто прочитайте список пакетов, которые нужно удалить, прежде чем идти вперед.

    
ответ дан mac9416 26.08.2012 в 00:45
2

Tumbleweed пишет :

For the future, I highly recommend using mk-build-deps ... instead of aptitude build-dep. That leaves a package ... in your system, [which has dependencies] on the build-deps, that you can easily uninstall later.

mk-build-deps можно установить с sudo apt install devscripts

    
ответ дан FalcoGer 23.08.2018 в 17:55