Заплуталися у створенні пакетів OpenStack?


19

Я знайшов завдання збірки OpenStack на сайті Ubuntu QA, але я трохи не збентежений щодо кроків збирання.

Ось посилання на етапи складання: https://jenkins.qa.ubuntu.com/view/Openstack_Testing/view/Grizzly/job/precise_grizzly_keystone_stable/275/consoleText

З журналу збирання jenkins я знаю, як Ubuntu створює пакети Openstack:

  1. отримати код opentack від 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для генерації реальних пакетів дебютів
  9. завантажте на тестові репости

Мої запитання:

  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
    

Я намагався використовувати pip для встановлення schroot, але, схоже, у них немає виконавця.

Будь ласка, допоможіть.


1
Я відкрив надане вами посилання та отримав цей текст помилки: HTTP ERROR 404 Проблема з доступом / переглядом / Openstack_Testing / view / Grizzly / job / preci_grizzly_keystone_stable / 275 / consoleText. Причина: не знайдено. Наданий Джетті: //
Крістіана Ніколае

1
аналогічне посилання, яке він надав, - jenkins.qa.ubuntu.com/view/Openstack_Testing/view/Grizzly/job/…
ashubuntu

Відповіді:


1

sbuildбудує пакет в ізольованому середовищі, використовуючи schroot. У цьому середовищі встановлюються лише залежності побудови, оголошені вихідним пакетом, і більше нічого. Це допомагає переконатися, що на збірку не впливає розробник чи середовище CI, з якого вона запущена. Наприклад, без побудови наявність пакету в середовищі CI може виявити, що збірка вдається, коли насправді вона була незадекларованою залежністю побудови, і тому не вдається в будь-якому іншому місці. Для відтворюваності та стійкості, краще використовувати sbuild.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.