Bleeding Edge
Basteln an KDE 4
Qt auschecken
Zunächst holen Sie aber – noch immer als Nutzer kde-devel – die neueste Qt-Version. Dazu wechseln Sie über cd in das Home-Verzeichnis. Dann ziehen Sie den Ordner qt-copy, der den Qt-Code enthält, aus dem KDE-4-Zweig:
$ svn checkout svn://anonsvn.kde.org/home/kde/trunk/qt-copy
Nun rauschen auf der Kommandozeile die Dateien vorbei (Abbildung 4). Am Ende steht gewöhnlich Ausgecheckt, Revision 833230, wobei die Zahl der aktuellen Fassung entspricht. Geben Sie ls ein, erscheint der Ordner qt-copy in den Sie via cd wechseln. Zunächst spielen Sie über den Aufruf des Skripts ./apply_patches aktuelle Patches für Qt ein. Dann überprüft Configure, ob es alle Entwicklerpakete gibt, die Qt zum Übersetzen braucht, und erstellt aus den Informationen das Makefile:
$ ./configure --prefix=$HOME/qt-copy
Über den Präfix sorgt Configure dafür, dass die Installation in das Verzeichnis $HOME/qt-copy erfolgt. Nach dem Abnicken der Lizenzbedingungen über die Eingabe von yes wird Qt konfiguriert. Nun folgt ein etwas längerer Befehl:
$ make -j 2; if [ "$QTDIR" = "`pwd`" ]; then find . -name '*.o' -delete; else make install; fi;
Dieses Kommando kompiliert Qt, setzt die Umgebungsvariable QTDIR auf das aktuelle Verzeichnis, löscht sämtliche Objektdateien in den Unterverzeichnissen und installiert Qt anschließend. Der Prozess dauert ein wenig; danach geben Sie which qmake ein. Das Programm sollte im Verzeichnis /home/kde-devel/qt-copy/bin/qmake liegen.
Im nächsten Schritt checken Sie alle benötigten Module aus und übersetzen Sie. Das alles erledigen Sie weiterhin in der Rolle des Users kde-devel. Die Reihenfolge, in der Sie die Module kompilieren, entnehmen Sie – ebenso wie die SVN-Pfade – dem Listing 1.
Bevor Sie die Module besorgen, wechseln Sie über cs (eine Funktion der neuen .bashrc) in das KDE-Quellverzeichnis, das sich unter /home/kde-devel/kde/src befindet. Hier legen Sie ein Verzeichnis KDE an (mkdir KDE) in das Sie wechseln. Anschließend checken Sie den benötigten Code aus. Natürlich können Sie noch weitere Module holen, zur Entwicklung von Plasmoiden genügen die in der Tabelle genannten. Erscheint während des Auscheckens eine Meldung, die nach einem Schlüssel verlangt, geben Sie "t" ein, um diesen temporär zu akzeptieren. Bricht der Vorgang ab, können Sie ihn selbstverständlich wiederholen.
In der Reihenfolge von Listing 1 übersetzen Sie die Software nun. Wechseln Sie dazu nacheinander in die entsprechenden Modul-Verzeichnisse (etwa /home/kde-devel/kde/src/KDE/kdesupport) und geben Sie dort cmakekde ein. Bei Cmake (siehe Kasten "Make-Nachfolger Cmake") handelt es sich um einen Nachfolger von Make.
Make-Nachfolger Cmake
Bei Linux-Magazin Online gibt es einen kompletten Artikel [8], der sich mit Cmake beschäftigt. Zunächst schaut Cmake, ob es alle Bibliotheken und Header-Dateien zum Übersetzen der Software findet, dann kompiliert es den Code. Bei ungewollten Abbrüchen fehlen meist die Entwicklerpakete einer bestimmten Software, die Fehlermeldung hilft dann weiter. Die Bash-Funktion cmakekde passt Cmake den Bedürfnissen des KDE-Projekts an.
Nach Eingabe des Befehls können Sie sich erstmal einen Kaffee machen oder auch ein Café aufmachen (je nach Geschwindigkeit des Rechners). Das Übersetzen und Installieren der einzelnen Komponenten zieht sich hin – mehrere Stunden kann das durchaus dauern. Glücklicherweise wiederholt sich der Zeitaufwand später nicht.
Nach dem Übersetzen eines Moduls (aber auch nach fehlerbedingten Abbrüchen beim Übersetzen) landen Sie im Build-Verzeichnis. Das heißt /home/kde-devel/kde/build/KDE/Modulname, (beachten Sie das build) wobei Modulname für das gerade übersetze KDE-Modul steht. Um das nächste Modul zu übersetzen oder das aktuelle erneut zu kompilieren, kehren Sie über cs jeweils in das src-Verzeichnis zurück. Glücklicherweise lassen sich spätere Updates wesentlich zeitsparender vornehmen (siehe Kasten "Schnelle Aktualisierung")
Schnelle Aktualisierung
Beim Aktualisieren übersetzen Sie nicht jedes Mal den gesamten Code neu. Hier sind die Schritte, um etwa das Modul kdesupport zu erneuern und zu übersetzen:
- Über
cswechseln Sie ins KDE-Wurzelverzeichnis, - mit
cd KDE/kdesupportgelangen Sie ins Verzeichnis des KDE-Moduls. - Dort synchronisieren Sie mit
svn updie Dateien mit der aktuellen Version von Kde.org und - wechseln über
cbinsbuild-Verzeichnis des Moduls. - Mit dem Befehl
make installübersetzen Sie nur die neuen Code-Passagen.
Auch hier gilt: Holen Sie erst den kompletten Code aus der Versionsverwaltung und übersetzen Sie ihn dann in der richtigen Reihenfolge.
KDE 4 Trunk starten
Um KDE 4 anschließend zu starten, melden Sie sich mit dem Kommando sux - kde-devel wieder als Nutzer kde-devel an. In das Home-Verzeichnis legen Sie das Skript aus Listing 2, das KDE 4 in einem Fenster startet. Nennen Sie es etwa kde4go, machen Sie es über chmod u+x kde4go ausführbar und rufen Sie es über ./kde4go auf.
#!/bin/bash export KDEDIR=$HOME/kde export LD_LIBRARY_PATH=$KDEDIR/lib export PATH=$KDEDIR/bin/:$PATH export KDEHOME=~/.kde4 Xephyr :1 -extension GLX -fullscreen & export DISPLAY=:1 startkde
Das Skript exportiert einige Umgebungsvariablen, damit KDE 4 weiß, wo es Programme und Bibliotheken findet. Dann startet es Xephyr, einen X-Server, der auch aktuelle X-Erweiterungen unterstützt (-extension GLX). Das Fenster läuft im Vollbildmodus (-fullscreen), lässt sich aber über -screen 800x600 auch verkleinern. Im Anschluss ruft es KDE 4 über startkde auf Display 1 auf (Abbildung 5). Um KDE 4 wieder zu beenden, wechseln Sie mit [Alt]+[Tab] zurück zur Konsole, über die Sie die Sitzung gestartet haben und drücken dort [Strg]+[C].
Glossar
Trunk
In diesem Online-Softwarepool verwalten die KDE-Entwickler die allerneueste KDE-4-Version, an der sie zur Zeit arbeiten.
Plasmoiden
In KDE 4 die Bezeichnung für kleine Anwendungen, die sich auf dem Desktop platzieren lassen. Der Name leitet sich von der Arbeitsoberfläche Plasma ab.
[1] Stephan Binners KDE-Four-Live-CD: http://home.kde.org/~binner/kde-four-live/
[2] KDEs Techbase: http://techbase.kde.org/Welcome_to_KDE_TechBase
[3] Pakete für diverse Distributionen: http://techbase.kde.org/Getting_Started/Build/KDE4#Required_packages_from_your_distribution
[4] 1-Click-Installer für OpenSuse: http://en.opensuse.org/KDE/Developing/Guide
[5] Paketabhängigkeiten für Ubuntu-Nutzer: http://techbase.kde.org/Getting_Started/Build/KDE4/Kubuntu_and_Debian
[6] Die neue .bashrc: http://techbase.kde.org/Getting_Started/Increased_Productivity_in_KDE4_with_Scripts/.bashrc
[7] KDE-Trunk im Netz: http://websvn.kde.org/trunk/KDE/
[8] Cmake-Artikel: Alexander Neundorf, "Mal ausspannen", Linux-Magazin 02/2007, S. 98, http://www.linux-magazin.de/heft_abo/ausgaben/2007/02/mal_ausspannen?category=0



