Login
Newsletter
Werbung

Do, 4. Oktober 2012, 15:00

Die GNU Source Release Collection

Verwendung

Wenn man nur testen will, ob die Installation funktioniert, bietet es sich an, das Beispielprojekt GNU Hello zu compilieren:

make -C gnu/hello

Dieser Aufruf erstellt, wie Kenner von make wissen, das Standard-Target im Verzeichnis gnu/hello, in das make vorher wechselt. Die verwendeten Makefiles beruhen auf dem Bausystem gar. Dieses stellt ein komplexes Gebilde von Makefiles dar, durchaus ähnlich zu den BSD-Ports, das es letztlich ermöglicht, für jedes Projekt nur ein paar Variablen definieren zu müssen, wonach sich make um den Rest kümmert.

Im Falle von gsrc wird das Target all erstellt, das nur vom Target build abhängt, das seinerseits alles vom Herunterladen des Quellcodes über das Konfigurieren bis zum Compilieren durchführt.

Weil vor dem Compilieren eines Pakets auch dessen Abhängigkeiten, sofern vorhanden, compiliert und installiert werden müssen, kann es passieren, dass einem die Berechtigungen fehlen, das erzeugte Programm zu installieren. Das gleiche kann auch bei make install passieren. In diesem Fall muss man alles als Root ausführen. Installiert man dagegen in ein Verzeichnis, das einem selbst gehört, hat man dieses Problem nicht.

Im ersten Test wurde kein Target bei Make verwendet, sondern das implizite Standard-Target, das bei gsrc, entsprechend einer alten Konvention, all heißt. Man hätte also auch schreiben können:

make -C gnu/hello all

Die weiteren unterstützten Targets sind:

Target Wirkung
uninstall Deinstalliert die Projektdateien
clean Löscht heruntergeladene und generierte Dateien des Projekts
fetch Lädt den Quellcode von einem GNU-Server herunter (Gzip-komprimiertes Tar-Archiv)
checksum Prüft die SHA256-Prüfsumme der heruntergeladenen Datei
extract Entpackt die heruntergeladene Datei
configure Konfiguriert das Paket automatisch
fetch-list Gibt Informationen über das Paket und seine Abhängigkeiten aus
dep-list Gibt eine Liste der Abhängigkeiten des Pakets aus
makesums Prüft die Signatur der heruntergeladenen Datei

Die heruntergeladenen Dateien werden, samt SHA256-Signatur, im Verzeichnis cache abgelegt.

GNU-Entdeckungsreise

Die verfügbaren GNU-Pakete kann man sich durch das Auflisten des Verzeichnisses gnu ansehen. In Ausnahmefällen stehen auch Alpha- oder Betaversionen im Verzeichnis alpha zur Verfügung. Eine bessere Übersicht samt kurzer Beschreibung bietet allerdings die Sektion GNU im FSF-Software-Verzeichnis. Wie man sieht, ist eine ziemliche Fülle von Software vorhanden, von Bibliotheken über Kommandozeilenwerkzeuge und Compiler bis hin zu grafischen Anwendungen und Spielen.

Einige der bekannteren GNU-Pakete sind (wenn die Liste auch subjektiv ist) die Rechtschreibprüfung aspell, die Software-Konfigurationswerkzeuge autoconf/autogen/automake, die Shell Bash, der Telefonieserver Bayonne, die verteilte Versionsverwaltung Bazaar, die Klassiker Binutils, Bison und Flex für Software-Entwicklung, cfengine zur Konfigurationsverwaltung eines heterogenen Netzes, die freie Java-Laufzeitbibliothek Classpath, die allgegenwärtigen Coreutils, die Editoren Emacs, Zile, Nano und moe, die GNU Compiler Collection, der Bootloader Grub, der Flash-Player Gnash, die Statistik-Umgebung R, der PostScript-Interpreter GhostScript, die Finanzverwaltung GnuCash, die Arztpraxis-Software GNUMed, die PGP-Alternative GPG, das Krankenhaus-Informationssystem Health, glibc, die Mailinglisten-Verwaltung Mailman, die Dateimanager Midnight Commander und Nautilus, das Algebrasystem Octave, die Bibliotheken ncurses und readline.

Die Spiele sind mit GNU Chess, GNU Go, Gnubg (Backgammon), Gnushogi und vielen weiteren vertreten.

Interessanterweise ist LISP gleich mit zwei Systemen, dem ANSI-Common-Lisp-Compiler Clisp und GNU Common LISP, vertreten, die LISP-ähnliche Sprache Scheme ebenfalls mit zwei, nämlich Kawa und MIT-Scheme. Desweiteren sind Compiler bzw. Interpreter für viele weitere Sprachen vorhanden.

Auch die Desktopumgebungen Gnome und GnuStep gehören zu GNU, sind jedoch nicht in gsrc enthalten. Unter den aufgeführten Programmen befinden sich auch einige, die schon länger nicht mehr aktualisiert wurden und deren Status somit unklar ist. Andere sind offiziell eingestellt, beispielsweise GNU SQL, das eine freie SQL-Datenbank schaffen wollte, mit der Freigabe von MySQL und der Weiterentwicklung von Postgres zu PostgreSQL aber überflüssig wurde.

Fazit

GSRC ist interessant für alle, die hin und wieder aktuelle Versionen von GNU-Software benötigen und diese in ihrer Distribution nicht finden. Besonders könnte das auf die Anwender von Unternehmens-Distributionen zutreffen, die ja selten auf dem aktuellsten Stand der Entwicklung sind. Wer auf der Suche nach einem umfangreicheren Softwareangebot ist, für den ist pkgsrc vielleicht die bessere Alternative; die neuesten Versionen der GNU-Software darf man dort aber nicht in jedem Fall erwarten.

Nachteile hat gsrc allerdings auch. So arbeitet es seine Abhängigkeiten ab, unabhängig davon, was auf dem System bereits vorhanden ist. Das ist nicht immer schlecht, teilweise aber unnötige Arbeit. Dazu kommt, dass sich einige Projekte in bestimmten Umgebungen nicht compilieren lassen. Doch hier ist letztlich die Gemeinschaft gefragt, entsprechende Rückmeldungen oder Patches an die Entwickler zu liefern.

  • Das Werk darf vervielfältigt, verbreitet und öffentlich zugänglich gemacht werden, Abwandlungen und Bearbeitungen des Werkes müssen unter den gleichen Bedingungen weitergegeben werden. Der Name des Autors/Rechteinhabers muss in der von ihm festgelegten Weise genannt werden.

    - Weitere Informationen
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung