Мне нужно собрать дэбы для Ubuntus Lucid. Я знаю, что могу настроить виртуальные машины / chroot и т. Д. Для создания дистрибутива для каждой сборки, но есть ли механизм от моей машины Oneiric, чтобы сделать что-то , например :
ubuntu-dpkg-buildpackage --distro=Lucid
и иметь Будет сгенерирован ясный deb?
В качестве краткого примечания, он предназначен для внутренних пакетов и, следовательно, не может быть передан на Launchpad или туда.
Для этого не существует единственного решения, но существуют инструменты, позволяющие сделать его относительно безболезненным:
debootstrap
могут создать нетронутую минимальную установку Ubuntu в автономной среде. directory schroot
позволяет вам управлять несколькими chroot, сохраняя их чистыми для последующего использования mk-schroot
можно использовать для автоматизации настройки и управления schroot debuild -S
), sbuild
сделает chroot в вашем изначальном chroot, установит все зависимые пакеты и соберет ваши исходники. это в основном то, что серверы сборки launchpad используют для сборки исходных пакетов и помещения их в архив Ubuntu.
В целом, использование первоначального chroot является хорошей практикой, так как оно гарантирует, что пакет не зависит от каких-либо пользовательских настроек на вашей сборочной машине.
Процесс установки включал бы создание нового schroot для каждой версии Ubuntu, на которую вы хотели бы ориентироваться. Это довольно просто: используйте mk-sbuild
, чтобы создать себе новый chroot. Примерно то, что вам нужно:
mk-sbuild --arch=amd64 --name=lucid lucid
Это поможет вам создать chroot с именем 'lucid-amd64' и выведет следующую полезную информацию, когда это будет сделано:
Done building lucid-amd64. To CHANGE the golden image: sudo schroot -c lucid-amd64-source -u root To ENTER an image snapshot: schroot -c lucid-amd64 To BUILD within a snapshot: sbuild -A -d lucid-amd64 PACKAGE*.dsc[ 1129] Итак, как только ваши chroot настроены, процесс сборки будет:
debuild -S
, чтобы создать пакет с исходным кодом, включая <package>_<version>.dsc
sbuild -A -d lucid-amd64 ../<package>_<version>.dsc
Для получения дополнительной информации справочные страницы для mk-sbuild
, schroot
, sbuild
, debootstrap
и debuild
являются довольно полными. https://wiki.ubuntu.com/DebootstrapChroot содержит полезную информацию о сборке и настройке chroot. Кроме того, на irc.freenode.net есть # ubuntu-devel, если вам нужна рука.