Создание нескольких пакетов для развертывания в разных версиях Ubuntu

Решение на самом деле не использовать последний update-grub, так как он восстанавливает конфигурацию той, которая используется в данный момент во время установки.

Итак, мой предварительный шаг:

6
задан 14 February 2012 в 06:52

1 ответ

Для этого не существует однокомандного решения, но инструменты определенно существуют, чтобы сделать его относительно безболезненным:

debootstrap может создать нетронутую минимальную установку Ubuntu в автономном каталоге [ f4] позволяет управлять несколькими корнями, сохраняя их чистыми для последующего использования. mk-schroot может использоваться для автоматизации настройки и управления schroot. Учитывая файл .dsc (сгенерированный с помощью debuild -S), sbuild будет зацикливаться на вашем первозданном chroot , устанавливать любые зависимые пакеты и создавать источники.

Это в основном то, что используют серверы сборки пусковой панели для создания исходных пакетов и их размещения в архиве Ubuntu.

В общем, использование первобытного chroot - это хорошая практика, так как это гарантирует, что пакет не зависит от какой-либо настраиваемой настройки на вашей машине сборки.

Процесс установки включал создание нового шлота для каждой версии 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

Итак, как только ваши chroots будут настроены, процесс сборки будет выглядеть следующим образом:

Из исходного каталога верхнего уровня pacakge, debuild -S, чтобы создать исходный пакет, включая <package>_<version>.dsc Запустить сборку : sbuild -A -d lucid-amd64 ../<package>_<version>.dsc

Для получения дополнительной информации man-файлы для mk-sbuild, schroot, sbuild, debootstrap и debuild являются достаточно полными. https://wiki.ubuntu.com/DebootstrapChroot содержит некоторую полезную информацию о создании и настройке chroots. Кроме того, есть # ubuntu-devel на irc.freenode.net, если вам нужна рука.

6
ответ дан 25 May 2018 в 14:17
  • 1
    Я согласен с тем, что sbuild - это путь. Однако у вас есть куча ненужных шагов. mk-sbuild делает для вас все настройки schroot, и вам не нужно запускать sbuild с правами root. – RAOF 14 February 2012 в 08:34

Другие вопросы по тегам:

Похожие вопросы: