Kapitel 3. Besondere Funktionen des Skripts

Übersicht der Funktionen

kdesrc-build beinhaltet die folgenden Funktionen und Besonderheiten:

  • Sie können alle Vorgänge simulieren anstatt sie wirklich ausführen zu lassen. Benutzen Sie dazu die Option --pretend oder -p und das Skript wird eine detaillierte Beschreibung aller Befehle ausgeben, die es ausführen würde, ohne tatsächlich etwas zu unternehmen. Wenn Sie jedoch noch nie kdesrc-build ausgeführt haben, sollten Sie zuerst kdesrc-build mit der Option kdesrc-build --metadata-only ausführen, damit --pretend funktioniert.

    Tipp

    Für noch ausführlichere Ausgaben von kdesrc-build verwenden Sie die Option --debug.

  • kdesrc-build kann mit Unterstützung der KDE-FTP-Server einige Subversion-Module beschleunigt herunterladen. Wenn für diese Module bereits komprimierte Pakete auf der Webseite vorhanden sind, werden diese geladen und ausgepackt.

    Tipp

    Allgemein sind keine besonderen Vorbereitungen nötig, um das erste Herunterladen eines Git-Moduls durchzuführen, da in jedem Fall das gesamte Gut-Archiv heruntergeladen werden muss. Daher ist für den Server eindeutig klar, was gesendet werden muss.

    Dies ist für Sie schneller und verringert die Last der kde.org-Server für anonymes Subversion.

  • Um den Ablauf weiter zu beschleunigen, wird das Kompilieren eines Moduls sofort gestartet, wenn es vollständig heruntergeladen wurde. Dies funktioniert seit Version 1.6.

  • Ausgezeichnete Unterstützung für das Erstellen der Qt™-Bibliothek, wenn eine KDE-Software, die Sie erstellen möchten, eine aktuelle Version von Qt™ benötigt, die in Ihrer Distribution nicht vorhanden ist.

  • kdesrc-build erfordert keine grafische Bedienungsoberfläche (GUI), Sie können KDE-Software ohne eine zusätzliche grafische Bedienungsoberfläche erstellen.

  • Standardeinstellungen für alle Module wie Optionen zum Kompilieren und Konfigurieren. Diese Optionen können gleichfalls für einzelne Module angegeben werden.

    kdesrc-build verwendet Standard-Parameter, das erspart die Eingabe und verhindert Tippfehler. Hinweis: Dies gilt nicht, wenn benutzerdefinierte Entwicklungs-Werkzeuge z. B. mit cmake-toolchain verwendet werden.

  • kdesrc-build kann einen bestimmten Zweig (branch) oder Tag oder auch eine vorgegebene Revision eines Moduls herunterladen.

  • kdesrc-build kann automatisch für einen Quelltextordner das Archiv zum Herunterladen wechseln, zum Beispiel von Zweig (branch) auf trunk. Das geschieht automatisch, wenn Optionen geändert werden, die auch die URL des Archivs ändern. Es muss dazu aber die Befehlszeilenoption --src-only verwendet werden, damit kdesrc-build den Wechsel durchführt.

  • kdesrc-build kann ein Modul nur teilweise herunterladen, wenn Sie zum Beispiel nur ein Programm aus einem großen Modul benötigen.

  • Für Entwickler, die svn+ssh:// verwenden, überprüft kdesrc-build, ob der Dienst ssh-agent lauft, damit es nicht zu wiederholten Passwortabfragen durch SSH kommt.

  • Der Ordner zum Erstellen kann gelöscht werden, nachdem ein Modul installiert wurde, um Speicherplatz auf der Festplatte auf Kosten der Zeit zum erneuten Kompilieren einzusparen.

  • Die von kdesrc-build benutzten Ordner können sogar für jedes einzelne Modul angepasst werden.

  • Sudo oder ein anderer benutzerdefinierter Befehl kann zur Installation von Modulen benutzt werden, sodass kdesrc-build nicht mit den Rechten des Systemverwalters ausgeführt werden muss.

  • kdesrc-build wird als Voreinstellung mit reduzierter Priorität ausgeführt, sodass am Rechner auch dann noch gearbeitet werden kann, wenn gerade kdesrc-build ausgeführt wird.

  • Unterstützt KDE's Tags und Zweige (branches)

  • Das erneute Erstellen kann mit einem angegebenen Modul wieder aufgenommen werden. Es können bei der Ausführung auch einige Module ausgelassen werden.

  • kdesrc-build zeigt den Fortschritt beim Kompilieren mit CMake an und schreibt die Dauer des Kompilierens in das Protokoll.

  • Die voreingestellten Optionen sind gut geeignet für die Installation von KDE aus dem anonymen Quelltext-Archiv für einen einzelnen Benutzer.

  • Benutzung der Tilde als Platzhalter in den Optionen. Beispielsweise ist folgender Befehl möglich:

    qtdir ~/kdesrc/build/qt

  • Erstellt automatisch ein System mit getrennten Ordnern für den Quelltext und das Kompilieren, damit bleibt der Quelltextordner unverändert.

  • Es können sowohl globale Einstellungen für alle Module als auch spezifische Einstellungen für bestimmte Module vorgenommen werden.

  • Erzwingt ein vollständig neues Erstellen durch Ausführung von kdesrc-build mit der Option --refresh-build.

  • Es können verschiedene Umgebungsvariablen benutzt werden, die den Kompiliervorgang beeinflussen. Dazu gehören unter anderem KDEDIR, QTDIR, DO_NOT_COMPILE und CXXFLAGS.

  • Befehls-Protokolle. Alle Protokolle werden durchnummeriert und mit einem Datums-Stempel versehen, sodass Sie pro Skript-Durchlauf ein Protokoll erhalten. Des weiteren wird mit jedem Skript-Durchlauf ein symbolischer Link namens latest erzeugt, der auf das jeweils letzte Protokoll verweist.

  • Sie können auch nur einzelne Teile von KDE aus einem Subversion-Modul herunterladen lassen. Beispielsweise könnten Sie nur taglib aus kdesupport herunterladen.