Сборка deb-файлов для Debian и Ubuntu

Сборка deb-файлов для Debian и Ubuntu

Хотя инструменты одинаковы, разделы и названия дистрибутивов заметно различаются в Ubuntu и Debian (и, предположительно, в других дистрибутивах на основе Debian).

Например, файл debian/control библиотеки Lua для Debian может использовать

 Section: contrib/libdevel

в то время как Ubuntu будет использовать

 Section: universe/interpreters

Каков наилучший способ создания deb-файлов для каждого, когда "universe" не существует в Debian, а "contrib" не существует в Ubuntu, учитывая, что все инструменты, похоже, работают с одним исходным/конфигурационным каталогом: Debian? Как это согласовать?

Примечание: этот вопрос также относится к записям журнала изменений.

решение1

Обычно, когда мне это нужно, я создаю отдельные каталоги debian/* для каждой поддерживаемой мной системы. Вы можете хранить их множеством разных способов: возможно, выделенный репозиторий исходного кода, называемый «packaging», который содержит каталоги для каждой системы. Затем вы можете использовать систему сборки или CI (например, Jenkins, Travis CI или подобную) для загрузки исходного кода вашего приложения, загрузки кода упаковки для системы, для которой вы собираете пакет, и начать процесс сборки.

Инструмент, который вам, возможно, захочется использовать, чтобы облегчить эту задачу, — этоpbuilderчто позволяет легко собрать пакет для многих различных версий Debian или Ubuntu, используяchroots.

Я также написал пошаговое руководство покак использовать pbuilderкоторые могут оказаться вам полезными.

Связанный контент