Confuso sulla creazione di pacchetti OpenStack?


19

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:

  1. ottieni il codice openstack da github, usa git clone
  2. compilazione openstack tar.gzfile utilizzandopython setup.py sdist
  3. usare bzrper ottenere i file di controllo debian che è manutenzione da canonica
  4. usa il dchcomando per generare una nuova versione di build e assegnarla a local
  5. utilizzare bzr builddeb -S -- -sa -us -ucper generare il pacchetto sorgente e il relativo file di controllo, come ad esempiodsc
  6. firma il pacchetto
  7. utilizzare mk-build-depsper installare la dipendenza
  8. utilizzare sbuildper generare i pacchetti deb reali
  9. caricare nei repository di prova

Le mie domande sono:

  1. Nel passaggio 5, possiamo già generare i pacchetti deb senza -S, ma perché finalmente usiamo sbuildper generarlo? Questo è solo per la firma?
  2. Qual è la differenza tra bzr builddebe sbuild?
  3. Ho trovato gli script di build che jenkins ha usato si trova qui:, ~openstack-ubuntu-testing/openstack-ubuntu-testingma quando provo a eseguire qualsiasi comando sotto bin, 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.


1
Ho aperto il collegamento che hai fornito e ho ricevuto questo testo di errore: ERRORE HTTP 404 Problema di accesso / visualizzazione / Openstack_Testing / view / Grizzly / job / precise_grizzly_keystone_stable / 275 / consoleText. Motivo: non trovato Alimentato da Jetty: //
Cristiana Nicolae,

Risposte:


1

sbuildcrea un pacchetto in un ambiente isolato usando schroot. In questo ambiente, vengono installate solo le dipendenze di build dichiarate dal pacchetto di origine e nient'altro. Questo aiuta a garantire che la build non sia influenzata dallo sviluppatore o dall'ambiente CI da cui viene eseguita. Ad esempio, senza sbuild, la presenza di un pacchetto nell'ambiente CI potrebbe far sembrare che la compilazione abbia esito positivo quando in realtà si trattava di una dipendenza di compilazione non dichiarata e quindi fallisce ovunque. Per motivi di riproducibilità e stabilità, è meglio usare sbuild.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.