I found OpenStack build task on Ubuntu QA site, but I am a little confused about the build steps.
Here's the link for build steps: https://jenkins.qa.ubuntu.com/view/Openstack_Testing/view/Grizzly/job/precise_grizzly_keystone_stable/275/consoleText
From the jenkins build log, I know the steps how Ubuntu build a Openstack packages:
- get openstack code from github, use
git clone - build
openstack tar.gzfile usingpython setup.py sdist - use
bzrto get the debian control files which is maintenance by canonical - use
dchcommand to generate a new build release and commit it to local - use
bzr builddeb -S -- -sa -us -ucto generate source package and related control file, such likedsc - sign the package
- use
mk-build-depsto install dependency - use
sbuildto generate the real deb packages - upload to testing repos
My questions is:
- In step 5, we already can generate the deb packages without
-S, but why we finally usesbuildto generate it? Is this only for signature? - What's the difference between
bzr builddebandsbuild? I found the build scripts which jenkins used is located here:
~openstack-ubuntu-testing/openstack-ubuntu-testing, but when I try to run any commands underbin, I always get: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
I tried to use pip to install schroot, but it seems they don't have a executor in it.
Please help.