Ray*_*Sun 19 package-management packaging openstack
我在 Ubuntu QA 站点上找到了 OpenStack 构建任务,但我对构建步骤有点困惑。
这是构建步骤的链接:https : //jenkins.qa.ubuntu.com/view/Openstack_Testing/view/Grizzly/job/precise_grizzly_keystone_stable/275/consoleText
从 jenkins 构建日志中,我知道 Ubuntu 构建 Openstack 包的步骤:
git cloneopenstack tar.gz使用构建文件python setup.py sdistbzr获取由规范维护的 debian 控制文件dch命令生成新的构建版本并将其提交到本地bzr builddeb -S -- -sa -us -uc生成源码包及相关控制文件,如dscmk-build-deps安装依赖sbuild生成真正的 deb 包我的问题是:
-S,但是为什么最后还要用sbuild它来生成呢?这只是为了签名吗?bzr builddeb和 和有sbuild什么区别?我发现 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
Run Code Online (Sandbox Code Playgroud)我尝试使用 pip 安装 schroot,但似乎他们没有执行程序。
请帮忙。
sbuild使用 . 在隔离环境中构建包schroot。在此环境中,仅安装源包声明的构建依赖项,而不安装其他任何东西。这有助于确保构建不受开发人员或运行它的 CI 环境的影响。例如,如果没有 sbuild,CI 环境中存在的包可能会使构建看起来成功,而实际上它是未声明的构建依赖项,因此在其他地方都会失败。出于可重复性和稳定性的原因,最好使用 sbuild。
| 归档时间: |
|
| 查看次数: |
1193 次 |
| 最近记录: |