Seite 1 von 1

Debian Pakete bauen

Verfasst: Mi Apr 20, 2011 2:49 pm
von Dirty Oerti
Tag zusammen :)

Nachdem ich in letzter Zeit so einiges an Projekten laufen hatte und habe, die alle mehr oder weniger auf verschiedene Versionen hinauslaufen und alle zentral über ein Skript innerhalb eines ChrootSystems installiert werden müssen, möchte ich diese aus den Projekten hervorgegangenen Programme gerne in anständige (^^) Debian Pakete verwandeln.

Bisher habe ich mich dazu immer an Kerli's Webseite gewandt, welche eine recht schnelle Art zeigt, ein Paket zu erstellen.

Was mir allerdings die ganzen Anleitungen zu dem Thema weiß machen möchten, verwirrt mich nun schon wieder sehr.
Mein Ziel ist es, die Pakete so zu packen, dass ich sie z.B. auf Launchpad stellen kann.

Kennt sich jemand weitergehend mit dem Erstellen von Debian Paketen aus? Damit meine ich so Sachen wie Checksums, Changelogs, Post/preinst, distutils, dh_make und was weiß Gott noch alles.

Um mal etwas konkreter zu werden:
Im Moment habe ich ein Python Skript, welches zur Authentifizierung an einem Server eine hübsche GUI darstellt.
Das Skript benötigt eine xml Datei, aus welcher die GUI aufgebaut wird. Außerdem benötigt es 1 Bilddatei.
Ich habe also 1 Skript, 1 xml Datei, 1 Bilddatei.
Gibt es eine Möglichkeit, so dass ich im Skript nicht den exakten Pfad zur xml / Bilddatei angeben muss, sondern z.B. nur so etwas:
"SHARED_FILES/gui.xml"

Hilfe? Manchmal sieht man echt den Wald vor lauter Bäumen nicht mehr...


*Linksammlung*
http://ubuntuforums.org/showthread.php?t=1503527
https://wiki.ubuntu.com/PackagingGuide/Python
http://www.debian.org/doc/manuals/maint-guide/
http://www.debian.org/doc/manuals/developers-reference/
http://www.debian.org/doc/packaging-man ... on-policy/
http://www.debian.org/doc/debian-policy/ (Ich finde es ja erstaunlich, es gibt eine Anleitung für die Anleitung ...)
http://wiki.ubuntuusers.de/Paketbau
http://wiki.ubuntuusers.de/dh_make

Re: Debian Pakete bauen

Verfasst: Do Apr 21, 2011 1:32 pm
von Kerli
Dirty Oerti hat geschrieben:Kennt sich jemand weitergehend mit dem Erstellen von Debian Paketen aus? Damit meine ich so Sachen wie Checksums, Changelogs, Post/preinst, distutils, dh_make und was weiß Gott noch alles.
Teilweise. Zumindest schaffe ich es meistens nach dem Richtigem zu suchen^^
Dirty Oerti hat geschrieben:Gibt es eine Möglichkeit, so dass ich im Skript nicht den exakten Pfad zur xml / Bilddatei angeben muss, sondern z.B. nur so etwas:
"SHARED_FILES/gui.xml"
So etwas ähnliches habe ich in einem meiner Programme auch benötigt. Dort habe ich es so gelöst, dass ich das Basisverzeichnis in einer Variable stehen habe, die auf einen bestimmten default-Wert gesetzt wird. Sollte man ein anderes Verzeichnis verwenden wollen kann man das dann über eine Environmentvariable ändern.

Andere Möglichkeiten wären noch den Pfad in einer Konfigurationsdatei anzugeben oder wenn der Pfad bei der Installation bereits bekannt ist das Skript durch eine postinstall-Skrip anpassen zu lassen (Ev. auch einfach eine Datei mit allen Pfaden generieren...)

Um eine Idee zu bekommen wie post/pre Skripte aufgebaut sind lohnt sich auch ein Blick in bereits vorhandenen Pakete.

Re: Debian Pakete bauen

Verfasst: Sa Apr 23, 2011 12:29 pm
von Dirty Oerti
Tag :)

Nein, mein Ziel ist es ja, den letztendlichen Pfad im Quelltext NICHT angeben zu müssen, so dass es bei einer Installation in ein anderes Verzeichnis (z.B. unter einem anderen Betriebssystem) trotzdem funktioniert.

Eine Lösung ist denke ich folgendes:
http://wiki.python.org/moin/Distutils/Tutorial

Dazu noch das:
https://wiki.ubuntu.com/PackagingGuide/ ... lper%20way

Und nun versuche ich das ganze mal. Ich berichte von (Miss)Erfolgen.
Letztendliches Ziel ist ja, das ganze in ein Launchpad Repo zu bekommen.
Am tollsten wäre auch, wenn ich es direkt vom Bazar Repo ins Launchpad Package Repo bekommen würde, iwie soll das nämlich auch funktionieren...

Re: Debian Pakete bauen

Verfasst: Mo Mai 09, 2011 10:07 pm
von Xin
Dirty Oerti hat geschrieben:Und nun versuche ich das ganze mal. Ich berichte von (Miss)Erfolgen.
Der Thread ging nicht weiter.

Ich bin aber trotzdem neugierig.