Linuxtag 2010: Debian-Entwickler erläutert Softwarepaketbau

Linuxtag 2010: Debian-Entwickler erläutert Softwarepaketbau

Packstation

Mathias Huber
11.06.2010 Auf der Debian-Minikonferenz im Rahmen des Linuxtags hat Axel Beckert seinen Kollegen vorgestellt, wie sich Softwarepakete automatisiert aus Entwickler-Repositories bauen lassen.

Die normalen Pakete der Distribution gehen durch die Qualitätskontrolle des Maintainers und werden manuell erstellt. Für Entwickler dagegen könne auch ein automatischer Build des aktuellen Codebestands nützlich sein, erklärte Beckert. So lässt sich die Software rasch installieren oder an die Tester-Community verteilen.

Der Changelog-Eintrag solcher Nightly Builds sollte allerdings klar stellen, dass es sich um ein ungeprüftes Paket handelt. Die verwendeten GPG-/SSH-Keys erhalten für die Automatisierung keine Passphrase und sollten daher für keine weiteren Zwecke eingesetzt werden, gab der Informatiker zu bedenken.

Das Erzeugen der Versionsnummer erfolgt nach einem besonderen Muster. Sie enthält einen Zeitstempel und einen Verweis auf den Snapshot oder das Versionskontrollsystem. Die Versionsnummer sollte kleiner sein als die des offiziellen Pakets, um versehentliches Überspielen zu verhindern. Dabei kann die Nummer sogar negativ sein, was bei Debian-Paketen durch eine Tilde ausgedrückt wird. Als Distribution dient die Bezeichnung "Unreleased", die das versehentliche Hochladen in ein offizielles Paketarchiv verhindert.

Am Beispiel des Gecko-basierten Webbrowsers Conkeror stellte Beckert sein Verfahren vor. Aus dem Git-Repository des Upstream-Projekts wird zunächst der neueste Code per Git-Pull abgeholt. Ein weiterer Checkout holt die Debian-Version des Maintainers, möglicherweise auch aus einem anderem Versionskontrollsystem. In einem Build-Directory erstellen Skripte das Archiv der Upstream-Version *orig.tar.gz, bilden den Diff zur Debian-Version und bauen aus dieser ein Binär- und ein Source-Paket. Anschießend wandern die Pakete in ein Apt-Archiv für Entwickler, dessen Paketliste aktualisiert wird.

Axel Beckert plant, als nächstes ein generisches Skript für Debian-Entwickler zu veröffentlichen, mit dem sich beliebige Pakete aus Snapshots von Versionskontrollsystemen bauen lassen. Das Feedback aus der Runde der anwesenden Debianer zeigte, dass andere Maintainer ähnliche Techniken einsetzen. Ein Teilnehmer schlug vor, ein komplettes Continuous-Integration-System wie Hudson einzusetzen.

Ähnliche Artikel

Kommentare

Aktuelle Fragen

Würde gerne openstreetmap.de im Tor-Browser benutzen, oder zu gefährlich?
Wimpy *, 21.08.2017 13:24, 0 Antworten
Im Tor-Netzwerk (Tor-Browser) kann ich https://www.openstreetmap.de/karte.html# nicht nutzen....
Samsung VG-KBD1500 - Bluetooth-Tastatur mit Touchpad mit Xubuntu 16.04.2 LTS
Linux- & BSD-UserGroup im Weserbergland, 16.08.2017 19:16, 0 Antworten
Bin grad mit "meinem Latein am Ende" darum hier mal so in den Raum geworfen. Samsung VG-KBD1500 -...
Tails verbindet nicht mit WLan
Georg Vogel, 30.07.2017 15:06, 5 Antworten
Hallo zusammen! Habe mir von Linux Mint aus einen Tails USB-Stick erstellt. Läuft soweit gut,...
Genivi for Raspberry Pi 3
Sebastian Ortmanns, 28.07.2017 10:37, 1 Antworten
I try to build a Genivi Development Platform for Rasberry Pi 3. But I always get the failures bel...
Bash awk Verständnis-Frage
Josef Federl, 22.07.2017 17:46, 2 Antworten
#!/bin/bash # Skriptdateiname = test.sh spaltennummer=10 wert=zehner awk '{ $'$spaltennummer'...