Назад | Перейти на главную страницу

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

У меня есть исходный пакет debian (ну технически ubuntu), то есть .dsc, .tar.gz и т. Д., Я хочу его создать. В dpkg-buildpackage не работает, так как у меня нет всех зависимостей сборки.

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

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

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

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

Вот пример рабочего процесса с использованием предложения 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

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

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

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

В файле debian / control перечислены все пакеты, которые должны быть установлены как зависимости сборки. Если (по какой-либо причине) вы установили какое-то необходимое программное обеспечение без системы apt, просто удалите соответствующие строки из файла debian / control, чтобы dpkg-buildpackage не узнал об этих пакетах и ​​не проверял их.

Другой трюк заключается в прямом выполнении инструкций сборки, что также позволяет обойти любые дополнительные проверки с помощью dpkg-buildpackage и не выполняет очистку файлов сборки (помогает с добавочными локальными исправлениями) путем выполнения fakeroot ./debian/rules binary вместо dpkg-buildpackage.

Пытаться:

apt-get install build-essential