Fragen? Antworten! Siehe auch: Alternativlos
Aber wie ich meine Freunde von freedesktop.org kenne, machen die keine halben Sachen. Wenn kaputt, dann auch verbrannte Erde. Und tatsächlich, es gibt da jetzt knapp 300 Pakete. Sah erst nicht so schlimm aus, weil ich nur gezogen hatte, was im X11R7.1 Verzeichnis lag. Stellt sich raus, daß das nur die Hälfte ist! Die Pakete, die sich seit X11R7.0 nicht geändert haben, die haben sie nicht rüber gesymlinkt, sonst könnte ja noch jemand darauf kommen, daß man die auch ziehen muss!
Und nun muss man sich mal in die Lage von freedesktop.org versetzen. Man gibt den Leuten 300 Pakete, die in unklarer Weise voneinander abhängen. Wieso überhaupt 300 Pakete? Weil die da echt mit dem Fleischwolf kompartmentalisiert haben; ein Dutzend der Pakete beinhalten überhaupt nur Header! Kommen natürlich trotzdem mit configure-Skript und allem Tamtam:
Seht ihr die sagenhafte Effizienz dieses Systems? Für nicht mal 10k Nutzdaten haben sie mir fast 200k Müll geschickt.-rw-r--r-- 1 leitner users 1315 May 17 2005 COPYING
-rw-r--r-- 1 leitner users 415 Mar 31 10:39 ChangeLog
-rw-r--r-- 1 leitner users 223 May 9 2005 Makefile.am
-rw-r--r-- 1 leitner users 15837 May 20 16:58 Makefile.in
-rw-r--r-- 1 leitner users 21739 May 20 16:58 aclocal.m4
-rwxr-xr-x 1 leitner users 195 May 5 2005 autogen.sh
-rwxr-xr-x 1 leitner users 81157 May 20 16:58 configure
-rw-r--r-- 1 leitner users 225 Mar 31 10:39 configure.ac
-rwxr-xr-x 1 leitner users 9233 May 20 16:58 install-sh
-rwxr-xr-x 1 leitner users 11014 May 20 16:58 missing
-rw-r--r-- 1 leitner users 1962 Mar 31 10:39 saver.h
-rw-r--r-- 1 leitner users 5349 Mar 31 10:39 saverproto.h
-rw-r--r-- 1 leitner users 4298 Mar 31 10:39 scrnsaver.h
-rw-r--r-- 1 leitner users 197 May 9 2005 scrnsaverproto.pc.in
Das ist ja schon ziemlich grobe WMD-Qualität, freedesktop.org blieb überhaupt nur eine Möglichkeit, das noch schlimmer zu machen: sie dokumentieren nicht die Abhängigkeiten. Ja, I kid you not, die Abhängigkeiten sind nicht dokumentiert. Und als ob sie genau wüßten, daß ich Python-Software aus religiösen Gründen nicht auf meine Platte lasse, bieten sie ein Build-Tool an, das in Python geschrieben ist. Und wo ist das dokumentiert? In ihrem… Wiki. Kann man sich noch lächerlicher machen? Oh ja, man kann! Indem man die pkg-config (JA! Das erwähnte ich noch nicht, sie verwenden tatsächlich das Schweinetool aus der Hölle, _pkg-config_!) Pakete anders benennt als die Verzeichnisse und Tarballs (Beispiel: evieproto -> evieext-X11R7.0-1.0.2). Kurz gesagt: in der Zeit, mit der ich mich jetzt schon darüber aufgeregt habe, habe ich das früher dreimal gebaut, und ich habe hier noch nicht mal den X-Server fertig gebaut, geschweige denn irgendwelche Grafiktreiber.
But wait, there is more! Es gibt Patches für Sicherheitslücken. In X11R7.1 liegen die Patches, aber die gepatchten Pakete sind von X11R7.0, und der Patch heißt nicht mal komplett so wie der zu patchende Tarball, und, ja liebe Gemeinde, es geht noch übler, die Patches haben nicht mal die selbe -p Konvention! Manche brauchen -p0 bei patch, andere -p1. Offensichtlich wollte da jemand verhindern, daß man das automatisiert oder im Halbschlaf bauen kann.
Was für Sicherheitslücken sind denn das, werdet ihr jetzt wissen wollen? Das Projekt ist 25 Jahre alt, das müssen ja immens subtile Dinge sein, die sie da jetzt erst gefunden haben, richtig? Sie haben vergessen, bei seteuid den Rückgabewert zu prüfen. OMFG!!
Ihr werdet euch jetzt fragen, wie ich das überhaupt gebaut kriege mit den Abhängigkeiten und so. Ich rufe configure bei dem Paket auf, das ich wirklich haben will, warte eine Minute, dann laufe ich den Abhängigkeiten hinterher. Rekursiv.
Liebe Freedesktop-Leute, wenn ich euch mal im Dunkeln begegne, und zufällig einen Clue-by-Four dabei habe, dann gnade euch Gott!1!!
Update: Beeindruckend. Vier Stunden später, X startet, lädt den richtigen Treiber, aber weigert sich dann, etwas anderes als 640x480 zu fahren. Alle an die Wand stellen nach der Revolution, das sage ich euch.