Debian Package erstellen – Quick&Dirty

Friday, 18. September 2009

Zunächst erstellt man folgende Verzeichnisstruktur.  Wichig ist ein Ordner namens “debian“, in diesem werden die Unterordner wie folgt erstellt:

debianpackage1

Das Verzeichnis DEBIAN/ ist Pflicht (und sollte im weiteren korrekterweise noch mehrere Dateien beinhalten, aber wir halten uns an die minimal Methode)

Das Verzeichnis usr/ ist bereits die Verzeichnisstruktur mit den selbst erstellten Dateien wie sie am System nach der installation aussehen sollte. “debian” ist hier quasi das root (/) Verzeichnis.

Nun ist noch der Inhalt der Datei “control” von hoher Wichtigkeit und sollte in etwa das Folgende beinhalten.

Package: revvnc
Version: 0.1
Section: x11
Priority: optional
Architecture: all
Depends: xtightvncviewer, x11vnc, python
Maintainer: xapient <x@gmx.net>
Description: Reverse-VNC GUI for Viewer and Server
 This script provides an easy to use userinterface for tightvnc and x11vnc

Ist die Verzeichnisstruktur erstellt und mit dem eigenen Programm befüllt kann man in der Konsole bereits das .deb Paket erstellen. Hierfür bedient man sich folgender Kommandozeile:

dpkg-deb --build debian
mv debian.deb revvnc_0.1_all.deb

Das Paket namens revvnc_0.1_all.deb wurde erstellt und kann mit einfachem Doppelklick installiert werden 😀

PS: Es ist anzunehmen das Debianmaintainer mir dieses Paket nachschmeissen würden. Ich werde das Howto sobald ich wieder Zeit finde verfeinern. Es fehlen noch einige WICHTIGE Aspekte (owner, permissons, fileextension, copyrightfile, manpage, changelog, etc. müssen noch bedacht werden)

Debian Package erstellen – auf dem Weg zur Besserung

An dieser Stelle ist es wichtig die Pakete “fakeroot” und “lintian” vorzustellen. Beides findet man über den Paketmanager und dient der Verifizierung und Erstellung ordentlicher Debianpakete. Lintian hilft Fehler aufzuzeigen und die Richtlinien einzuhalten – Fakeroot hilft Dateibesitzer und Zugriffsrechte in die richtige Richtung zu biegen.

fakeroot dpkg-deb --build debian | lintian debian.deb
mv debian.deb revvnc_0.2-1_all.deb
sudo dpkg -i revvnc_0.2-1_all.deb

Geht man wie oben vor, so werden die Dateien im Paket dem Benutzer “root” zugeteilt (wie es sich gehört) und das Paket “debian.deb” sogleich von Lintian auf Schwachstellen überprüft. Hat man bis jetzt das HowTo befolgt so wird Lintian an vielen Stellen protestieren. Zunächst ist es vielleicht hilfreich sich die Verzeichnisstruktur eines Paketes anzusehen, welches von Lintian abgesegnet wurde.

paket1

Wie man unschwer erkennen kann sind einige Dateien hinzugekommen. “changelog.Debian.gz” und “revvnc.1.gz” (die manpages müssen für jede Datei im Verz. ./usr/bin/ vorhanden sein) sind mit gzip komprimiert – dies wird vorrausgesetzt! # gzip -9 revvnc.1 hilft hier z.B.

Die Scripts im Verzeichnis ./usr/bin/ sollten keine Dateiendung besitzen und die Rechte 0755 zugewiesen bekommen. Lintian wird hier für jede Datei im Paket sehr genaue Auskünfte geben und dem geneigten Paketersteller die Details abnehmen. Auch die Manpages, die Copyrightdatei und die Changelogdatei sollten einem genauen Syntax folgen. Auf dieser Seite erhält man zu jeder Lintianmeldung Information: http://lintian.debian.org/tags.html

Den ungefähren Syntax der wichtigsten Dateien kann man sich auf seinem eigenen System in den ensprechenden Verzeichnissen von anderen Applikationen ablesen bzw. das im Screenshot erstellte Paket genauer begutachten:  http://flexible.xapient.net/?p=234

🙂 🙂

Viel Erfolg!

Comments are closed.