Учитывая исходный пакет 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.

ptman
источник
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
joeytwiddle
источник
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, и просто установить любые дополнительные сборочные файлы, как указано в пакете, это также устраняет кучу других потенциальных проблем (локальные установки неупакованных библиотек). например).

LapTop006
источник
-6

Пытаться:

apt-get install build-essential
Lanselot
источник
Я установил build-essential. Этот пакет требует дополнительного программного обеспечения.
Рори
И это не объясняет, что требует? может быть, libncurses-dev тоже.
Lanselot
1
Не в этом дело; конечно так и есть. Суть в том, чтобы иметь команду, которая фактически устанавливает зависимости, а не просто отображающую их.
Матиас Урлич