Paketierung: fest verdrahtete Verzeichnisstruktur

hippodriver

hippodriver

Grünschnabel
Hallo Unixfreunde!

Wie paketiere ich in Skriptsprachen geschriebene Programme, die eine vorgegebene Verzeichnisstruktur erwarten, richtig?

Um das Problem zu verdeutlichen, gehe ich hier speziell auf den Newsreader XPN und dessen Paketierung fuer arch linux ein. Das Programm verfuegt nicht ueber ein setup Skript, sondern wird einfach entpackt und los geht's.
Leider erwartet es, dass sich seine Module in Verzeichnissen unterhalb des Hauptprogramms befinden.
Code:
$ ls -l /opt/xpn
drwxrwxr-x  5 root root   4096 2006-06-02 14:32 lang
drwxrwxr-x  2 root root   4096 2006-06-02 14:32 pixmaps
-rwxrwxr-x  1 root root 114117 2006-03-10 15:34 xpn.py
drwxrwxr-x  2 root root   4096 2006-06-23 11:10 xpn_src

Ich habe das Problem jetzt "geloest", indem ich alles unter /opt/xpn installiere und zum Programmstart ein Shellskript in /usr/bin ablege. Siehe dazu PKGBUILD und xpn.install. Das verstoest aber eigendlich gegen die arch linux Paketierungsrichtlinien. Danach sollen nur grosse, eigenstaendige Programme in /opt installiert werden.

Es gibt mindestens noch zwei Alternativen:
Entweder das Programm samt Unterverzeichnisse nach /usr/bin installieren,
oder die import-Anweisungen in xpn.py aendern. Die erste Moeglichkeit muellt /usr/bin zu. Die Zweite muss fuer jede Programmversion angepasst werden und setzt vorraus, dass lediglich xpn.py Module importiert. Bei komplizierteren Programmen ist das sehr aufwaendig.

Gibt es eine standardisierte Vorgehensweise fuer solche Programme? Ich habe naemlich noch einen weiteren Kandidaten (bsvc), der deutlich komplizierter ist.


Mit freundlichen Gruessen
Michael Krauss
 

Anhänge

  • PKGBUILD.txt
    719 Bytes · Aufrufe: 1
  • xpn.install.txt
    625 Bytes · Aufrufe: 0
Genau das Gleiche hatte ich neulich bei Azureus.

Habs dann ähnlich gemacht wie du:

- Alles nach /opt verschoben
- in /usr/bin darauf verlinkt
- und das startskript angepasst

Das ist aber alles völliger Murks und IMHO echt völlig daneben von den Entwicklern.

AFAIK gibt es keine bessere Möglichkeit als das.
 
Dann bin ich ja beruhigt, oder auch nicht.
Jetzt ist der bsvc fuer Arch und Fedora dran.

Vielen Dank fuer die Antwort,
Michael Krauss
 

Ähnliche Themen

Eigentümer kann Datei nicht löschen

xrandr: cant open display

Rollei Mini Wifi Camcorder

OpenSuse 12.3 / Tiefschlaf funktioniert nicht

Planshift Problem

Zurück
Oben