Bingung tentang pembuatan Paket OpenStack?

19

Saya menemukan tugas membangun OpenStack di situs QA Ubuntu, tetapi saya sedikit bingung tentang langkah-langkah pembuatannya.

Berikut tautan untuk langkah pembuatan: https://jenkins.qa.ubuntu.com/view/Openstack_Testing/view/Grizzly/job/precise_grizzly_keystone_stable/275/consoleText

Dari log build jenkins, saya tahu langkah-langkah bagaimana Ubuntu membangun paket Openstack:

  1. dapatkan kode openstack dari github, gunakan git clone
  2. membangun openstack tar.gzfile menggunakanpython setup.py sdist
  3. gunakan bzruntuk mendapatkan file kontrol debian yang merupakan pemeliharaan oleh kanonik
  4. gunakan dchperintah untuk menghasilkan rilis build baru dan komit ke lokal
  5. gunakan bzr builddeb -S -- -sa -us -ucuntuk menghasilkan paket sumber dan file kontrol terkait, sepertidsc
  6. menandatangani paket
  7. gunakan mk-build-depsuntuk menginstal ketergantungan
  8. gunakan sbuilduntuk menghasilkan paket deb nyata
  9. unggah ke repo pengujian

Pertanyaan saya adalah:

  1. Pada langkah 5, kita sudah bisa menghasilkan paket deb tanpa -S, tapi mengapa akhirnya kita gunakan sbuilduntuk menghasilkan paket itu? Apakah ini hanya untuk tanda tangan?
  2. Apa perbedaan antara bzr builddebdan sbuild?
  3. Saya menemukan skrip build yang digunakan jenkins terletak di sini:, ~openstack-ubuntu-testing/openstack-ubuntu-testingtetapi ketika saya mencoba menjalankan perintah apa pun di bawah bin, saya selalu mendapatkan:

    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
    

Saya mencoba menggunakan pip untuk menginstal schroot, tetapi tampaknya mereka tidak memiliki pelaksana di dalamnya.

Tolong bantu.

Ray Sun
sumber
1
Saya telah membuka tautan yang Anda berikan dan mendapatkan teks kesalahan ini: HTTP ERROR 404 Masalah mengakses / melihat / Openstack_Testing / tampilan / Grizzly / job / precision_grizzly_keystone_stable / 275 / consoleText. Alasan: Tidak Ditemukan Didukung oleh Jetty: //
Cristiana Nicolae
1
tautan serupa yang dia sediakan adalah jenkins.qa.ubuntu.com/view/Openstack_Testing/view/Grizzly/job/…
ashubuntu

Jawaban:

1

sbuildmembangun sebuah paket di lingkungan terisolasi menggunakan schroot. Dalam lingkungan ini, hanya dependensi build yang dideklarasikan oleh paket source yang diinstal, dan tidak ada yang lain. Ini membantu memastikan bahwa build tidak dipengaruhi oleh pengembang atau lingkungan CI tempat asalnya. Misalnya, tanpa sbuild, keberadaan paket di lingkungan CI mungkin membuatnya terlihat bahwa build berhasil ketika sebenarnya itu adalah dependensi build yang tidak dideklarasikan dan gagal di tempat lain. Untuk alasan reproduktifitas dan stabilitas, lebih baik menggunakan sbuild.

Robie Basak
sumber