Ho trovato l'attività di compilazione OpenStack sul sito QA di Ubuntu, ma sono un po 'confuso riguardo ai passaggi di compilazione.
Ecco il link per i passaggi di costruzione: https://jenkins.qa.ubuntu.com/view/Openstack_Testing/view/Grizzly/job/precise_grizzly_keystone_stable/275/consoleText
Dal registro di build di jenkins, conosco i passaggi su come Ubuntu crea un pacchetto Openstack:
- ottieni il codice openstack da github, usa
git clone
- compilazione
openstack tar.gz
file utilizzandopython setup.py sdist
- usare
bzr
per ottenere i file di controllo debian che è manutenzione da canonica - usa il
dch
comando per generare una nuova versione di build e assegnarla a local - utilizzare
bzr builddeb -S -- -sa -us -uc
per generare il pacchetto sorgente e il relativo file di controllo, come ad esempiodsc
- firma il pacchetto
- utilizzare
mk-build-deps
per installare la dipendenza - utilizzare
sbuild
per generare i pacchetti deb reali - caricare nei repository di prova
Le mie domande sono:
- Nel passaggio 5, possiamo già generare i pacchetti deb senza
-S
, ma perché finalmente usiamosbuild
per generarlo? Questo è solo per la firma? - Qual è la differenza tra
bzr builddeb
esbuild
? Ho trovato gli script di build che jenkins ha usato si trova qui:,
~openstack-ubuntu-testing/openstack-ubuntu-testing
ma quando provo a eseguire qualsiasi comando sottobin
, ottengo sempre: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
Ho provato a usare pip per installare schroot, ma sembra che non abbiano un esecutore.
Per favore aiuto.