OpenStack Paketleri oluşturma konusunda kafası karışmış mı?

19

Ubuntu QA sitesinde OpenStack derleme görevi buldum, ancak yapım adımları konusunda biraz kafam karıştı.

Oluşturulacak adımlar için bağlantı: İşte

jenkins oluşturma günlüğünden Ubuntu'nun bir Openstack paketi nasıl oluşturduğunu anladım:

  1. github'dan openstack kodunu alın, git clone kullanın
  2. openstack tar.gz kullanarak python setup.py sdist dosyası oluştur
  3. kanonik bakımdan yapılan debian kontrol dosyalarını almak için bzr kullanın
  4. Yeni bir derleme sürümü oluşturmak ve bunu yerel
  5. yapmak için dch komutunu kullan
  6. bzr builddeb -S -- -sa -us -uc gibi kaynak paket ve ilgili kontrol dosyası oluşturmak için dsc kullanın
  7. paketi imzala
  8. bağımlılığı yüklemek için mk-build-deps kullan
  9. gerçek borç paketlerini oluşturmak için sbuild kullanın
  10. test depolarına yükleme

Sorularım:

  1. 5. adımda, borç paketlerini -S olmadan zaten oluşturabiliriz, ancak niçin niçin üretmek için sbuild kullanırız? Bu sadece imza için mi?
  2. bzr builddeb ve sbuild arasındaki fark nedir?
  3. kullanılan jenkins komut dosyalarını burada buldum: ~openstack-ubuntu-testing/openstack-ubuntu-testing , ancak bin altında herhangi bir komut çalıştırmayı denediğimde, her zaman şunu elde ederim:

    [email protected]:~/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
    

Pipoyu kurmak için pip kullanmayı denedim, ama içinde bir yürütücüsü yok gibi görünüyor.

Lütfen yardım edin.

    
sordu Ray Sun 04.09.2013 09:24

1 cevap

1

sbuild , schroot kullanılarak yalıtılmış bir ortamda bir paket oluşturur. Bu ortamda, yalnızca kaynak paket tarafından bildirilen yapı bağımlılıkları kurulur ve başka bir şey yoktur. Bu, yapının geliştirildiği geliştirici veya CI ortamı tarafından etkilenmemesine yardımcı olur. Örneğin, sbuild olmadan, CI ortamında bir paketin varlığı, yapının bildirilmemiş bir yapı bağımlılığı olduğunda ve bu nedenle her yerde başarısız olduğunda, yapının başarılı olmasını sağlayabilir. Tekrarlanabilirlik ve kararlılık nedenleriyle, sbuild kullanmak daha iyidir.

    
verilen cevap Robie Basak 27.10.2015 13:08

Etiketlerdeki diğer soruları oku