Учитывая исходный пакет Debian - Как мне установить build-deps?


47

У меня есть пакет исходных текстов Debian (хорошо технически Ubuntu), то есть .dsc, .tar.gz и т. Д., Я хочу собрать это. dpkg-buildpackageНе удается, так как у меня нет всех зависимостей сборки.

Обычно я бы использовал apt-get build-dep, но этот пакет не в apt.

Есть ли «чистый», «правильный» способ установить все зависимости сборки, учитывая пакет с исходным кодом. Я знаю, что могу просто открыть файл debian / control, но мне любопытно, есть ли «правильный» способ.

Я установил build-essentialи все нормальные компиляторы и т. Д., Этот пакет требует дополнительного программного обеспечения.

Ответы:


34

Использование, mk-build-depsкоторое является частью devscripts.


12

Вот пример рабочего процесса с использованием предложения ptman.

Предполагая, что вы загрузили .dscфайл, .orig.*zфайл и, возможно, также .debian.*zфайл, распакуйте исходный пакет с помощью:

dpkg-source -x [package_name]_[package_version].dsc

Переместитесь в извлеченную исходную папку и запустите:

sudo mk-build-deps -i

Это создаст файл [package_name]-build-deps_[version].debи установит его, а также установит все предложенные зависимости.

Теперь вы сможете собрать свой пакет из исходного кода:

debuild

Когда вы закончите, вы можете легко удалить извлеченные зависимости, удалив build-depsсгенерированный вами пакет:

sudo apt-get purge --auto-remove [package_name]-build-deps

2
Вы также можете перейти -rк sudo mk-build-deps -iудалению пакета после его установки. Кроме того, вместо сборки с правами root вы можете установить с правами root --root-cmd sudo. В конце концов, используйтеmk-build-deps --install --root-cmd sudo --remove
Лукас

Кроме того, вам может понадобиться в sudo apt install devscripts equivsпервую очередь.
Альба Мендес

9

На самом деле я могу использовать, dpkg-checkbuilddepsкоторый показывает зависимости сборки. Это дает мне 99% того, что мне нужно


2
как ни странно, файл packagename-version.dsc содержит зависимости сборки в строке, начинающейся со строки Build-Depends
quack quixote

6

Я обычно использую debuildfrom devscriptsдля сборки пакетов, и при перезапуске печатает строку с отсутствующими build-deps.

«Правильный» способ - использовать pbuilderили подобный способ, который соберет пакет в минимальном размере chroot, и просто установить любые дополнительные сборочные файлы, как указано в пакете, это также устраняет кучу других потенциальных проблем (локальные установки неупакованных библиотек). например).


-6

Пытаться:

apt-get install build-essential

Я установил build-essential. Этот пакет требует дополнительного программного обеспечения.
Рори

И это не объясняет, что требует? может быть, libncurses-dev тоже.
Lanselot

1
Не в этом дело; конечно так и есть. Суть в том, чтобы иметь команду, которая фактически устанавливает зависимости, а не просто отображающую их.
Матиас Урлич
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.