Перепутанный созданием Пакетов OpenStack?

Я нашел задачу сборки OpenStack на Ubuntu сайтом QA, но я немного смущен шагами сборки.

Вот ссылка для шагов сборки: https://jenkins.qa.ubuntu.com/view/Openstack_Testing/view/Grizzly/job/precise_grizzly_keystone_stable/275/consoleText

От журнала сборки jenkins я знаю шаги как сборка Ubuntu OpenStack пакеты:

  1. получите код OpenStack от GitHub, используйте git clone
  2. сборка openstack tar.gz использование файла python setup.py sdist
  3. использовать bzr для получения debian управляют файлами, который является обслуживанием каноническим
  4. использовать dch команда, чтобы генерировать новый выпуск сборки и фиксировать его локальному
  5. использовать bzr builddeb -S -- -sa -us -uc генерировать исходный пакет и связанный файл управления, такой как dsc
  6. подпишите пакет
  7. использовать mk-build-deps устанавливать зависимость
  8. использовать sbuild генерировать реальные deb пакеты
  9. загрузите на тестирование repos

Мои вопросы:

  1. На шаге 5 мы уже можем генерировать deb пакеты без -S, но почему мы наконец используем sbuild генерировать его? Это только для подписи?
  2. Между чем различие bzr builddeb и sbuild?
  3. Я нашел сценарии сборки, какой используемый jenkins расположен здесь: ~openstack-ubuntu-testing/openstack-ubuntu-testing, но когда я пытаюсь выполнить любые команды под bin, Я всегда добираюсь:

    root@demo:~/openstack-ubuntu-testing/bin# ./build-package
    Traceback (most recent call last):
      File "./build-package", line 14, in <module>
        from openstack_ubuntu_testing.build.component_build import ComponentBuild
      File "/home/sysadmin/openstack-ubuntu-testing/bin/openstack_ubuntu_testing/build/component_build.py", line 11, in <module>
        from schroot.executor import SchrootExecutor
    ImportError: No module named schroot.executor
    

Я пытался использовать зернышко для установки schroot, но кажется, что у них нет исполнителя в нем.

Помогите.

19
задан 26 May 2015 в 14:24

1 ответ

sbuild создает пакет в изолированной среде, используя schroot. В этой среде устанавливаются только зависимости сборки, объявленные исходным пакетом, и ничего больше. Это помогает гарантировать, что сборка не подвержена влиянию разработчика или среды CI, из которой она запускается. Например, без sbuild присутствие пакета в среде CI может создать впечатление, что сборка завершается успешно, хотя на самом деле это была необъявленная зависимость сборки, и поэтому происходит сбой повсюду. Из соображений воспроизводимости и стабильности лучше использовать sbuild.

0
ответ дан 26 May 2015 в 14:24

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

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