В последнее время я изучал различные руководства и инструкции по сборке пакетов. И, кажется, существует много из путей , которые можно идти о о . Так что я немного озадачен тем, что именно использовать. То есть я пытаюсь увидеть всю картину. Какие инструменты существуют? Каковы отношения между ними? Какие обертки для чего? Какие лучше подходят для чего? Например, apt-get source
, вероятно, в основном нацелен на пользователей, а не разработчиков. Лучшая альтернатива должна быть dget
. Какие альтернативы для чего? Вот некоторые из них: pbuilder
, pdebuild
, pbuilder-dist
, cowbuilder
, sbuild
, debuild
, dpkg-buildpackage
, fakeroot
. И должно быть еще много чего я даже не знаю. Каковы наиболее распространенные рабочие процессы?
Что мне удалось узнать. Во-первых, существует это краткое описание, которое является тем, что я главным образом спрашиваю здесь.
В ядре системы сборки находится dpkg-buildpackages
, который использует fakeroot
, который в свою очередь работает debian/rules
(который является make-файлом) создавать пакет. И это могло бы быть достаточно, если Вы собираетесь создать пакет для внутреннего пользования для выпуска, Вы выполняете его в.
Если, с другой стороны, Вы стремитесь к contibuting к debian
/ubuntu
, Вы собираетесь использовать, по крайней мере, debuild
, который работает lintian
и подписывает файлы.
Если Вы хотите быть нацеленными отличающийся debian
/ubuntu
выпуски, Вы собираетесь использовать pbuilder
, который среди прочего создает пакеты в чистой среде, не ударенной с Вашими уже установленными пакетами для наблюдения фактических зависимостей. Можно было бы рассмотреть использование pbuilder-dist
кроме того еще больше.
Существует pdebuild
который, как говорят, является "pbuilder способом сделать debuild". Я не вижу, что он работает lintian
, но это могло бы быть не в соответствии с pbuilder
путь.
Затем существует также cowbuilder
, если Вы хотите ускорить пакеты здания (обертка вокруг pbuilder
?). Существуют также инструменты для создания от git
репозитории, я не вырыл в.
UPD на мне сказываются #debian-mentors
это"sbuild
ведет себя то же как buildd
, меньше неожиданностей", это"pbuilder
поддержка экспериментального является просто неправильной", это "OTOH sbuild
все еще промахи что-то для устранения сети из процесса сборки" и этого pbuilder
не сохраняется. Устранение сети необходимо начиная с создания пакетов, не должен полагаться на него присутствование, они ничего не должны загружать.
schroot
от экспериментального, предположительно, может изолировать (не совместно используют) сеть.
Вы не говорите многое о своей исходной среде.
, Если это - открытый исходный код и всего один проект (один файл управления под debian/
каталог) затем https://, launchpad.net является действительно хорошим решением. Более или менее необходимо разобраться в файлах, и они заботятся об остальных.
Разбирание в файлах является определенным волшебством для меня, даже сейчас, но существует множество документации относительно того, как создать пакет. Вы могли запустить с очень простого примера, который работает, и затем не торопитесь для добавления других опций/функций, когда Вы продвигаетесь. Тем путем Вы не должны изучать все входы и выходы внезапно.