make-test-release: Ein Werkzeug für Ubuntu-Paketbetreuer
Mit den Skripten des Pakets »make-test-release« lässt sich das Bauen von Paketen weitgehend automatisieren.
Während ich ein neues Paket für Ubuntu erstellt habe, schrieb ich mir ein paar kleine Hilfsskripte mit dem Namen »make-test-release«.
Diese Kollektion besteht aus den Skripten
- make-test-release
- switch-chroot-precise
- switch-chroot-utopic
- switch-chroot-trusty
Was passiert?
Zuerst führt man eines der »switch-chroot«-Skripte aus, welche die gewünschte Ubuntu-Version in der chroot installieren. Die gewählte Version wird in der eigenen Datei /etc/make-test-release/make-test-release.cfg vermerkt.
Als nächstes bereitet man ein Recipe-File vor. Dazu kann etwas wie dieses vorbereitet werden:
# bzr-builder format 0.3 deb-version {debupstream}-0~{revno:packaging}+{time} lp:daps merge packaging lp:~sascha-manns-h/daps/daps-ubuntu
Dies wird anschließend abgespeichert als MeinProgramm.recipe.
Ist dies vorbereitet, genügt ein Aufruf von make-test-release
im aktuellen Verzeichnis.
Das Programm versucht die .recipe-Datei selbstständig zu finden, andernfalls fragt es danach. Nach dem Start legt das Programm zwei Verzeichnisse an: logs und working-dir. Falls im aktuellen Verzeichnis bereits die beiden Verzeichnisse existieren, löscht es den Inhalt des working-dir. Ist dies abgeschlossen, startet es bzr dailydeb
. In diesem Schritt wird auch die *.dsc-Datei erstellt.
Auf diese greift der nächste Schritt zu. Er benutzt die soeben erstellte *.dsc-Datei mit pbuilder build
. Geht alles gut, dann gibt make-test-release
die Namen der neu gebauten Pakete aus, die sich in /var/cache/pbuilder/results befinden. Mittels spezieller Hook-Skripte lässt sich der Bauprozess weiter an die Bedürfnisse anpassen.
Dies alles ermöglicht eine Emulation eines Launchpad-Baus auf dem lokalen Rechner. Mittels make-test-release
kann ein Packager künftig mit nur einem Befehl einen Test-Build vornehmen.
Das Launchpad-Projekt befindet sich hier. Fehlermeldungen und Feature-Wünsche sind dort immer willkommen.
Wie bekomme ich make-test-release?
sudo add-apt-repository ppa:sascha-manns-h/make-test-release sudo apt-get update sudo apt-get install make-test-release
Die aktuelle Version ist 1.3 (Otto Lindenbrook).