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

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

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

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

 Section: contrib/libdevel

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

 Section: universe/interpreters

Как лучше всего создавать файлы deb для каждого из них, когда «вселенная» не существует в Debian, а «contrib» не существует в Ubuntu, учитывая, что, похоже, все инструменты действуют в одном каталоге source / config: debian? Как с этим примириться?

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

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

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

Я также написал обзор как использовать pbuilder что вы можете найти полезным.