
Хотя инструменты одинаковы, разделы и названия дистрибутивов заметно различаются в 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которые могут оказаться вам полезными.