Debian-Paket erstellen

Aus Siduction Wiki DE
Wechseln zu: Navigation, Suche

Vorbemerkung

Hier finden sich meine Erfahrungen, den sidu-installer in ein Debian-Paket zu verwandeln.

Voraussetzungen

 apt-get install build-essential devscripts dh-make debhelper git-buildpackage maint-guide

Das letzte Paket enthält die offizielle Dokumentation, die aktuellste ist bei [1] zu finden.

Tipps

  • Zuerst den Guide für neue Paketmaintainer lesen und wenigstens ansatzweise begreifen.
  • Die Datei debian/rules enthält Tabulatoren zur Strukturierung! Passenden Editor benutzen: Der darf nicht Tabs ersetzen, wie z.B. mcedit, oder "falsch" eingestelltes Eclipse. Der Hintergrund ist, dass debian/rules ein Makefile ist und nach den Regeln eines Makefiles aufgebaut ist. Diese unterscheiden sich gravierend von normalen bash-Files.
  • Hinter einem Target dürfen andere Targets stehen, in den darauffolgenden Zeilen bringen sie Fehler, da werden sie anders behandelt (zur korrekten Anwendung von Abhängigkeiten hilft ebenfalls die Dokumentation von make).
  • debian/rules: DH_VERBOSE=1 aktivieren, also Kommentarzeichen '#' wegnehmen.

Erzeugen der Struktur mittels dh_make

Zuerst eine Datei ~/.devscripts anlegen, Emailadresse und Namen eintragen:

 DEBEMAIL="me@sidu-installer-autor.de"
 DEBFULLNAME="Jonny Weißmüller"

dh_make erzeugt die notwendigen Dateien. Dazu muss es in dem Quellverzeichnis gestartet werden:

 cd ~/sidu-installer
 dh_make -s -p sidu-installer_0.1 -c gpl --createorig
  • -s besagt, dass es ein "single package" ist, der Normalfall.
  • -p legt Paketnamen und Version fest, getrennt durch '-'.
  • -c legt die Lizenz fest: gpl ist die aktuelle General Public Licence

Es werden jede Menge Beispieldateien erzeugt, die wir nicht brauchen, also entfernen:

 rm debian/*.ex debian/*.EX

Meist gibt es auch nichts Debian-spezifisches: dann

 rm debian/README.Debian
 rm debian/README.source

Änderungen in Debian-Dateien

Alle zu ändernden Dateien liegen im Unterordner debian.

  • Die Dateien copyright, control anschauen und mit sinnvollen Daten füllen
  • Die Datei install enthält die Regeln für die Installation:
install.php	usr/share/sidu-installer/
base		usr/share/sidu-installer/
plugins		usr/share/sidu-installer/
backend		usr/share/sidu-installer/

Es können auch Shell-Wildcards verwendet werden.

Leere Verzeichnisse werden in dirs angelegt:

var/lib/sidu-installer

Wenn ein Start-Stop-Script in /etc/init.d angelegt werden soll, wird dieses in die Datei init geschrieben.

Pflegen des Änderungslogs

Das Kommando

 # Im Arbeitsverzeichnis:
 dch --increment

trägt einen neuen Abschnitt mit hochgezählter Versionsnummer in die Datei debian/changelog ein.

Soll der aktuelle Abschnitt bearbeitet werden, so hilft ein:

 dch

Erstellen des Pakets

 cd ~/sidu-installer
 dpkg-buildpackage -uc -us

Es werden dann im Vaterverzeichnis Dateien angelegt:

  • sidu-installer_0.1-1_all.deb
  • sidu-installer_0.1-1.dsc
  • sidu-installer_0.1-1_amd64.changes
  • sidu-installer_0.1-1.tar.gz

Kommt der Fehler "Fehler: unmöglich, mit Quellformat »3.0 (quilt)« zu bauen: keine orig.tar-Datei gefunden", hilft ein Ändern der Datei debian/source/format: (quilt) ersetzen durch (native)