Login
Newsletter
Werbung

Do, 4. Oktober 2012, 15:00

Die GNU Source Release Collection

Gerade vor Kurzem wurde die GNU SRC (Source Release Collection) in Version 12.09 veröffentlicht. Dieser Artikel stellt sie kurz vor.

Was ist die GNU Source Release Collection?

Mit gsrc installierte Version 24.2 von Emacs

Hans-Joachim Baader

Mit gsrc installierte Version 24.2 von Emacs

Die Beschreibung sagt eigentlich schon alles: GSRC, die GNU Source Release Collection, stellt eine einfache Möglichkeit für GNU-Anwender dar, die neuesten offiziell veröffentlichten Versionen der GNU-Pakete zu beziehen und zu compilieren. Es ist vergleichbar mit dem unter BSD entstandenen pkgsrc, enthält aber nur einige hundert GNU-Pakete.

Aufgrund der Namensähnlichkeit von gsrc zu pkgsrc könnte man vermuten, dass die Source Release Collection ziemlich groß ist. Tatsächlich enthält sie auch sehr große Projekte, aber ihr Ziel ist sicher nicht, den Umfang von pkgsrc oder anderen Build-Systemen oder Ports-Sammlungen zu erreichen. Vielmehr beschränkt sie sich auf die offiziellen GNU-Projekte.

Einige dieser GNU-Projekte sind ein unverzichtbarer Bestandteil vieler Linux-Distributionen, beispielsweise aspell, bash und gzip, andere sind optional verfügbar. Für viele Anwender gibt es also keinen Grund, gsrc einzusetzen. Will man sich dagegen aktuellere Versionen bestehender Pakete oder nicht paketierte Software aufs System holen, könnte sich gsrc als praktisch erweisen. Man kann natürlich auch jedes dieser Pakete als Quellcode-Archiv von einem GNU-Server holen, entpacken und (meist) mit dem Dreisatz ./configure && make && make install installieren. Mit gsrc kann man sich die Sache vereinfachen, besonders wenn man es öfter macht.

Installation

Vorweg sollte man anmerken, dass gsrc wohl noch nicht so lange existiert und sich in einem fortwährenden Prozess der Erweiterung und Verbesserung befindet. Das geht aus der Ankündigung der Version 2012.09.06 hervor.

gsrc beruht wesentlich auf dem Versionsverwaltungssystem Bazaar. Dieses ist natürlich auch in gsrc vorhanden, aber um gsrc in Gang zu bringen, muss Bazaar zunächst aus anderen Quellen installiert werden. Falls es von der Distribution nicht bereitgestellt wird, findet man es vielleicht als Binärpaket bei Canonical. Wenn man hier nicht fündig wird, kann man bei Drittanbietern suchen. Hier greifen die üblichen Vorsichtsmaßnahmen, man sollte nur auf vertrauenswürdige Quellen zurückgreifen. Für Slackware ist dies beispielsweise Slackbuilds.org. Bei Slackbuilds handelt es sich jedoch letzlich um Quellcode-Pakete. Wenn man dieses heruntergeladen hat, kann man es entpacken, was ein Unterverzeichnis bzr ergibt. Man wechselt in das Verzeichnis und gibt ./bzr.Slackbuild ein. Das resultierende Paket kann man mit installpkg bzr-<Version>-<Architecture>-1_SBo.tgz installieren.

Den Quellcode von Bazaar findet man auf Launchpad. Die Installation ist auch in diesem Fall simpel: Als Root führt man

python setup.py install

aus. Die nötigen Voraussetzungen findet man in der Datei INSTALL.

Nachdem eine funktionierende bzr-Installation vorhanden ist, lässt sich gsrc schnell einrichten. Man wechselt in ein Verzeichnis, in dem das automatisch angelegte Verzeichnis gsrc zu liegen kommen soll. Nun führt man folgende Zeilen aus, wovon die erste wahrscheinlich etwas länger dauert:

bzr checkout bzr://bzr.savannah.gnu.org/gsrc/trunk/ gsrc
cd gsrc
./bootstrap
./configure --prefix=/usr/local

Es ist auch möglich, bzr checkout --lightweight statt bzr checkout zu verwenden. Dies lädt nur die Informationen zur jeweils neuesten Version jedes Projekts herunter und geht somit schneller. Der Aufruf ./bootstrap sorgt dafür, dass das Skript »configure« angelegt wird. Das muss im nächsten Schritt ausgeführt werden. Mit der Option --prefix gibt man an, wo die Programme installiert werden sollen. Will man keine eigene Verzeichnishierarchie anlegen, ist wie immer /usr/local eine gute Wahl. Wenn man ein anderes Verzeichnis wählt, muss man normalerweise diverse Umgebungsvariablen, die Pfadangaben enthalten (PATH und andere) erweitern. Das Skript setup.sh nimmt einem diese Aufgabe ab, man muss es nur an geeigneter Stelle einbinden:

source <Pfad zum gsrc-Verzeichnis>/setup.sh

Um gsrc aktuell zu halten, sollte man von Zeit zu Zeit

bzr update

ausführen. Das aktualisiert die Informationen über die jeweils neuesten Versionen.

Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung