Manuelle Arbeiten im ArchLinux Projekt


Anders als Debian oder Ubuntu funktioniert das ArchLinux Projekt weitestgehend autonom. Das heißt, es gibt mächtige Tools wie pacman oder makepkg welche die Distribution erstellen. Nur mit diesen Tools kann man einerseits eine sehr mächtige Linux-Distribution erzeugen auf der anderen Seite aber nur wenig Manpower dafür verwenden. Aber auch ArchLinux hat eine bürokratische Seite bei der Handarbeit und menschliche Intelligenz gefragt ist. Und zwar gibt es für das Erzeugen der PKGBUILD Dateien bis heute keine Tools sondern im wesentlichen ist der Prozess in Form von Guildelines https://wiki.archlinux.org/index.php/creating_packages beschrieben. Es handelt sich dabei um gut geschriebene natürlichsprachliche Anleitungen wie man konkret eine pkgbuild Datei für den Linux Kernel, für Programmiersprachen oder für die Eclipse Umgebung erzeugt. Diesen Vorgang kann man als das eigentliche Package-Maintaining bezeichnen. Es ist etwas wo noch echte Menschen etwas tun.

Es gibt zwar durchaus Versuche hier zu automatisieren mit Hilfe von Templates, aber wirklich funktioniert soetwas in der Praxis nicht. Man kann also sagen, dass das Erzeugen und Abändern der pkgbuild Dateien die eigentliche Kernkompetenz eines ArchLinux Developers darstellt. Gemeint ist jene Fähigkeit für ein beliebiges Programm eine funktionsfähige PKGBUILD Datei zu erstellen. Ist diese Datei einmal erstellt erfolgt der Rest weitestgehend autonom. Man kann über Scripte daraus sowohl ArchLinux Pakete erzeugen als auch komplette Iso-Dateien erstellen.

Wirklich ohne Bürokratie kommt auch ArchLinux nicht aus. Studiert man die Guidelines zum Erzeugen der pkgbuild Dateien so erinnert der Sprachstil sehr nach Debian. Es gibt in den Guidelines auch viele Widersprüche und es wird ein bestimmtes Vorwissen vorausgesetzt. Aber es gibt einen wichtigen Unterschied. Bei Debian ist das komplette Projekt so aufgebaut, bei ArchLinux ist die Bürokratie soweit eingedämmt, dass sie nur beim Erzeugen der pkgbuild Dateien zu Tage tritt. Das heißt, es gibt im ArchLinux Projekt einen überschaubaren Block an Vorschriften, Geboten und Guidelines wo man weiß dass es sehr subjektiv geschrieben ist, aber wo man das eben akzeptiert.

Anders gesagt, in der ArchLinux Community gibt es Leute welche wissen wie man pkgbuild Dateien erstellt und Leute die es nicht wissen. Wirklich vermeiden lässt sich diese Zweiteilung nicht, weil es eben nicht möglich ist, das Erzeugen der pkgbuild Dateien zu automatisieren. Bis heute ist jeder Versuch gescheitert, die Guidelines maschinenlesbar zu formulieren, so dass die Bürokratie (also menschlich gesteuerte Prozesse) wohl alternativlos sind.

PKGBUILD
In den pkgbuild Guidelines gibt es sehr penible Vorschriften bezüglich do und dont’s. Beispielsweise sollte die Beschreibung für ein Programm maximal 80 Zeichen haben und man soll auf Variablen verzichten. Gleichzeitig gibt es jedoch Vorschriften die genau das Gegenteil davon fordern. Anders formuliert handelt es sich um ein bürokratisches Kuddelmuddel was ziemlich genau dem entspricht was von Debian bekannt ist.

Nur, es gibt einen wesentlichen Unterschied. Bei ArchLinux ist der Umfang dieses Kuddelmuddel sehr genau abgegrenzt. Es handelt sich um rund 10 Wiki-Einträge in denen allgemeine Informationen bezüglich pkgbuild Files und etwas speziellere Informationen für große Programme wie Gnome oder den Linux-Kernel formuliert sind und das wars dann aber schon mit der Bürokratie. Der Grund warum es überhaupt soviele Guidelines gibt wurde bereits genannt. Es gibt keine Tools die sowas automatisiert erledigen können. Die Vorschriften setzen dort an, wo die Mächtigkeit von pacman und makepkg endet.

Im Unterschied dazu erstrecken sich die Guidelines und Vorschriften bei Debian über fast das gesammte Projekt. Dort wird nahezu alles dieser Bürokratie untergeordnet weil es im Debian Umfeld fast keinerlei Automatisierungstools gibt. Bei Debian gibt es beispielsweise handgeschriebene Vorschriften darüber, wann ein Paket aktualisiert werden soll und wann ein Backport erstellt wird. Bei ArchLinux hingegen gibt es für diese Dinge keine eigentlichen Vorschriften sondern es gilt das Motto: RollingRelease.

Anders formuliert, der wesentliche Unterschied besteht darin, dass bei ArchLinux die unvermeidliche Bürokratie auf ein absolutes Minimum reduziert wurde, was unzweifelhaft existiert aber was niemanden großartig stört. Bis auf die wenigen Leute die tatsächlich PKGBUILD Dateien verändern kommt damit niemand in Kontakt.

Vermutlich waren sich die Erfinder von ArchLinux sich der Problematik bewusst, dass das Erstellen der PKGBUILD Daten bürokratische Ausmaße annehmen kann. Beispielsweise enthält die PKGBUILD Datei um die Musiksoftware LMMS zu bauen nicht nur Abhängigkeiten sondern auch noch eine Patch-Datei wo vor der Installation erst noch im C-Code etwas verändert wird. Insofern nichts neues wenn man sich mit Debian auskennt. Auf diese Ausnahmen und Änderungen gänzlich verzichten kann auch ArchLinux nicht. Man hat aber versucht die Bürokratie soweit einzuschränken, dass sie innerhalb von pkgbuild Dateien stattfindet und sich nicht etwa über die komplette Distribution ausweitet. Mit dazu beigetragen hat, dass die PKGBUILD immer nach dem selben Format aufgebaut sind, also bestimmte Tags enthalten innerhalb derer dann die Installation durchgeführt wird. Fehler sind auch hier unvermeidbar.

Der eigentliche Clou der PKGBUILD Dateien besteht darin, dass in vielen Fällen bei neuen Programmersionen nur der Counter um eins nach oben gezählt werden muss, und Abhänigkeiten oder Install-Scripte die selben bleiben. Anders gesagt, wenn eine ArchLinux Distribution erstellt wird, muss nicht etwa wie bei Debian erst „from scratch“ alles neu abgesprochen und überprüft zu werden. Die eigentlich stressige Arbeit im ArchLinux Projekt entsteht nur dann, wenn es unklarheiten darüber gibt, wie genau eine PKGBUILD Datei beschaffen sein muss. Wenn also Maintainer 1 eine andere Meinung dazu hat als Maintainer 2. Dann passiert dasselbe was bei anderen Linux-Distributionen auch passiert: entweder kommt es zu einem konstruktiven Diskurs der ein ein tragfähiges Ergebnis mündet oder aber es kommt zu einem Fork wo jemand die PKGBUILD Dateien mitnimmt in ein eigenes Projekt um dort dann die einzig wahre Religion zu zelebrieren.

Advertisements

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s