ฉันพบงานสร้าง OpenStack บนไซต์ QA ของ Ubuntu แต่ฉันสับสนเล็กน้อยเกี่ยวกับขั้นตอนการสร้าง
นี่คือลิงค์สำหรับขั้นตอนการสร้าง: https://jenkins.qa.ubuntu.com/view/Openstack_Testing/view/Grizzly/job/precise_grizzly_keystone_stable/275/consoleText
จากบันทึกการสร้าง jenkins ฉันรู้ขั้นตอนวิธีที่ Ubuntu สร้างแพ็คเกจ Openstack:
- รับรหัส openstack จาก gitHub ใช้
git clone
- สร้าง
openstack tar.gz
ไฟล์โดยใช้python setup.py sdist
- ใช้
bzr
เพื่อรับไฟล์ควบคุม debian ซึ่งเป็นการบำรุงรักษาตามมาตรฐาน - ใช้
dch
คำสั่งเพื่อสร้างรุ่นบิลด์ใหม่ - ใช้
bzr builddeb -S -- -sa -us -uc
เพื่อสร้างแพ็กเกจซอร์สและไฟล์ควบคุมที่เกี่ยวข้องเช่นdsc
- ลงนามในแพคเกจ
- ใช้
mk-build-deps
เพื่อติดตั้งการพึ่งพา - ใช้
sbuild
เพื่อสร้างแพ็คเกจ deb จริง - อัปโหลดไปยัง repos ทดสอบ
คำถามของฉันคือ:
- ในขั้นตอนที่ 5 เราสามารถสร้างแพ็กเกจ deb ได้โดยไม่ต้อง
-S
แต่ทำไมเราใช้sbuild
เพื่อสร้างมันขึ้นมา? นี่เป็นเพียงลายเซ็นต์เท่านั้น - ความแตกต่างระหว่าง
bzr builddeb
และsbuild
คืออะไร ฉันพบสคริปต์สร้างที่เจนกินส์ใช้อยู่ที่นี่:
~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 แต่ดูเหมือนว่าพวกเขาไม่มีตัวเรียกใช้งานอยู่
กรุณาช่วย.