Open Source im professionellen Einsatz
Linux-Magazin 06/2011
© Helder Almeida, 123RF.com

© Helder Almeida, 123RF.com

Das neue Sourceformat für Debian-Pakete

Zusammenpacken!

Debian 6.0 enthält neben vielen angenehmen Features für Endnutzer auch eine wichtige Neuerung für Entwickler: das Source-Paketformat 3.0. Admins profitieren vom 3.0-Format durch neue Funktionen, die Bau und Pflege ihrer Pakete vereinfachen.

525

Die Veröffentlichung von Debian GNU/Linux 6.0 (Squeeze) ist für Admins von Debian-Systemen ein freudiges Ereignis. Denn Squeeze bringt neben Verbesserungen für den laufenden Betrieb auch essenzielle Neuerungen für all jene mit, die von der eigenen Software Debian-Pakete erstellen oder als Debian-Entwickler fertige Software für Debian vorbereiten: Dpkg in Squeeze beherrscht das Source-Paketformat 3.0 und bietet damit eine ganze Latte an Funktionen und Gimmicks, die das Verpacken von Software bequem machen. Der folgenden Artikel berichtet, welche Vorteile das neue Paketformat bringt.

Was noch immer gilt

Die Änderungen an Dpkg in Squeeze betreffen nur das Format der Sourcen eines Debian-Pakets. An den Binärpaketen ändert sich wenig: Noch immer handelt es sich bei ».deb« -Dateien um Ar-Archive der Version 2, die mit »ar x« ihren Inhalt preisgeben. Sie bestehen wie gewohnt aus den TGZ-Archiven »binary.tar.gz« und »control.tar.gz« und einer Textdatei namens »debian-binary« .

Zwar sind im Lauf der Jahre ein paar optionale Felder im »control« -File eines Pakets dazugekommen, wer nachschauen möchte, findet sie in »control.tar.gz« . Diese Optionen betreffen die meisten Entwickler aber nicht.

Maßgeblich sind die Veränderungen an den Dateien, aus denen später fertige ».deb« entstehen. Wer sich schon mit dem Debian-Paketing befasst hat, weiß: Die Quellen eines Pakets umfassen die originalen Quellen eines Programms. Sie liegen in Form eines TGZ-Archivs mit der Endung ».orig.tar.gz« vor. Dazu gehört eine Datei, die auf ».diff.gz« endet – sie enthält dann alle Veränderungen, die der Paketbauer am originalen Quelltext während des Paketierungsvorgangs vorgenommen hat.

Zu den beiden Dateien gesellt sich eine dritte mit der Endung ».dsc« , die den Namen des Quellpakets sowie Informationen wie etwa die MD5- und SHA-Checksummen und zusätzlich die Größe der beiden zuvor erwähnten Dateien enthält. Sie ist vom Paketbauer zu signieren und landet bei offiziellen Paketen mit den zwei anderen Dateien auf dem Debian-FTP-Server.

Eine geht, eine kommt

So war es bisher, und an dieser Stelle treffen Paketbauer auf die erste handfeste Neuerung im 3.0-Format: Statt der ».diff.gz-Datei« gibt es nun eine ».debian.tar.gz« -Datei, die die Debian-eigenen Veränderungen enthält. Der Grund für die Änderung: Die ».diff.gz« -Dateien waren normale Patches, die »dpkg-buildpackage« auf den entpackten Original-Quelltext mittels »patch« anwendeten.

Diese Prozedur stößt bei Binärdateien jedoch schnell an ihre Grenzen: Patches sind Textdateien, in denen sich Binaries nur über Umwege wie »uuencode« und »uudecode« unterbringen lassen. PNG-Icons sind ein gutes Beispiel: Ein im Debian-Unterverzeichnis existierendes PNG-Bild hat »dpkg-buildpackage« bisher einfach ignoriert. Der Maintainer musste es deshalb erst in Base64 enkodieren und später beim Paketbau per »rules« -Anweisung wieder zurückwandeln.

Im Sourceformat 3.0 ist dieser Umweg nicht mehr nötig: Die ».debian.tar.gz« -Datei entpackt der Ersteller des Pakets in das »debian« -Unterverzeichnis. Alle Dateien, die im TGZ-Archiv liegen, landen im Quelltext und sind von dort aus weiter verwendbar.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 4 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Quilt 0.60 ist architekturneutral

    Quilt, eine Software zum Verwalten von Quelltext-Patches, ist in Version 0.60 verfügbar.

  • Debianopolis

    Debian ist frei und seine Entwickler sind Kosmopoliten. Das Linux-Magazin berichtet regelmäßig Interna aus der Debian-Entwicklerszene und angrenzenden Projekten.

  • Gut verpackt

    Wer seine Geschenke letztes Jahr zu klein fand, der schnürt sich einfach sein eigenes Paket nach dem Debian-Standard. Mit wachsender Anzahl Debian-basierter Distributionen steigt auch die Bedeutung des als besonders komfortabel geltenden Formats.

  • Git als Helfer beim Pakete-Bau

    2005 bereicherte Kernel-Schöpfer Linus Torvalds die Landschaft der freien Versionskontrollsysteme um ein weiteres Projekt. Die Entwicklung von und mit Git, dessen Name ein britischer Slangausdruck für eine einfältige Person ist, steht seither nicht still. Git ist nicht nur für Programmierer, der klassischen Benutzerbasis interessant - auch die Paketierer von Linux-Distributionen wie Debian profitieren von dem Werkzeug.

  • Dgit

    Dgit verbindet als Zwei-Wege-Gateway das Debian-Archiv mit einem Git-Repository. Das beschert Paketbetreuern ganz neue Möglichkeiten der Softwareverwaltung, verbessert aber auch den allgemeinen Umgang mit Debian-Quellpaketen und dem Archiv.

comments powered by Disqus

Ausgabe 08/2017

Digitale Ausgabe: Preis € 6,40
(inkl. 19% MwSt.)

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.