Software-Volumes

Volume beantragen

Softwarevolume

Ein Softwarevolume wird bereitgestellt für Software, die in der Standard-Distribution

  • gar nicht vorliegt
  • nur in einer älteren Version vorliegt
  • nur in einer nicht ausreichenden oder fehlerhaften Version vorliegt (evtl. bei Funktionen,
    die explizit beim kompilieren aktiviert werden müssen)
  • aus lizenztechnischen Gründen nicht vorliegen kann (also unfreie
    Software wie Adobe-Produkte).

Zu jedem Softwarevolume gehört ein RCINFO-Paket, um Benutzern eine möglichst einfache Auswahl der Software zu ermöglichen.

Wenn Du ein Softwarevolume benötigst, kann Du es per Mail an support@techfak.uni-bielefeld.de beantragen. Es wird dann ein Volume eingerichtet, in dem Du die entsprechende Software installieren kannst. Mehr Informationen dazu finden sich weiter unten in diesem Artikel.

Softwarevolumes

Struktur

Softwarevolumes sind strukturiert nach dem üblichen FHS-Schema.

Beispiel:

bin/ Programme des Softwarepaketes
lib/ Bibliotheken des Softwarepaketes
man/ Manpages für die entsprechenden Binaries
share/applications/ .desktop-Files, um GUI-Software ins Menü zu integrieren
doc/ Dokumentation des Softwarepaketes
src/ Quellcode inklusive lokale Patches

Neben diesen Verzeichnissen gibt es noch das TechFak-spezifische .rcinfo mit folgendem Inhalt

.rcinfo/description Beschreibung des Volumes (72 Zeichen), was man bekommt, wenn man das RCINFO-Paket für dieses Volume wählt
.rcinfo/maintainer TechFak-Username wer für dieses Volume verantwortlich ist
.rcinfo/environment Umgebungsvariablen welche benötigt werden, um die Software zu verwenden

 

Um in diese Struktur zu installieren reicht in den meisten Fällen die Verwendung des Schalters `--prefix` beim Compiledreisatz:
 ./configure --prefix="/vol/acme" && make && make install

 

unstrukturiert?

Mein (proprietäres) Softwarebundle ist aber nicht strukturiert, sondern kommt flach (alles in einem Ordner) daher. Kann ich nicht einfach ein flaches Volume bekommen?

Nein.

Flache Volumes für Softwarepakete erschweren unnötig die Pflege der Volumes und dazugehörigen RCINFO-Pakete.

Nicht gewartete RCINFO-Pakete führen dazu, dass Benutzer*innen Programme direkt aus den Unterverzeichnissen starten, oder sich die langen Pfade in Ihre Konfiguration übernehmen, mit den entsprechenden negativen Folgen bei Änderungen (z.B. Upgrades oder Umbenennung der Binaries).

Die dadurch auftretenden Fehler betreffen nicht nur die entsprechende Software, sondern führen auch zu fehlerhaftem Betrieb des gesamten Systems. Oftmals bleiben die Probleme auch lange Zeit unentdeckt, so dass der Zusammenhang nicht unmittelbar hergestellt werden kann, oder der Zustand bei Benutzer*innen als normal betrachtet wird (''Firefox stürzt immer ab, also nehme ich Opera™'').

Sollte Deine Software unstrukturiert daher kommen, empfehlen wir sie in einem Unterordner in das Verzeichnis lib/ zu legen:

/vol/acme/lib/alles-in-allem-15.0_de

und in bin/ einen Symlink auf die verfügbaren Binaries zu setzen:

/vol/acme/bin/feuerrot  /vol/acme/lib/alles-in-allem-15.0_de/feurrot-de-15.0.98 /vol/acme/bin/marineblau  /vol/acme/lib/alles-in-allem-15.0_de/marineblau-de-15.0.22

Ebenso können selbstverständlich kurze Bash-Skripte als Starter dienen.

Environmentvariablen

Damit Benutzer*innen die Software, bzw. zwischen unterschiedlichen Versionen auswählen können, benutzt RCINFO kleine Pakete, welche die Environmentvariablen definieren, die notwendig für den Betrieb der Software sind.

Das von uns bereitgestellte Standardpaket sieht wie folgt aus (wobei ${RCINFO_PACKAGE_NAME} durch den Namen Deines Volumes ersetzt wird):

 

PATH=/vol/${RCINFO_PACKAGE_NAME}/bin MANPATH=/vol/${RCINFO_PACKAGE_NAME}/man XDG_DATA_DIRS=/vol/${RCINFO_PACKAGE_NAME}/share

Sollte es nicht vermeidbar sein, dass Deine Volumekonfiguration von diesem Standardenvironment abweicht, so kannst Du die defaults überschreiben; so lassen sich auch zusätzliche Variablen definieren oder nicht benötigte auslassen:

PATH="/vol/chaosvolume/ACME Programme" LD_LIBRARY_PATH="/vol/chaosvolume/ACME Bibliotheken" JAVA_HOME="/vol/chaosvolume/ACME Java"

Übliche Variablen:

Variable Funktion
PATH Suchpfad für Programmbinaries befinden
LD_LIBRARY_PATH Suchpfad für Programmbibliotheken
MANPATH Suchpfad für manpages
XDG_DATA_DIRS Suchpfad für Menüeinträge der grafischen Benutzeroberfläche

Ansprechpartner

Du bist der/die Ansprechpartner*in für Nutzer*innen bei Problemen mit der von Dir bereitgestellten Software und sorgst bei Updates innerhalb der Version darum, dass sie zeitnah bereitgestellt werden.

Neuere Versionen

Bei neuen Versionen bekommst Du auf Anfrage ein weiteres Volume (z.B. /vol/NAME-1.2.3) für den Parallelbetrieb. Der default /vol/NAME sollte jeweils auf die Version zeigen, die die meisten Benutzer benötigen und z.B. nicht während eines Semesters oder vor wichtigen Terminen, wie Projektdemos, geändert werden.