<?xml version="1.0" ?>
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
  <!ENTITY kappname "Kdesvn-build">
  <!ENTITY package "kdesdk">
  <!ENTITY % addindex "IGNORE">
  <!ENTITY % German "INCLUDE"
> <!-- Change language only here -->
  <!ENTITY kdesvn-build "<application
>Kdesvn-build</application
>">
  <!ENTITY autoconf '<application
>Autoconf</application
>'>
  <!ENTITY automake '<application
>Automake</application
>'>
  <!ENTITY BSD '<acronym
>BSD</acronym
>'>
  <!ENTITY cmake '<application
>CMake</application
>'>
  <!ENTITY make '<application
>Make</application
>'>
  <!ENTITY ssh '<application
>SSH</application
>'>
  <!ENTITY subversion '<application
>Subversion</application
>'>
  <!ENTITY sudo '<application
>Sudo</application
>'>
  <!ENTITY url '<acronym
>URL</acronym
>'>

  <!-- These define shortcut entities for some of the configuration options.
       Just add them as necessary.
  -->

  <!ENTITY configure-flags '<link linkend="conf-configure-flags"
>configure-flags</link
>'>
  <!ENTITY apply-qt-patches '<link linkend="conf-apply-qt-patches"
>apply-qt-patches</link
>'>
  <!ENTITY kdedir '<link linkend="conf-kdedir"
>kdedir</link
>'>
  <!ENTITY qtdir '<link linkend="conf-qtdir"
>qtdir</link
>'>
  <!ENTITY build-dir '<link linkend="conf-build-dir"
>build-dir</link
>'>
  <!ENTITY module-base-path '<link linkend="conf-module-base-path"
>module-base-path</link
>'>
  <!ENTITY override-url '<link linkend="conf-override-url"
>override-url</link
>'>
  <!ENTITY source-dir '<link linkend="conf-source-dir"
>source-dir</link
>'>
  <!ENTITY email-address '<link linkend="conf-email-address"
>email-address</link
>'>
  <!ENTITY email-on-compile-error '<link linkend="conf-email-on-compile-error"
>email-on-compile-error</link
>'>
  <!ENTITY colorful-output '<link linkend="conf-colorful-output"
>colorful-output</link
>'>
  <!ENTITY tag '<link linkend="conf-tag"
>tag</link
>'>
  <!ENTITY apidox '<link linkend="conf-apidox"
>apidox</link
>'>
  <!ENTITY branch '<link linkend="conf-branch"
>branch</link
>'>
  <!ENTITY no-rebuild-on-fail '<link linkend="conf-no-rebuild-on-fail"
>no-rebuild-on-fail</link
>'>
  <!ENTITY inst-apps '<link linkend="conf-inst-apps"
>inst-apps</link
>'>
  <!ENTITY do-not-compile '<link linkend="conf-do-not-compile"
>do-not-compile</link
>'>
  <!ENTITY checkout-only '<link linkend="conf-checkout-only"
>checkout-only</link
>'>
  <!ENTITY svn-server '<link linkend="conf-svn-server"
>svn-server</link
>'>
  <!ENTITY make-install-prefix '<link linkend="conf-make-install-prefix"
>make-install-prefix</link
>'>
  <!ENTITY niceness '<link linkend="conf-niceness"
>niceness</link
>'>
  <!ENTITY set-env '<link linkend="conf-set-env"
>set-env</link
>'>
  <!ENTITY libpath '<link linkend="conf-libpath"
>libpath</link
>'>
  <!ENTITY binpath '<link linkend="conf-binpath"
>binpath</link
>'>

  <!-- These define shortcut entities for some of the command line options.
       Just add them as necessary.
  -->
  <!ENTITY cmd-nice '<link linkend="cmdline-nice"
>--nice</link
>'>
  <!ENTITY cmd-ignore-modules '<link linkend="cmdline-ignore-modules"
>--ignore-modules</link
>'>
  <!ENTITY cmd-resume-from '<link linkend="cmdline-resume-from"
>--resume-from</link
>'>
  <!ENTITY cmd-no-rebuild-on-fail '<link linkend="cmdline-no-rebuild-on-fail"
>--no-rebuild-on-fail</link
>'>
  <!ENTITY cmd-reconfigure '<link linkend="cmdline-reconfigure"
>--reconfigure</link
>'>
  <!ENTITY cmd-refresh-build '<link linkend="cmdline-refresh-build"
>--refresh-build</link
>'>
]>

<book lang="&language;">

<bookinfo>
<title
>Handbuch zum Skript &kdesvn-build;</title>

<authorgroup id="authors">
<author
><firstname
>Michael</firstname
><surname
>Pyne</surname
> <affiliation
><address
><email
>michael.pyne@kdemail.net</email
></address
></affiliation>
</author
> 
<author
><firstname
>Carlos</firstname
><surname
>Woelz</surname
> <affiliation
><address
><email
>carloswoelz@imap-mail.com</email
></address
></affiliation>
</author
> 


<othercredit role="translator"
><firstname
>Thomas</firstname
><surname
>Reitelbach</surname
><affiliation
><address
><email
>tr@erdfunkstelle.de</email
></address
></affiliation
><contrib
>Deutsche Übersetzung</contrib
></othercredit
> 

</authorgroup>

<copyright>
<year
>2006</year>
<year
>2007</year>
<year
>2008</year>
<holder
>Michael Pyne</holder>
</copyright>

<copyright>
<year
>2005</year>
<holder
>Carlos Woelz</holder>
</copyright>


<legalnotice
>&FDLNotice;</legalnotice>

<date
>2009-03-13</date>
<releaseinfo
>1.8</releaseinfo>

<abstract>
<para
>Das Skript &kdesvn-build; kompiliert und installiert &kde; direkt aus den Quelltexten des &kde;-&subversion;-Archivs.</para>
</abstract>

<keywordset>
<keyword
>KDE</keyword>
<keyword
>kdesdk</keyword>
<keyword
>SVN</keyword>
<keyword
>Subversion</keyword>
<keyword
>KDE-Entwicklung</keyword>
</keywordset>

</bookinfo>

<chapter id="introduction">
<title
>Einführung</title>

<para
>Das Skript &kdesvn-build; hilft Benutzern bei der Installation von <ulink url="http://www.kde.org/"
>&kde;</ulink
> aus dem <ulink url="http://subversion.tigris.org/"
>&subversion;</ulink
>-Quelltextarchiv. </para>

<para
>An dieser Stelle sollen die Syntax der <link linkend="configure-data"
>Einrichtungsdatei</link
>, die Optionen, die <link linkend="cmdline"
> Befehlszeilenparameter</link
> und die <link linkend="features"
>Funktionen</link
> von &kdesvn-build; beschrieben werden, zusammen mit einer <link linkend="getting-started"
>Übersicht</link
> aller notwendigen Schritte, um &kde; aus den Quelltexten zu installieren. Dies schließt auch die Schritte ein, die Sie mit anderen Werkzeugen erledigen müssen - also Schritte, die nicht automatisch von &kdesvn-build; durchgeführt werden. </para>

</chapter>

<chapter id="getting-started">
<title
>Erste Schritte</title>

<para
>In diesem Kapitel wird erklärt, wie Sie mit Hilfe von &kdesvn-build; die entsprechenden Module aus dem &kde;-Quelltextarchiv herunterladen und kompilieren. Desweiteren werden einige Grundlagen zur &subversion;-Struktur des &kde;-Archivs und die nötigen Schritte vor dem Ausführen des Skripts erklärt. </para>

<para
>Alle in diesem Kapitel angesprochene Punkte werden detaillierter in dem Dokument <ulink url="http://techbase.kde.org/Getting_Started/Build/KDE4"
>&kde;4 selbst kompilieren</ulink
> auf den <ulink url="http://techbase.kde.org/"
>&kde;-Techbase-Webseiten</ulink
> erklärt. Wenn Sie &kde; zum ersten Mal kompilieren, sollten Sie dieses Dokument lesen und bei Fragen als Referenz heranziehen. Darin finden Sie auch Informationen zu Paketierungs-Hilfsprogrammen, Kompilier-Voraussetzungen, häufigen Stolperfallen und allgemeinen Strategien zur Verwendung Ihrer neuen &kde;-Installation. </para>

<sect1 id="before-building">
<title
>Vorbereiten des Systems zum Kompilieren von &kde;</title>

<sect2 id="before-building-users">
<title
>Einrichten eines neuen Benutzerkontos</title>

<para
>Zum Herunterladen und Kompilieren von &kde; sollten Sie ein normales Benutzerkonto verwenden. Wenn Sie bereits einige &kde;-Programme installiert haben, sollten Sie sogar ein neues, separates Benutzerkonto erzeugen und &kde; unter Verwendung des neuen Benutzers installieren und ausführen. Der Vorteil an dieser Vorgehensweise ist, dass Sie die bestehende &kde;-Installation nicht zerstören und dass Sie normal weiterarbeiten können, falls mit der neuen Installation etwas nicht funktioniert. </para>

<para
>Sie können die Installation später immer noch systemweit als Systemverwalter durchführen. Das geht allerdings über den Rahmen dieses Handbuchs hinaus. Es wird davon ausgegangen, dass Sie wissen was Sie tun, wenn Sie eine systemweite Installation durchführen. Im Zweifelsfall sollten Sie die Dokumentation oder die Hilfeseiten für Ihre Distribution lesen, um die systemweite Installation richtig vorzubereiten und auszuführen. </para>

</sect2>
<sect2 id="before-building-preparation">
<title
>Das System für das Kompilieren der &kde;-Quelltexte vorbereiten</title>

<para
>Bevor Sie &kdesvn-build; (oder eine andere Kompiliermethode) verwenden, müssen Sie die Entwickler-Werkzeuge und -Bibliotheken für &kde; installieren. Ein vollständige Liste finden Sie unter <ulink url="http://www.kde.org/info/requirements/3.5.php"
>&kde; Compilation Requirements</ulink
>. Die Anforderungen für &kde; 4 finden Sie auf der <ulink url="http://techbase.kde.org/"
>KDE TechBase</ulink
>. </para>

<para
>Hier ist eine Liste einiger erforderlicher Entwicklungswerkzeuge:</para>
<itemizedlist>

<listitem
><para
>Für &kde; 3 brauchen Sie die GNU-Autotools, &ie; &automake; und &autoconf;.</para
></listitem>

<listitem
><para
>Wenn Sie &kde; 4 erstellen wollen, brauchen Sie &cmake;. Die erforderliche Version hängt davon ab, welche Version von &kde; 4 erstellt werden soll. Genauere Informationen dazu finden Sie auf Techbase.</para
></listitem>

<listitem
><para
>Das &subversion;-Programm mit Unterstützung für Secure HTTP (https). Um das zu überprüfen, geben Sie <userinput
><command
>svn <option
>--version</option
></command
></userinput
> in einer Konsole ein. In der Ausgabe dieses Befehls muss ein Modul genannt werden, das das Schema „https“ (Lese-/Schreibzugriff auf das SVN-Archiv) oder „svn“ (nur Lesezugriff über anonsvn.kde.org) behandelt.</para
></listitem>

<listitem
><para
>Der Compiler <application
>gcc</application
> mit Unterstützung für C++. Empfohlen wird Version 3.3 oder neuer.</para
></listitem>

<listitem
><para
>Überprüfen Sie auf der Seite <ulink url="http://www.kde.org/info/requirements/3.5.php"
>&kde; Compilation Requirements</ulink
>, dass aller erforderlichen Bibliotheken als Entwicklerversion installiert sind.</para
></listitem>

</itemizedlist>

<para
>Eine Ausnahme bildet die &Qt;-Bibliothek. &kdesvn-build; installiert im Regelfall eine Kopie von &Qt;, unabhängig davon, ob diese Bibliothek bereits installiert ist. Daher muss diese Bibliothek nicht von Ihnen installiert werden. Möchten Sie die Kopie von &Qt; nicht benutzen, sind folgende Schritte auszuführen: </para>

<itemizedlist>
<listitem>
  <para
>Entfernen Sie das Modul qt-copy aus der <link linkend="configure-data"
>Einrichtungsdatei</link
>. Es wird nicht benötigt und das spart Zeit beim Erstellen.</para>
</listitem>

<listitem>
  <para
>Ändern Sie die Einstellung von <link linkend="conf-qtdir"
>qtdir</link
> in Ihrer <link linkend="configure-data"
>Einrichtungsdatei</link
> auf die auf dem System installierte Version von &Qt; ab. Das entspricht normalerweise der Einstellung für $<envar
>QTDIR</envar
> auf Ihrem System.</para>
</listitem>

<listitem>
  <para
>Wenn &Qt; bisher noch nicht installiert ist, installieren Sie es einschließlich aller zugehörigen -dev oder -devel Pakete. Für &kde; 3.5 brauchen Sie mindestens &Qt; 3.3 und für &kde; 4 &Qt; 4.5.</para>

  <note
><para
>Wenn Sie &kde; 4 erstellen möchten, wird dringend empfohlen, die qt-copy-Version von &Qt; zu benutzen. Dabei sollten alle empfohlenen Patches angewendet werden. Dies ist die Standardeinstellung, die mit der Option <link linkend="conf-apply-qt-patches"
>apply-qt-patches</link
> geändert werden kann.</para
></note>
</listitem>
</itemizedlist>

<para
>Einige der benötigten Pakete werden von den Distributoren in Bibliotheken, Programmdateien oder Werkzeuge und Entwickler-Pakete unterteilt. In diesen Fällen benötigen Sie wenigstens die Programmdateien und das Entwicklungs-Paket. Wenn Sie unsicher sind, installieren Sie am besten alle Pakete zu einem Programm. Die benötigen Bibliotheken sind abhängig von dem &kde;-Modul, welches Sie installieren möchten. Auf der <ulink url="http://techbase.kde.org/Getting_Started/Build/KDE4#Required_packages_from_your_distribution"
>&kde; TechBase</ulink
> finden Sie mehr Details über die einzelnen Hilfsprogramme und Techniken zur Installation der Abhängigkeiten. </para>

</sect2>

<sect2 id="before-building-prepare-script">
<title
>Einrichtung von &kdesvn-build;</title>

<sect3 id="get-kdesvn-build">
<title
>Installation von &kdesvn-build;</title>
<para
>Vielleicht haben Sie bereits eine Version des Skripts &kdesvn-build; auf Ihrem System installiert. Wenn nicht, kann es von der <ulink url="http://kdesvn-build.kde.org/"
>&kdesvn-build;-Webseite</ulink
> oder aus dem &kde;-Archiv heruntergeladen werden.</para>

<note
><para
>&kdesvn-build; ist im Modul kdesdk enthalten, dieses Modul wird oft bereits von den Distributionen installiert. Wenn Sie &kdesvn-build; heruntergeladen haben, überprüfen Sie, dass es auch tatsächlich verwendet wird. Dazu rufen Sie &kdesvn-build; mit der Option „--version“ auf.</para
></note>

<orderedlist>
<listitem
><para
>Die neueste passende Version von &kdesvn-build; können Sie von der <ulink url="http://kdesvn-build.kde.org/"
>&kdesvn-build;-Webseite</ulink
> herunterladen. Es handelt sich dabei um ein komprimiertes tar-Archiv, das mit &ark; oder dem Programm <command
>tar</command
> ausgepackt werden kann. Das Archiv enthält das neueste &kdesvn-build;-Skript und die beispielhafte Einrichtungsdatei <filename
>kdesvn-buildrc-sample</filename
>.</para
></listitem>

<listitem
><para
>Alternativ kann &kdesvn-build; auch aus dem Quelltextarchiv auf <ulink url="http://websvn.kde.org/trunk/KDE/kdesdk/scripts/"
>http://websvn.kde.org/trunk/KDE/kdesdk/scripts/</ulink
> bezogen werden. Dies ist der Ordner mit Skripten zum &kde;-Software-Entwicklungssystem. Klicken Sie auf den Eintrag <filename
>kdesvn-build</filename
>, damit kommen Sie auf eine Seite, auf der die neueste Version der Datei heruntergeladen werden kann. Speichern Sie diese Datei zusammen mit <filename
>kdesvn-buildrc-sample</filename
> auf der Festplatte.</para
></listitem>
</orderedlist>

<para
>Die Datei <filename
>kdesvn-build</filename
> muss ausführbar und in einem Ordner gespeichert sein, der in der Umgebungsvariablen <envar
>PATH</envar
> enthalten ist, damit das Skript beim Aufruf des Befehls gefunden bzw. nicht irrtümlich eine falsche Version benutzt wird.</para>
</sect3>

<sect3 id="setup-rcfile">
<title
>Einstellungen der Einrichtungsdatei</title>

<para
>Obwohl eine <link linkend="configure-data"
>Einrichtungsdatei</link
> für &kdesvn-build; nicht erforderlich ist, kann damit die Arbeit erleichtert werden. In einer <link linkend="configure-data"
>Einrichtungsdatei</link
> kann eingestellt werden, welche Module installiert oder nicht installiert werden sollen. Mit der Standardeinstellung installiert &kdesvn-build; unter Verwendung von allgemeinen Installationsparametern ein vollständiges &kde;-System. Um dieses Verhalten an Ihre Anforderungen anzupassen, kann eine <link linkend="configure-data"
>Einrichtungsdatei</link
> verwendet werden. </para>

<para
>Die Einrichtungsdatei hat den Namen <filename
>.kdesvn-buildrc</filename
>. Die Datei sollte in Ihrem persönlichen Ordner (<filename class="directory"
>~/</filename
>) liegen und enthält alle benötigten Optionen und Einstellungen, Compiler-Optionen, den Speicherort der Quelldateien, das Installationsziel, die zu installierenden Module und so weiter. Die Voreinstellungen finden Sie in der Datei <filename
>kdesvn-buildrc-sample</filename
>, die Sie als <filename
>~/.kdesvn-buildrc</filename
> kopieren und dann bearbeiten können. </para>

<para
>Weitere Informationen zur Syntax der <link linkend="configure-data"
>Einrichtungsdatei</link
> können Sie in <xref linkend="configure-data"/> und <xref linkend="kdesvn-buildrc"/> nachlesen. </para>

</sect3>
</sect2>
</sect1>

<sect1 id="configure-data">
<title
>Festlegen der Einstellungen</title>

<para
>Damit &kdesvn-build; funktioniert, sollten Sie die Datei <filename
>.kdesvn-buildrc</filename
> in Ihrem persönlichen Ordner haben, in der die allgemeinen Einstellungen festgelegt sind. </para>

<note
><para
>Es ist möglich, mehrere Einrichtungsdateien für &kdesvn-build; zu verwenden, das wird im Kapitel <xref linkend="kdesvn-buildrc"/> beschrieben. In diesem Handbuch wird davon ausgegangen, dass die Einstellungen in der Datei <filename
>~/.kdesvn-buildrc</filename
> gespeichert werden.</para
></note>

<para
>Benutzen Sie die Datei <filename
>kdesvn-buildrc-sample</filename
> als Vorlage und stellen Sie die allgemeinen Optionen und die Module ein, die Sie installieren möchten. </para>

<para
>Die Standardeinstellungen sind normalerweise bereits ausreichend, um &kde; zu erstellen. Folgende Einstellungen bieten sich zu Anpassung an: <itemizedlist>
<listitem
><para
><link linkend="conf-binpath"
>binpath</link
>: Zum Festlegen der Ordner, in denen nach Befehlen gesucht wird. Entspricht der Umgebungsvariable <envar
>PATH</envar
>.</para
></listitem>

<listitem
><para
><link linkend="conf-use-stable-kde"
>use-stable-kde</link
>: Ändert die Standardversion der &kde;-Module, die erstellt werden. In der Voreinstellung ist dies die Entwicklerversion (trunk) von &kde;, zur Zeit &kde; 4. Wenn Sie die letzte stabile Version von &kde; erstellen möchten - zur Zeit &kde; 3.5 -, setzen Sie diese Option auf den Wert <replaceable
>true</replaceable
>. </para
></listitem>

<listitem
><para
><link linkend="conf-kdedir"
>kdedir</link
>: Der Zielordner, in den &kde; installiert wird. Als Voreinstellung wird <filename class="directory"
>~/kde</filename
> für eine benutzerweite Installation verwendet.</para
></listitem>

<listitem
><para
><link linkend="conf-qtdir"
>qtdir</link
>: Der Pfad zur installierten Bibliothek &Qt;. In der Voreinstellung mit dem Modul qt-copy aus dem &kde;-&subversion;-Archiv wird <filename class="directory"
>~/kdesvn/build/qt-copy</filename
> verwendet.</para>

<para
>Damit wird auch der Installationsordner für &Qt; festgelegt, wenn es selbst kompiliert wird.</para
></listitem>

<listitem
><para
><link linkend="conf-svn-server"
>svn-server</link
>: Die &url; von der die Quelltexte heruntergeladen werden. Dies kann von Entwicklern mit einem <ulink url="http://techbase.kde.org/Contribute/First_Steps_with_your_KDE_SVN_Account"
>&kde;-&subversion;-Zugang</ulink
> genutzt werden.</para
></listitem>
</itemizedlist>
</para>

<para
>Nach den globalen Einstellungen folgt eine Liste von Modulen mit den Zeilen module ... end module am Anfang und Ende. Prüfen Sie, ob hier alle Module aufgeführt sind, die Sie installieren möchten. Mit den Voreinstellungen aus <filename
>kdesvn-buildrc-sample</filename
> erhalten Sie eine weitgehend vollständige &kde;-Installation. Speichern Sie Ihre Einstellungen in die Datei <filename
>.kdesvn-buildrc</filename
> in Ihrem persönlichen Ordner. </para>

<para
>Wenn Sie Feineinstellungen an <filename
>.kdesvn-buildrc</filename
> vornehmen möchten, lesen Sie bitte in <xref linkend="kdesvn-buildrc"/> die detaillierten Informationen über alle Einrichtungs-Optionen nach. </para>

</sect1>

<sect1 id="building-and-troubleshooting">
<title
>Das Skript &kdesvn-build; verwenden</title>

<para
>Sie können das Skript nun ausführen. Melden Sie sich in einem Terminal-Fenster als der Benutzer an, den Sie zum Kompilieren und Installieren des neuen &kde; verwenden möchten, und führen Sie das Skript aus: <screen
><prompt
>&percnt;</prompt
><command
>su</command
> <option
>-</option
> <replaceable
>Benutzername</replaceable>
<prompt
>&percnt;</prompt
><command
>kdesvn-build</command
>
</screen>
</para>

<para
>Jetzt beginnt das Skript mit dem Herunterladen der Quelltexte und der Installation. Wenn Sie viele Module herunterladen und erstellen wollen, kann es vorkommen, das bei der ersten Kompilierung von &kde; Fehler auftreten. Das ist aber kein Problem. </para>

<para
>&kdesvn-build; protokolliert die Ausgabe jedes ausgeführten Befehls. In der Standardeinstellung werden die Protokolldateien in den Ordner <filename class="directory"
>~/kdesvn/log</filename
> geschrieben. Um die Ursache für den Fehler beim Erstellen eines Moduls im letzten &kdesvn-build;-Befehl zu finden, lesen Sie die Datei <filename class="directory"
>~/kdesvn/log/latest/<replaceable
>module-name</replaceable
>/error.log</filename
>.</para>

<para
>In dieser Datei finden Sie die Fehlermeldungen, mit denen das Kompilieren des Moduls fehlgeschlagen ist. Wurde der Fehler durch fehlende Softwarepakete verursacht, installieren Sie diese mit den zugehörigen Entwicklungspaketen (-dev). Dann versuchen Sie das Modul mit der Option <link linkend="cmdline-reconfigure"
>--reconfigure</link
> neu zu kompilieren.</para>

<para
>Wenn ein Kompilierfehler aufgetreten ist, ist die Ursache dafür vielleicht in den &kde;-Quelltexten. Warten Sie ein paar Tage, sollte der Fehler dann immer noch auftreten, schicken Sie eine E-Mail an <email
>kde-devel@kde.org</email
> und berichten den Fehler.</para>

<para
>Weitere Hinweise über mögliche Fehler und deren Beseitigung wie auch allgemeine Tipps und Strategien zum Erstellen von &kde; finden Sie auf der Seite <ulink url="http://techbase.kde.org/Getting_Started/Build/KDE4"
> Building &kde; 4 from Source</ulink
>. </para>

<note
><para
>Weitere Informationen über die Protokolle von &kdesvn-build; finden Sie im Kapitel <xref linkend="kdesvn-build-logging"/>.</para
></note>

</sect1>

<sect1 id="environment">
<title
>Einrichten der neuen &kde;-Umgebung</title>

<para
>Im Folgenden wird davon ausgegangen, dass Sie einen separaten Benutzer zum Kompilieren und Installieren von &kde; verwendet haben. Desweiteren wird davon ausgegangen, dass Sie bereits eine &kde;-Version installiert haben. Wenn dies der Fall ist, muss das neue &kde; Vorrang vor der alten Version erhalten. Bearbeiten Sie die Umgebungsvariablen entsprechend. </para>

<sect2 id="changing-profile">
<title
>Einstellungen des Anmeldungsprofils ändern</title>

<important
><para
>Die Datei <filename
>.bash_profile</filename
> enthält die Einstellungen zur Anmeldung für die von vielen &Linux;-Distributionen verwendete <application
>bash</application
>-Shell. Benutzen Sie eine andere Shell, müssen alle in diesem Abschnitt genannten Beispiele dafür angepasst werden.</para
></important>

<para
>Öffnen Sie die Datei <filename
>.bash_profile</filename
> in Ihrem persönlichen Ordner oder erzeugen Sie eine neue, falls sie noch nicht existiert. Am Ende der Datei fügen Sie folgendes ein: <programlisting>
QTDIR=(pfad zu qtdir)   # wie z. B. ~/kdesvn/build/qt-copy als Standard.
KDEDIR=(pfad zu kdedir) # wie z. B. ~/kde als Standard.
KDEDIRS=$KDEDIR
PATH=$KDEDIR/bin:$QTDIR/bin:$PATH
MANPATH=$QTDIR/doc/man:$MANPATH

# Überprüfen, ob LD_LIBRARY_PATH gesetzt ist.
if [ -z $LD_LIBRARY_PATH ]; then
  LD_LIBRARY_PATH=$KDEDIR/lib:$QTDIR/lib
else
  LD_LIBRARY_PATH=$KDEDIR/lib:$QTDIR/lib:$LD_LIBRARY_PATH
fi

export QTDIR KDEDIRS PATH MANPATH LD_LIBRARY_PATH
</programlisting
> Wenn Sie das Module qt-copy nicht selbst bauen, sondern das in Ihrem System installierte &Qt; benutzen, dann fügen Sie dies ein: <programlisting
>KDEDIR=(path to kdedir)  # wie z. B. ~/kde als Standard.
KDEDIRS=$KDEDIR
PATH=$KDEDIR/bin:$QTDIR/bin:$PATH

# Überprüfen, ob LD_LIBRARY_PATH gesetzt ist.
if [ -z $LD_LIBRARY_PATH ]; then
  LD_LIBRARY_PATH=$KDEDIR/lib
else
  LD_LIBRARY_PATH=$KDEDIR/lib:$LD_LIBRARY_PATH
fi

export KDEDIRS PATH LD_LIBRARY_PATH
</programlisting>
</para>

<para
>Wenn Sie keinen eigenen Benutzer verwenden, ändern Sie die Umgebungsvariable $<envar
>KDEHOME</envar
> in <filename
>.bash_profile</filename
> für die neue Umgebung. <programlisting
>export KDEHOME="${HOME}/.kde-svn"

# Create it if needed
[ ! -e ~/.kde-svn ] &amp;&amp; mkdir ~/.kde-svn
</programlisting>
</para>

<note>
<para
>Falls das K-Menü später leer oder völlig überfüllt mit Programmen Ihrer Distribution sein sollte, müssen Sie unter Umständen die <acronym
>XDG</acronym
>-Umgebungsvariable in <filename
>.bash_profile</filename
> anpassen: <programlisting
>XDG_CONFIG_DIRS="/etc/xdg"
XDG_DATA_DIRS="${KDEDIR}/share:/usr/share"
export XDG_CONFIG_DIRS XDG_DATA_DIRS
</programlisting>

</para>
</note>

</sect2>
<sect2 id="starting-kde">
<title
>Starten von &kde;</title>

<para
>Nachdem jetzt die Einstellungen der Umgebungsvariablen für das richtige &kde; angepasst wurden, muss auch der richtige Befehl <command
>startkde</command
> benutzt werden. </para>

<para
>Öffnen Sie die Datei <filename
>.xinitrc</filename
> in Ihrem persönlichen Ordner. Erzeugen Sie sie, falls nötig. Fügen Sie die folgende Zeile hinzu: <programlisting
><command
>exec</command
> <option
>${KDEDIR}/bin/startkde</option
>
</programlisting>
</para>

<important
><para
>Für einige Distributionen ist es erforderlich, dies auch in die Datei <filename
>.xsession</filename
> in Ihrem persönlichen Ordner einzutragen. Dies gilt besonders, wenn grafische Anmeldungsmanager wie &kdm;,<application
>gdm</application
> oder <application
>xdm</application
> verwendet werden.</para>
</important>

<para
>Starten Sie nun Ihr neues &kde;. In &BSD; und &Linux; mit Unterstützung für virtuelle Terminals können Sie die Tastenkombination <keycombo action="simul"
>&Ctrl;&Alt;<keycap
>F1</keycap
></keycombo
> ... <keycombo action="simul"
>&Ctrl;&Alt;<keycap
>F12</keycap
></keycombo
> benutzen, um zwischen den Terminals zu wechseln. Auf diese Weise können Sie mehrere Arbeitsumgebungen gleichzeitig ausführen. Die ersten sechs Terminals sind Text-Terminals, die folgenden sechs sind grafische Terminals. </para>

<para
>Falls beim Systemstart der grafische Anmeldungsmanager erscheint, können Sie Ihr neues &kde; dennoch verwenden, auch wenn es nicht in der Liste für die grafische Anmeldung aufgeführt ist. In den meisten Anmeldungsmanagern wie zum Beispiel &kdm; kann eine <quote
>benutzerdefinierte Sitzung</quote
> bei der Anmeldung gestartet werden. Mit dieser Option werden die Einstellungen für die Sitzung aus der Datei <filename
>.xsession</filename
> im persönlichen Ordner gelesen. Wenn Sie diese Datei bereits wie oben beschrieben geändert haben, sollte mit dieser Option Ihre neue &kde;-Installation starten.  </para>

<para
>Falls dies nicht funktioniert, gibt es noch eine weitere Möglichkeit zum Starten: Drücken Sie <keycombo action="simul"
>&Ctrl;&Alt;<keycap
>F2</keycap
></keycombo
> um zu einem Text-Terminal zu gelangen. Melden Sie sich als der separate KDE-Benutzer an und geben Sie folgendes ein: </para>

<screen
><command
>startx</command
> <option
>--</option
> <option
>:1</option
>
</screen>

<tip>
<para
>Sie können das aus den Quelltexten installierte &kde; und das &kde; aus Ihrer Distribution gleichzeitig ausführen. Melden Sie sich als normaler Benutzer an und starten Sie das &kde;-System Ihrer Distribution. Drücken Sie dann <keycombo action="simul"
>&Ctrl;&Alt;<keycap
>F2</keycap
></keycombo
> (oder <keycap
>F1</keycap
>, <keycap
>F3</keycap
>, &etc;) und öffnen damit eine Textkonsole. Melden Sie sich als &kde;-&subversion;-Benutzer an und geben Sie ein:</para>

<screen
><command
>startx</command
> <option
>--</option
> <option
>:1</option
>
</screen>

<para
>Zurück zum &kde;-System des normalen Benutzers kommen Sie mit den Kurzwahltasten für diese Arbeitsumgebung. Das ist normalerweise <keycombo action="simul"
>&Ctrl;&Alt;<keycap
>F7</keycap
></keycombo
>, manchmal auch <keycap
>F6</keycap
> oder <keycap
>F8</keycap
>. Zum mit &kdesvn-build; kompilierten &kde; wechseln Sie mit der gleichen Tastenkombination und verwenden dabei nur die nächste F-Taste. Benutzen Sie zum Beispiel <keycombo action="simul"
>&Ctrl;&Alt;<keycap
>F7</keycap
></keycombo
> zum Wechsel in das normale &kde;, dann drücken Sie <keycombo action="simul"
>&Ctrl;&Alt;<keycap
>F8</keycap
></keycombo
>, um wieder zurück zum &kdesvn-build;-&kde; zu kommen.</para>
</tip>

</sect2>
</sect1>

</chapter>

<chapter id="features">
<title
>Besondere Funktionen des Skripts</title>

<sect1 id="features-overview">
<title
>Übersicht der Funktionen</title>

<para
>&kdesvn-build; beinhaltet die folgenden Funktionen und Besonderheiten: </para>

<itemizedlist>

<listitem
><para
><link linkend="changing-verbosity"
>Ausgabemeldungen</link
> lassen sich in verschiedenen Stufen einstellen, von wenigen Meldungen bis zu vollständigen Meldungen für die Fehlersuche. </para
></listitem>

<listitem
><para
>&kdesvn-build; kann mit Unterstützung der <ulink url="http://kdesvn-build.kde.org/"
>&kdesvn-build;-Website</ulink
> und der &kde;-FTP-Server (FTP seit &kdesvn-build; Version 1.4) einige Module beschleunigt herunterladen. Wenn für diese Module bereits komprimierte Pakete auf der Webseite vorhanden sind, werden diese geladen und ausgepackt. </para>

<para
>Dies ist für Sie schneller und verringert die Last der kde.org-Server für anonymes &subversion;.</para>
</listitem>

<listitem
><para
>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. </para
></listitem>

<listitem
><para
>Das Modul <link linkend="using-qt-copy"
>qt-copy</link
> kann ebenfalls heruntergeladen und erstellt werden, dabei werden alle Patches für Fehlerbehebungen und Optimierungen für qt-copy angewendet. </para
></listitem>

<listitem
><para
>&kdesvn-build; zeigt <link linkend="kdesvn-build-color"
>farbige Ausgaben</link
> an. </para
></listitem>

<listitem
><para
>&kdesvn-build; erfordert keine grafische Bedienungsoberfläche (<acronym
>GUI</acronym
>), Sie können &kde; ohne eine zusätzliche grafische Bedienungsoberfläche erstellen. </para
></listitem>

<listitem
><para
>Standardeinstellungen für alle Module wie Optionen zum Kompilieren und Konfigurieren. Diese Optionen können gleichfalls für einzelne Module angegeben werden.</para>

<para
>&kdesvn-build; verwendet <link linkend="kdesvn-build-std-flags"
>Standard-Parameter</link
>, das erspart die Eingabe und verhindert Tippfehler. </para
></listitem>

<listitem
><para
>&kdesvn-build; kann einen bestimmten <link linkend="using-branches"
>Zweig (branch) oder Tag</link
> oder auch eine vorgegebene <link linkend="conf-revision"
>Revision</link
> eines Moduls herunterladen. </para
></listitem>

<listitem
><para
>&kdesvn-build; kann automatisch für einen Quelltextordner das Archiv zum Herunterladen wechsenl, 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 <link linkend="cmdline-svn-only"
>--svn-only</link
> verwendet werden, damit &kdesvn-build; den Wechsel durchführt. </para
></listitem>

<listitem
><para
>&kdesvn-build; kann ein <link linkend="partial-builds"
>Modul nur teilweise</link
> herunterladen, wenn Sie zum Beispiel nur ein Programm aus einem großen Modul benötigen. </para
></listitem>

<listitem
><para
>Für Entwickler, die svn+ssh:// verwenden, <link linkend="ssh-agent-reminder"
>überprüft</link
> &kdesvn-build;, ob der Dienst <application
>ssh-agent</application
> lauft, damit es nicht zu wiederholten Passwortabfragen durch &ssh; kommt. </para
></listitem>

<listitem
><para
>Fehlerberichte können als <link linkend="email-reports"
>E-Mail</link
> an einen Benutzer gesendet werden. </para
></listitem>

<listitem
><para
>Der Ordner zum Erstellen kann <link linkend="deleting-build-dir"
>gelöscht</link
> werden, nachdem ein Modul installiert wurde, um Speicherplatz auf der Festplatte auf Kosten der Zeit zum erneuten Kompilieren einzusparen. </para
></listitem>

<listitem
><para
>Die von &kdesvn-build; benutzten Ordner können sogar für jedes einzelne Modul angepasst werden. </para
></listitem>

<listitem
><para
>&sudo; oder ein anderer benutzerdefinierter Befehl kann zur <link linkend="root-installation"
>Installation von Modulen</link
> benutzt werden, so dass &kdesvn-build; nicht mit den Rechten des Systemverwalters ausgeführt werden muss. </para
></listitem>

<listitem
><para
>&kdesvn-build; wird als Voreinstellung mit <link linkend="build-priority"
>reduzierter Priorität</link
> ausgeführt, so dass am Rechner auch dann noch gearbeitet werden kann, wenn gerade &kdesvn-build; ausgeführt wird. </para
></listitem>

<listitem
><para
>Unterstützt <link linkend="using-branches"
>Tags und Zweige (branches)</link
> in &kde;s &subversion;-Archiv. </para
></listitem>

<listitem
><para
>&kdesvn-build; verwendet bestimmte Techniken, um ein <link linkend="building-successfully"
>erfolgreiches Kompilieren</link
> zu gewährleisten. </para
></listitem>

<listitem
><para
>Das <link linkend="resuming"
>erneute Erstellen</link
> kann mit einem angegebenen Modul wieder aufgenommen werden. Es können bei der Ausführung auch <link linkend="ignoring-modules"
>einige Module ausgelassen</link
> werden. </para
></listitem>

<listitem
><para
>&kdesvn-build; kann direkt von der Befehlszeile aus <link linkend="partial-builds"
>Teile eines Moduls</link
> kompilieren. </para
></listitem>

<listitem
><para
>&kdesvn-build; lädt automatisch den erforderlichen Ordner <filename class="directory"
>/admin</filename
> für ein Modul und erstellt die symbolischen Verknüpfung dazu, wenn dieser Ordner beim ersten Herunterladen des Moduls aus dem &subversion;-Archiv ausgelassen wurde. Die betrifft nur &kde; 3-Module, für &kde;-4 Module oder qt-copy wird der Ordner „/admin“ nicht mehr benötigt. </para
></listitem>

<listitem
><para
>&kdesvn-build; zeigt den <link linkend="build-progress"
>Fortschritt</link
> beim Kompilieren mit &cmake; an und schreibt die Dauer des Kompilierens in das Protokoll. </para
></listitem>

<listitem
><para
>Automatisches Neu-Kompilieren von Modulen, die inkrementelles make verwenden (welches nach verschiedenen Arten von commits fehleranfällig ist). </para
></listitem>

<listitem
><para
>Die voreingestellten Optionen sind gut geeignet für die Installation von &kde; aus dem &subversion;-Archiv für einen einzelnen Benutzer. </para
></listitem>

<listitem
><para
>Benutzung der Tilde als Platzhalter in den Optionen. Beispielsweise ist folgender Befehl möglich: <programlisting
>qtdir ~/kdesvn/build/qt-copy</programlisting>
</para
></listitem>

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

<listitem
><para
>Es können sowohl globale Einstellungen für alle Module als auch spezifische Einstellungen für bestimmte Module vorgenommen werden. </para
></listitem>

<listitem
><para
>In manchen Fällen verlieren die autotools die Synchronisation mit dem Quell-Ordner, daher können Sie erzwingen, dass bestimmte Module vollständig neu kompiliert werden. Dazu müssen Sie im Quell-Ordner des fraglichen Moduls eine Datei namens .refresh-me anlegen oder &kdesvn-build; mit der Option <option
>--refresh-build</option
> aufrufen. </para
></listitem>

<listitem
><para
>Es können verschiedene Umgebungsvariablen benutzt werden, die den Kompiliervorgang beeinflussen. Dazu gehören unter anderem <envar
>KDEDIR</envar
>, <envar
>QTDIR</envar
>, <envar
>DO_NOT_COMPILE</envar
> und <envar
>CXXFLAGS</envar
>. </para
></listitem>

<listitem
><para
>Befehls-Protokolle. Alle Protokolle werden durchnummeriert und mit einem Datums-Stempel versehen, sodass Sie pro Skript-Durchlauf ein Protokoll erhalten. Desweiteren wird mit jedem Skript-Durchlauf ein symbolischer Link namens latest erzeugt, der auf das jeweils letzte Protokoll verweist. </para
></listitem>

<listitem
><para
>Wenn Sie &kde; für einen Benutzer anstatt systemweit installieren (wofür Sie Systemverwalter-Rechte benötigen würden), können Sie das Skript zum Installieren verwenden. Das Skript wurde nicht auf Sicherheitsprobleme bei der Ausführung als Systemverwalter überprüft und benutzt häufig die Funktion <function
>system()</function
>, daher wird empfohlen, das Skript nicht als Systemverwalter auszuführen. </para
></listitem>

<listitem
><para
>Sie können <link linkend="conf-make-install-prefix"
>make-install-prefix</link
> verwenden, um <userinput
><command
>make</command
> <option
>install</option
></userinput
> einen Befehl voranzustellen. Dies ist &eg; für die Verwendung von &sudo; nützlich. </para
></listitem>

<listitem
><para
>Sie können auch nur einzelne Teile von &kde; aus einem &subversion;-Modul herunterladen lassen. Beispielsweise könnten Sie nur <application
>taglib</application
> aus <application
>kdesupport</application
> herunterladen, oder nur <application
>K3b</application
> aus <application
>extragear/multimedia</application
>. Das Skript wird automatisch <application
>kde-common</application
> mit einbeziehen, falls dies zum Kompilieren nötig ist. </para
></listitem>

<listitem
><para
>Sie können alle Vorgänge <quote
>simulieren</quote
> anstatt sie wirklich ausführen zu lassen. Benutzen Sie dazu die Option <option
>--pretend</option
> oder <option
>-p</option
> und das Skript wird eine detaillierte Beschreibung aller Befehle ausgeben, die es ausführen würde, ohne tatsächlich etwas zu unternehmen. </para
></listitem>

</itemizedlist>

</sect1>

<sect1 id="kdesvn-build-logging">
<title
>Protokolle von &kdesvn-build;</title>

<sect2 id="logging-overview">
<title
>Übersicht der Protokollfunktionen</title>

<para
>Beim Protokollieren schreibt &kdesvn-build; die Ausgabe jedes Befehls bei der Ausführung in eine Datei. So können  bei einem Fehler die Protolle nach der möglichen Ursache durchsucht werden.</para>

<sect3 id="log-directory-layout">
<title
>Ordnerlayout für Protokolle</title>

<para
>Protokolle werden immer in einem eigenen Ordner gespeichert. Dieser Ordner wird mit der Option <link linkend="conf-log-dir"
>log-dir</link
> angegeben, die Voreinstellung dafür ist <filename class="directory"
><symbol
>${source-dir}</symbol
>/log</filename
>. Dabei wird <symbol
>${source-dir}</symbol
> durch den Wert der Option <link linkend="conf-source-dir"
>source-dir</link
> ersetzt. Im weiteren Text wird für diesen Wert <symbol
>${log-dir}</symbol
> benutzt.</para>

<para
>Der Ordner <symbol
>${log-dir}</symbol
> hat weitere Unterordner, einen für jeden Ausführungszeitpunkt von &kdesvn-build;. Jeder Ordner wird mit dem Datum und einer fortlaufenden Zahl benannt. Wird &kdesvn-build; zum Beispiel am 26. Mai 2004 zum zweitenmal ausgeführt, lautet der Name des Ordners <filename
>2004-05-26-02</filename
>.</para>

<para
>Für einen leichteren Zugriff erstellt &kdesvn-build; eine Verknüpfung zu den Protokollen der letzten Ausführung mit dem Namen <filename class="directory"
>latest</filename
>. Daher sind die aktuellen Protokolle immer unter <filename class="directory"
><symbol
>${log-dir}</symbol
>/latest</filename
> zu finden. </para>

<para
>Der Protokollordner für jede Ausführung von &kdesvn-build; enthält Unterordner, einen für jedes Modul, das erstellt wurde. Zusätzlich wird die Datei <filename
>build-status</filename
> angelegt, in der aufgeführt ist, welche Module erstellt bzw. nicht erstellt werden konnten.</para>

<note
><para
>Wenn ein Modul weitere Untermodule enthält, wie zum Beispiel extragear/multimedia, playground/utils oder KDE/kdelibs, dann wird dieses Ordnerlayout auch für die Protokollordner verwendet. Das Protokoll für die letzte Ausführung von &kdesvn-build; für das Modul KDE/kdelibs finden Sie in <filename class="directory"
><symbol
>${log-dir}</symbol
>/latest/KDE/kdelibs</filename
>, nicht in <filename class="directory"
><symbol
>${log-dir}</symbol
>/latest/kdelibs</filename
>. </para
></note>

<para
>Im Protokollordner eines Moduls werden Dateien für jede Operation angelegt, die &kdesvn-build; ausführt. Aktualisiert &kdesvn-build; ein Modul, werden Dateien wie <filename
>svn-co.log</filename
> - wenn ein Modul das erste Mal heruntergeladen wird - oder <filename
>svn-up.log</filename
> - wenn das Modul aktualisiert wird - erstellt. Wird der Befehl <command
>configure</command
> ausgeführt, so wird das in der Datei <filename
>configure.log</filename
> protokolliert.</para>

<para
>Ist ein Fehler aufgetreten, finden Sie eine Erklärung der Ursache in einer dieser Dateien. &kdesvn-build; erstellt eine Verknüpfung von der Datei mit dem Fehlerprotokoll wie zum Beispiel <filename
>build-1.log</filename
> zu der Datei <filename
>error.log</filename
>.</para>

<para
>Um zu sehen, warum ein Modul bei der letzten Ausführung von &kdesvn-build; nicht erstellt werden konnte, sollten Sie daher als erstes die Datei <filename
><symbol
>${log-dir}</symbol
>/latest/<replaceable
>module-name</replaceable
>/error.log</filename
> begutachten. </para>

<tip
><para
>Wenn die Datei <filename
>error.log</filename
> leer ist, insbesondere nach einer Installation, dann ist wahrscheinlich kein Fehler aufgetreten. Einige Programme im &kde;-Erstellungssystem melden manchmal fälschlicherweise einen Fehler.</para>

<para
>Außerdem können manche Befehle die Ausgabeumleitung von &kdesvn-build; unter bestimmten Umständen umgehen, normalerweise beim ersten Herunterladen aus dem &subversion;-Archiv. Die Fehlerausgabe wird in diesem Fall nicht in die Protokolldatei geschrieben, sondern erscheint auf der &konsole; oder im Terminal, in dem &kdesvn-build; ausgeführt wird.</para>
</tip>

</sect3>
</sect2>
</sect1>

</chapter>

<chapter id="kdesvn-buildrc">
<title
>Das Format der Datei .kdesvn-buildrc</title>

<para
>Für die korrekte Funktion benötigt das Skript eine Datei namens <filename
>.kdesvn-buildrc</filename
> in Ihrem persönlichen Ordner. Diese beschreibt unter anderem die KDE-Module, die Sie herunterladen und installieren möchten. </para>

<para
>Zuerst werden die globalen Einstellungen wie folgt festgelegt: </para>

<programlisting
>global
<replaceable
>option-name option-wert</replaceable>
<replaceable
>[...]</replaceable>
end global
</programlisting>

<para
>Danach folgen eine oder mehrere Modul-Abschnitte, die wie folgt aussehen: </para>

<programlisting
>module <replaceable
>modul-name</replaceable>
<replaceable
>option-name option-wert</replaceable>
<replaceable
>[...]</replaceable>
end module
</programlisting>

<para
><replaceable
>modul-name</replaceable
> muss ein Modulname aus dem &kde;-&subversion;-Archiv sein (zum Beispiel kdelibs oder kdebase). Einige Optionen überschreiben die globalen Optionen, einige können zusätzlich zu globalen Optionen festgelegt werden und einige globale Optionen lassen sich gar nicht überschreiben. </para>

<para
>Im Folgenden sehen Sie eine alphabetisch geordnete Liste der möglichen Optionen. Klicken Sie auf eine Option, um mehr darüber zu erfahren. Falls eine Option nicht näher dokumentiert ist, schreiben Sie bitte eine E-Mail an den Autor. Die Adresse finden Sie <link linkend="authors"
>hier</link
>. </para>

<itemizedlist>
<listitem
><para
><link linkend="conf-apply-qt-patches"
>apply-qt-patches</link
>: Verbessern von qt-copy mit einigen Patches.</para
></listitem>
<listitem
><para
><link linkend="conf-inst-apps"
>async</link
>: Um gleichzeitig zu aktualisieren und zu kompilieren.</para
></listitem>
<listitem
><para
><link linkend="conf-binpath"
>binpath</link
>: Zum Festlegen der Umgebungsvariable <envar
>PATH</envar
></para
></listitem>
<listitem
><para
><link linkend="conf-branch"
>branch</link
>: Zum Herunterladen aus einem bestimmten Zweig (branch) anstelle von /trunk.</para
></listitem>
<listitem
><para
><link linkend="conf-build-dir"
>build-dir</link
>: Legt den Kompilier-Ordner fest.</para
></listitem>
<listitem
><para
><link linkend="conf-checkout-only"
>checkout-only</link
>: Nur bestimmte Teile eines Moduls herunterladen.</para
></listitem>
<listitem
><para
><link linkend="conf-configure-flags"
>cmake-option</link
>: Legt fest, welche Parameter zur Konfiguration eines bestimmten Moduls mit &cmake; übergeben werden sollen.</para
></listitem>
<listitem
><para
><link linkend="conf-colorful-output"
>colorful-output</link
>: Farbige Darstellung der Skript-Ausgaben.</para
></listitem>
<listitem
><para
><link linkend="conf-configure-flags"
>configure-flags</link
>: Legt fest, welche Parameter zur Konfiguration eines bestimmten Moduls benutzt werden sollen.</para
></listitem>
<listitem
><para
><link linkend="conf-cxxflags"
>cxxflags</link
>: Legt den Inhalt der Umgebungsvariable <envar
>CXXFLAGS</envar
> fest.</para
></listitem>
<listitem
><para
><link linkend="conf-dest-dir"
>dest-dir</link
>: Zum Ändern des Ordner-Namens für ein Modul.</para
></listitem>
<listitem
><para
><link linkend="conf-disable-agent-check"
>disable-agent-check</link
>: Verhindert die Prüfung des Status für den SSH-Agenten.</para
></listitem>
<listitem
><para
><link linkend="conf-do-not-compile"
>do-not-compile</link
>: Schließt bestimmte Ordner vom Kompiliervorgang aus.</para
></listitem>
<listitem
><para
><link linkend="conf-inst-apps"
>inst-apps</link
>: Hiermit werden nur bestimmte Ordner kompiliert und installiert.</para
></listitem>
<listitem
><para
><link linkend="conf-install-after-build"
>install-after-build</link
>: Hierdurch kann die Installation nach dem Kompilieren verhindert werden.</para
></listitem>
<listitem
><para
><link linkend="conf-kdedir"
>kdedir</link
>: Legt den Zielordner für die &kde;-Installation fest.</para
></listitem>
<listitem
><para
><link linkend="conf-kdedir"
>kde-languages</link
>: Zum Herunterladen und Installieren von Übersetzungen.</para
></listitem>
<listitem
><para
><link linkend="conf-libpath"
>libpath</link
>: Legt den Inhalt der Umgebungsvariable <envar
>LD_LIBRARY_PATH</envar
> fest.</para
></listitem>
<listitem
><para
><link linkend="conf-make-install-prefix"
>make-install-prefix</link
>: Zum Ausführen eines Hilfsprogrammes vor <userinput
><command
>make</command
> <option
>install</option
></userinput
> (wie &sudo;).</para
></listitem>
<listitem
><para
><link linkend="conf-make-options"
>make-options</link
>: Übergibt bestimmte Optionen an das Programm &make;.</para
></listitem>
<listitem
><para
><link linkend="conf-manual-build"
>manual-build</link
>: Verhindert das automatische Kompilieren eines Moduls.</para
></listitem>
<listitem
><para
><link linkend="conf-manual-update"
>manual-update</link
>: Verhindert das automatische Aktualisieren eines Moduls.</para
></listitem>
<listitem
><para
><link linkend="conf-module-base-path"
>module-base-path</link
>: Ändert den Pfad, aus dem ein Modul heruntergeladen werden soll (nützlich für SVN-Zweige und -Tags).</para
></listitem>
<listitem
><para
><link linkend="conf-niceness"
>niceness</link
>: Ändert die Laufzeit-Priorität des Skripts.</para
></listitem>
<listitem
><para
><link linkend="conf-no-rebuild-on-fail"
>no-rebuild-on-fail</link
>: Verhindert den erneuten Durchlauf von &make; nach einem Fehler.</para
></listitem>
<listitem
><para
><link linkend="conf-qtdir"
>qtdir</link
>: Legt den Pfad zu &Qt; fest.</para
></listitem>
<listitem
><para
><link linkend="conf-set-env"
>set-env</link
>: Zum Einstellen einer Umgebungsvariablen.</para
></listitem>
<listitem
><para
><link linkend="conf-source-dir"
>source-dir</link
>: Ändert den Pfad für heruntergeladene Quellen.</para
></listitem>
<listitem
><para
><link linkend="conf-stop-on-failure"
>stop-on-failure</link
>: Beendet &kdesvn-build; sobald ein Fehler auftritt.</para
></listitem>
<listitem
><para
><link linkend="conf-svn-server"
>svn-server</link
>: Ändert den Server, von dem die Quellen heruntergeladen werden.</para
></listitem>
</itemizedlist>


<para
>Im Folgenden finden Sie eine Tabelle mit verschiedenen Optionen und einigen Kommentaren dazu. Optionen, die eine globale Option überschreiben, überschreiben auch den entsprechenden Parameter auf der Befehlszeile. </para>

<table id="option-table">
<title
>Tabelle der Optionen</title>
<tgroup cols="3">

<thead>
<row>
<entry
>Name der Option</entry>
<entry
>Modul -&gt; Globales Verhalten</entry>
<entry
>Anmerkungen</entry>
</row>
</thead>

<tbody>

<row id="conf-apidox">
<entry
>apidox</entry>
<entry
>Überschreibt die globale Option</entry>
<entry
><para
>Mit dieser Option wurde die API-Dokumentation der KDE-Module erstellt. Da dies in KDE 4 nicht mehr funktioniert, wurde diese Option in &kdesvn-build; 1.6.3 entfernt. Die API-Dokumentation finden Sie im Internet auf  <ulink url="http://api.kde.org/"
>kde.org</ulink
>. Zusätzlich kann die API-Dokumentation für KDE 4 mit einem Skript aus dem Ordner /scripts im Modul kdesdk lokal erstellt werden. Weitere Informationen dazu finden Sie auf der <ulink url="http://techbase.kde.org/Development/Tools/apidox"
>KDE TechBase</ulink
>. Für Module aus KDE 3 kann die API-Dokumentation immer noch manuell erstellt werden.</para>
</entry>
</row>

<row id="conf-apply-qt-patches">
<entry
>apply-qt-patches</entry>
<entry
>Überschreibt die globale Option</entry>
<entry
>Diese Option ist nur für qt-copy sinnvoll. Wenn Sie auf einen Wert ungleich Null eingestellt ist, wird das apply-patches-Skript in qt-copy vor dem Kompilieren ausgeführt. Dadurch werden einige inoffizielle Patches auf qt-copy angewandt. Normalerweise sind gerade diese Patches der Grund, qt-copy anstatt &Qt; zu verwenden. Daher sollten Sie diese Option bedenkenlos aktivieren können. Standardmäßig werden die Patches auf qt-copy angewandt.</entry>
</row>

<row id="conf-async">
<entry
>async</entry>
<entry
>Kann nicht überschrieben werden</entry>
<entry
><para
>Diese Option aktiviert den asynchronen Arbeitsmodus, in dem Quelltexte gleichzeitig heruntergeladen und die Module kompiliert werden, anstatt erst nach dem Laden des Quelltextes mit dem Kompilieren zu beginnen. Diese Option ist als Voreinstellung eingeschaltet, um sie abzuschalten, wird diese Option auf den Wert <replaceable
>false</replaceable
> gesetzt.</para>
<para
>Diese Option gibt es seit Version 1.6.</para
></entry>
</row>

<row id="conf-binpath">
<entry
>binpath</entry>
<entry
>Überschreibt die globale Option</entry>
<entry
><para
>Mit dieser Option können Sie die Umgebungsvariable PATH für den Kompiliervorgang festlegen. Diese Option lässt sich nicht mit einer Modul-Option überschreiben. Die Voreinstellung ist <filename class="directory"
>/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin</filename
>. Diese Umgebungsvariable sollte die Pfade zu den notwendigen Entwicklungs-Werkzeugen beinhalten. Die Pfade <filename class="directory"
>$<envar
>KDEDIR</envar
>/bin</filename
> und <filename class="directory"
>$<envar
>QTDIR</envar
>/bin</filename
> werden automatisch hinzugefügt. Sie können auch die Tilde (~) für Pfadangaben verwenden.</para>
</entry>
</row>

<row id="conf-branch">
<entry
>branch</entry>
<entry
>Überschreibt die globale Option</entry>
<entry
><para
>Mit dieser Option legen Sie fest, dass die Quellen aus einem bestimmten &kde;-Zweig anstelle von <replaceable
>trunk</replaceable
> heruntergeladen werden sollen. Um beispielsweise &kde; 3.4 herunterzuladen, stellen Sie die Option auf <replaceable
>3.4</replaceable
> ein.</para>
<para
>Beachten Sie, dass einige Module unterschiedliche Namen für ihren SVN-Zweig verwenden. Hier ist insbesondere aRts zu erwähnen, welches andere Versionsnummern als &kde; verwendet. Die mit &kde; 3.4 ausgelieferte Version von aRts war beispielsweise 1.4.</para>
<para
>Wenn das Herunterladen eines Zweigs mit dieser Option fehlschlägt, müssen Sie möglicherweise die korrekte Adresse zum Herunterladen manuell eingeben. Verwenden Sie dazu die Option <link linkend="conf-override-url"
>override-url</link
>.</para>
</entry>
</row>

<row id="conf-build-dir">
<entry
>build-dir</entry>
<entry
>Überschreibt die globale Option</entry>
<entry
>Verwenden Sie diese Option zum Ändern des Ordners, in dem die Quellen kompiliert werden sollen. Sie können diese Option auf drei Arten verwenden: <itemizedlist
> <listitem
><para
>Relativ zum &kde;-&subversion;-Quellordner (siehe die Option <link linkend="conf-source-dir"
>source-dir</link
>). Dies ist die Voreinstellung und außerdem die Art und Weise, wie es bis zur Skript-Version 0.61 funktioniert hat. Dieser Modus wird automatisch verwendet, wenn Sie einen Ordner-Namen eingeben, der nicht mit einer Tilde (~) oder einem Schrägstrich (/) beginnt.</para
> <para
>Die Voreinstellung ist <filename class="directory"
>build</filename
>.</para
></listitem
> <listitem
><para
>Absoluter Pfad. Wenn Sie einen Pfad eingeben, der mit einem Schrägstrich (/) beginnt, so wird dieser Pfad wie eingegeben verwendet. Beispiel: <filename class="directory"
>/tmp/kde-obj-dir/</filename
>.</para
></listitem
> <listitem
><para
>Relativ zum persönlichen Ordner. Wenn Sie einen Pfad angeben, der mit einer Tile (~) beginnt, so wird der Pfad als relativ zu Ihrem persönlichen Ordner angesehen. Dies funktioniert analog zu der Art und Weise, wie die Shell eine Tilde interpretiert. Beispiel: <filename class="directory"
>~/builddir</filename
> würde den Kompilier-Ordner auf <filename class="directory"
>/home/benutzer/builddir</filename
> einstellen.</para
></listitem
></itemizedlist
> Diese Option kann für jedes Modul separat eingestellt werden. </entry>
</row>

<row id="conf-checkout-only">
<entry
>checkout-only</entry>
<entry
>Überschreibt die globale Option</entry>
<entry
>Mit Hilfe dieser Option können Sie &subversion;-Quelltexte nacheinander herunterladen. Die Einstellung für diese Option sollte eine durch Komma getrennte Liste der herunterzuladenden Ordner sein. Wenn Sie den admin-Ordner nicht angeben, wird er - falls nötig - automatisch heruntergeladen. Wenn Sie mit dieser Option herunterladen, wird der admin-Ordner aus kde-common eingefügt. Zwar überschreibt diese Option die globale Version, es ist jedoch dennoch nicht sinnvoll, die Option global einzustellen. </entry>
</row>

<row id="conf-cmake-options">
<entry
>cmake-options</entry>
<entry
>Wird den globalen Optionen angefügt (nicht für qt-copy anzuwenden)</entry>
<entry
><para
>Mit Hilfe dieser Option können Sie die Parameter festlegen, die &cmake; für das jeweilige Modul übergeben werden. Wenn Sie diese Option global einstellen, wird sie für alle Module angewandt. Wenn Optionen für einzelne Module angegeben sind, werden sie nach den globalen Optionen eingefügt. Dadurch können &cmake;-Optionen für alle Module im globalen Abschnitt eingegeben werden.</para>

<para
>Diese Option ersetzt die <link linkend="conf-configure-flags"
>configure-flags</link
> für alle &kde;-4-Module, da für diese &cmake; verwendet wird.</para>

<para
>Da diese Optionen direkt ohne weitere Bearbeitung an &cmake; übergeben werden, müssen Sie in der gleichen Form wie für &cmake; eingetragen werden. Zum Beispiel: </para>

<screen
>cmake-options -DCMAKE_BUILD_TYPE=RelWithDebInfo
</screen>

<para
>Solange alle anderen Optionen richtig gesetzt sind, muss diese Option nicht eingestellt werden.</para
></entry>
</row>

<row id="conf-configure-flags">
<entry
>configure-flags</entry>
<entry
>Wird den globalen Optionen angefügt (ausgenommen für qt-copy)</entry>
<entry
><para
>Mit Hilfe dieser Option können Sie die Parameter festlegen, die dem Skript ./configure für das jeweilige Modul übergeben werden. Wenn Sie diese Option global einstellen, wird sie für alle Module angewandt. Für qt-copy wird ein völlig anderer Satz configure-Parameter benutzt als für &kde;, daher <emphasis
>überschreibt</emphasis
> die Option die globale Einstellung, wenn sie für qt-copy verwendet wird. </para>

<para
>Diese Option betrifft qt-copy und alle &kde;-3-Module. &kde; 4 verwendet &cmake;, die Einstellungen dafür werden mit den <link linkend="conf-cmake-options"
>CMake-Optionen</link
> vorgenommen.</para>
</entry>
</row>

<row id="conf-colorful-output">
<entry
>colorful-output</entry>
<entry
>Kann nicht überschrieben werden</entry>
<entry
>Wenn Sie diese Option auf <replaceable
>false</replaceable
> setzen, wird die farbige Ausgabe von &kdesvn-build; unterbunden. Die Voreinstellung ist <replaceable
>true</replaceable
>. Beachten Sie, dass &kdesvn-build; die Farbcodes nur auf ein Terminal ausgibt (wie beispielsweise xterm, &konsole; oder die normale &Linux;-Konsole). </entry>
</row>

<row id="conf-cxxflags">
<entry
>cxxflags</entry>
<entry
>Wird der globalen Option angefügt</entry>
<entry
><para
>Mit dieser Option können Sie die Parameter festlegen, die <command
>./configure</command
> als <envar
>CXXFLAGS</envar
> übergeben werden sollen. Diese Option wird hier festgelegt und nicht einfach an <command
>configure-flags</command
> oder an <link linkend="conf-cmake-options"
>cmake-options</link
> mit angehängt, weil sie auch die Umgebungsvariable <envar
>CXXFLAGS</envar
> während des Kompilierens setzt.</para>

<para
>Beachten Sie, dass in &kde; 4 für jedes Modul, das &cmake; verwendet, die Option CMAKE_BUILD_TYPE auf den Wert  <quote
>none</quote
> eingestellt werden muss. Dazu dient die Option <link linkend="conf-cmake-options"
>cmake-options</link
>.</para>
</entry>
</row>

<row id="conf-dest-dir">
<entry
>dest-dir</entry>
<entry
>Überschreibt die globale Option</entry>
<entry
>Mit dieser Option wird der Ordnername eines Moduls auf der Festplatte eingestellt. Das Modul extragear/network zum Beispiel kann mit dieser Option in extragear-network umbenannt werden. Das Trennzeichen für Ordner sollte nicht im Namen benutzt werden, dadurch gibt es Probleme mit den Optionen <link linkend="conf-build-dir"
>build-dir</link
> und <link linkend="conf-source-dir"
>source-dir</link
>. </entry>
</row>

<row id="conf-disable-agent-check">
<entry
>disable-agent-check</entry>
<entry
>Kann nicht überschrieben werden</entry>
<entry
>Wenn Sie &ssh; zum Herunterladen der &subversion;-Quelltexte verwenden (zum Beispiel mit dem Protokoll svn+ssh), wird &kdesvn-build; überprüfen, dass Ihr SSH-Agent auch einige &ssh;-Identitäten verwalten kann. Auf diese Weise soll &ssh; daran gehindert werden, Sie andauernd zur Passworteingabe aufzufordern. Sie können diese Prüfung unterbinden, indem Sie die Option <option
>disable-agent-check</option
> auf <replaceable
>true</replaceable
> einstellen. </entry>
</row>

<row id="conf-do-not-compile">
<entry
>do-not-compile</entry>
<entry
>Überschreibt die globale Option</entry>
<entry
><para
>Verwenden Sie diese Option, um bestimmte Ordner aus einem Modul nicht zu erstellen. Die Namen dieser Ordner werden durch Leerzeichen getrennt.</para>

<para
>Diese Funktion unterstützt sowohl &kde; 3 als auch &kde; 4. die Unterstützung für KDE 4 wurde mit &kdesvn-build; Version 1.6.3 eingeführt.</para>

<para
>Beachten Sie, dass die Quellen zu den übersprungenen Programmen dennoch heruntergeladen werden. Um auch dies zu unterbinden, können Sie die Option <link linkend="conf-checkout-only"
>checkout-only</link
> verwenden. Geben Sie mit dieser Option nur die Ordner an, die Sie herunterladen möchten.</para>

<para
>Um zum Beispiel &juk; und &kscd; aus dem Modul kdemultimedia nicht zu erstellen, fügen Sie  <quote
>do-not-compile juk kscd</quote
> zu den Einstellungen für kdemultimedia hinzu.</para>
</entry>
</row>

<row id="conf-email-address">
<entry
>email-address</entry>
<entry
>Kann nicht überschrieben werden</entry>
<entry>
<para
>Mit dieser Option können Sie die E-Mail-Adresse festlegen, die &kdesvn-build; als Absender verwenden soll, falls das Senden einer E-Mail nötig sein sollte. Sie können diese Option vernachlässigen, wenn Sie keine Funktionen benutzen, die E-Mails senden. (Diese Funktionen sind in der Voreinstellung deaktiviert.) </para>

<para
>Derzeit benötigt nur <link linkend="conf-email-on-compile-error"
>email-on-compile-error</link
> diese Option. </para>
</entry>
</row>

<row id="conf-email-on-compile-error">
<entry
>email-on-compile-error</entry>
<entry
>Kann nicht überschrieben werden</entry>
<entry>
<para
>Mit dieser Option können Sie die E-Mail-Adresse festlegen, an die eine Nachricht gesendet werden soll, falls sich ein Modul nicht kompilieren lässt. &kdesvn-build; wartet ab, bis alle Module bearbeitet wurden und sendet dann einen Sammelbericht über die fehlgeschlagenen Module per E-Mail. Es wird nur eine E-Mail gesendet, falls das Erstellen eines Moduls fehlschlägt. </para>

<para
>Bitte beachten Sie die Option <link linkend="conf-email-address"
>email-address</link
>, mit der die Absenderadresse für diese Funktion eingestellt wird. Als Voreinstellung ist keine Adresse eingetragen. </para>
</entry>
</row>

<row id="conf-inst-apps">
<entry
>inst-apps</entry>
<entry
>Überschreibt die globale Option</entry>
<entry
><para
>Dies ist das Gegenteil zu der Option <link linkend="conf-do-not-compile"
>do-not-compile</link
>. Mit dieser Option legen Sie fest, dass nur bestimmte Hauptordner kompiliert werden sollen. Die Namen der Ordner müssen mit Leerzeichen getrennt werden.</para>

<para
>Änderungen an dieser Option werden erst wirksam, nachdem das nächste Mal <command
>make <option
>-f</option
> Makefile.cvs</command
> aufgerufen wurde; entweder automatisch, durch das Skript oder manuell durch die Option <link linkend="cmdline-refresh-build"
><option
>--refresh-build</option
></link
> oder <link linkend="cmdline-recreate-configure"
><option
>--recreate-configure</option
></link
>. </para>

<important
><para
>Diese Option funktioniert zur Zeit noch nicht für Module, die mit &cmake; erstellt werden.</para
></important>

<para
>Beachten Sie, dass die Quellen zu den übersprungenen Programmen dennoch heruntergeladen werden. Um auch dies zu unterbinden, können Sie die Option <link linkend="conf-checkout-only"
>checkout-only</link
> verwenden. Geben Sie mit dieser Option nur die Ordner an, die Sie herunterladen möchten.</para>
</entry>
</row>

<row id="conf-install-after-build">
<entry
>install-after-build</entry>
<entry
>Überschreibt die globale Option</entry>
<entry
>Diese Option legt fest, dass ein Paket nach erfolgreichem Kompilieren installiert werden soll. Dies ist in der Voreinstellung eingeschaltet. Wenn Sie dieses Verhalten nicht wünschen, stellen Sie die Option in der <link linkend="configure-data"
>Einrichtungsdatei</link
> auf 0. Sie können analog auch den Befehlszeilen-Parameter <link linkend="cmdline-no-install"
><option
>--no-install</option
></link
> verwenden. </entry>
</row>

<row id="conf-kdedir">
<entry
>kdedir</entry>
<entry
>Überschreibt die globale Option</entry>
<entry
>Mit dieser Option wird der Zielordner festgelegt, in den &kde; nach dem Kompilieren installiert wird. Die Voreinstellung ist <filename class="directory"
>~/kde</filename
>. Wenn Sie hier einen Ordner einstellen, für den Systemverwalter-Rechte benötigt werden, sollten Sie auch die Anmerkungen zur Option <link linkend="conf-make-install-prefix"
>make-install-prefix</link
> lesen.</entry>
</row>

<row id="conf-kde-languages">
<entry
>kde-languages</entry>
<entry
>Kann nicht überschrieben werden</entry>
<entry
><para
>Mit dieser Option kann ausgewählt werden, welche Sprachpakete heruntergeladen und kompiliert werden. So kann &kde; mit Übersetzungen in Ihrer Sprache ausgeführt werden.</para>

<para
>Geben Sie alle Sprachen, die installiert werden sollen, in einer durch Leerzeichen getrennten Liste an. Für jede gewünschte Sprache ist der Sprachencode dafür einzutragen, den Sie auf der Seite <ulink url="http://i18n.kde.org/teams/"
>http://i18n.kde.org/teams/</ulink
> finden. </para>

<para
>Es muss nur eine Sprache ausgewählt werden. Als Voreinstellung wird kein Sprachenpaket heruntergeladen. &kde; wird in amerikanischem Englisch angezeigt.</para>

<para
>Um zum Beispiel die französische Sprache zu installieren, wird für diese Option <userinput
><option
>kde-languages</option
> <replaceable
>fr</replaceable
></userinput
> eingetragen. Nach der Installation muss diese Sprache dann in den &systemsettings; als erste Sprache ausgewählt werden.</para>
</entry>
</row>

<row id="conf-libpath">
<entry
>libpath</entry>
<entry
>Überschreibt die globale Option</entry>
<entry
>Mit dieser Option wird die Umgebungsvariable LD_LIBRARY_PATH für den Kompiliervorgang gesetzt. Sie können die Option für jedes Modul separat einstellen. In der Voreinstellung ist sie nicht gesetzt, aber die Pfade <filename class="directory"
>$<envar
>KDEDIR</envar
>/lib</filename
> und <filename class="directory"
><envar
>$</envar
>QTDIR/lib</filename
> werden automatisch hinzugefügt. Sie können für Pfadangaben auch die Tile (~) benutzen. </entry>
</row>

<row id="conf-log-dir">
<entry
>log-dir</entry>
<entry
>Überschreibt die globale Option</entry>
<entry
>Diese Option wird zum Ändern des Ordners für Protokoll-Dateien des Skripts verwendet. Seit der Version 0.64 können Sie die Option auch pro Modul einstellen. </entry>
</row>

<row id="conf-make-install-prefix">
<entry
>make-install-prefix</entry>
<entry
>Überschreibt die globale Option</entry>
<entry
>Geben Sie für diese Variable eine Liste mit Befehlen ein. Mehrere Befehle werden durch Leerzeichen getrennt. Die hier eingegebenen Befehle werden vor jedem Aufruf von <userinput
><command
>make</command
> <option
>install</option
></userinput
> ausgeführt. Dies ist hilfreich, wenn Sie für die Installation einiger Pakete Systemverwalter-Rechte benötigen und daher zum Beispiel &sudo; aufrufen müssen. Bitte seien Sie umsichtig im Umgang mit Systemverwalter-Rechten.</entry>
</row>

<row id="conf-make-options">
<entry
>make-options</entry>
<entry
>Überschreibt die globale Option</entry>
<entry
>Mit Hilfe dieser Variablen können Sie Befehlszeilen-Parameter an <command
>make</command
> übergeben. Das kann beispielsweise bei Verwendung von <ulink url="http://distcc.samba.org/"
><application
>distcc</application
></ulink
> oder auf Systemen mit mehr als einem Prozessor nützlich sein.  </entry>
</row>

<row id="conf-manual-build">
<entry
>manual-build</entry>
<entry
>Überschreibt die globale Option</entry>
<entry
>Stellen Sie diese Option auf <replaceable
>true</replaceable
>, um zu verhindern, dass ein Modul kompiliert wird. Es wird dennoch weiterhin aktualisiert, wenn Quellen aus dem &subversion;-Archiv heruntergeladen werden. Diese Option entspricht dem Befehlszeilen-Parameter <link linkend="cmdline-no-build"
><option
>--no-build</option
></link
>. </entry>
</row>

<row id="conf-manual-update">
<entry
>manual-update</entry>
<entry
>Überschreibt die globale Option</entry>
<entry
>Stellen Sie diese Option auf <replaceable
>true</replaceable
>, um zu verhindern, dass kdesvn-build ein Modul aktualisiert (und auch nicht kompiliert und installiert). Wenn Sie diese Option so verwenden, entspricht das im Grunde dem Auskommentieren - es wird völlig übergangen. </entry>
</row>

<row id="conf-module-base-path">
<entry
>module-base-path</entry>
<entry
>Überschreibt die globale Option</entry>
<entry
><para
>Mit dieser Option können Sie den in &kdesvn-build; voreingestellten Pfad zu einem Modul übergehen. Das kann zum Beispiel verwendet werden, um für ein Modul einen besonderen Zweig oder eine als Tag vorhandene Version herunterzuladen. Bei der Suche nach dem richtigen Pfad kann Ihnen das <ulink url="http://websvn.kde.org/"
>&kde; WebSVN</ulink
> behilflich sein.</para>
<para
>Beachten Sie: &kdesvn-build; setzt den Pfad nach dem folgenden Schema zusammen: <varname
>$svn-server</varname
>/home/kde/<varname
>$module-base-path</varname
>/<varname
>$modul-name</varname
>. </para>
<para
>Die Voreinstellung ist entweder <quote
>trunk</quote
> oder <quote
>trunk/KDE</quote
>, abhängig vom Namen des Moduls.</para>
<tip
><para
>Verwenden Sie stattdessen die Optionen <link linkend="conf-branch"
>branch</link
> oder <link linkend="conf-tag"
>tag</link
>, sofern möglich. </para
></tip>
</entry>
</row>

<row id="conf-niceness">
<entry
>niceness</entry>
<entry
>Kann nicht überschrieben werden</entry>
<entry
>Diese Option können Sie auf einen Wert zwischen 20 und 0 einstellen. Je höher die Zahl, desto niedriger ist die Laufzeit-Priorität für &kdesvn-build;. Die Voreinstellung ist 10. </entry>
</row>

<row id="conf-no-svn">
<entry
>no-svn</entry>
<entry
>Überschreibt die globale Option</entry>
<entry
>Steht diese Option auf <replaceable
>true</replaceable
>, aktualisiert &kdesvn-build; nicht automatisch den Quelltext für dieses Modul, erstellt aber trotzdem das Modul, sofern dies nicht durch eine andere Option verhindert wird.</entry>
</row>

<row id="conf-no-rebuild-on-fail">
<entry
>no-rebuild-on-fail</entry>
<entry
>Überschreibt die globale Option</entry>
<entry
>Stellen Sie diese Option auf <replaceable
>true</replaceable
>, wenn Sie verhindern möchten, dass &kdesvn-build; ein Modul erneut kompiliert, wenn inkrementelles Kompilieren fehlgeschlagen ist. Normalerweise versucht &kdesvn-build;, ein Modul erneut von vorne zu kompilieren, falls ein <quote
>svn update</quote
> den Kompiliervorgang durcheinander gebracht haben sollte.</entry>
</row>

<row id="conf-override-url">
<entry
>override-url</entry>
<entry
>Überschreibt die globale Option</entry>
<entry
>Wenn Sie diese Option einstellen, wird &kdesvn-build; den eingestellten Wert <emphasis
>unverändert</emphasis
> als Adresse an &subversion; übergeben. Sie können diese Option grundsätzlich verwenden, um eine bestimmte Programmversion herunterzuladen. Dann kann &kdesvn-build; allerdings nichts mit der Option <link linkend="conf-branch"
>branch</link
> anfangen. </entry>
</row>

<row id="conf-qtdir">
<entry
>qtdir</entry>
<entry
>Überschreibt die globale Option</entry>
<entry
>Diese Option setzt die Umgebungsvariable <envar
>QTDIR</envar
> für den Kompiliervorgang. Sie können die Einstellung nicht für einzelne Module überschreiben. Wenn Sie diese Option nicht setzen, lautet die Voreinstellung <filename class="directory"
><symbol
>${source-dir}</symbol
>/build/qt-copy</filename
>, damit wird die mit &kde; ausgelieferte Version von qt-copy verwendet. Sie können die Tilde (~) verwenden. </entry>
</row>

<row id="conf-remove-after-install">
<entry
>remove-after-install</entry>
<entry
>Überschreibt die globale Option</entry>
<entry
><para
>Wenn Sie wenig Festplattenspeicher zur Verfügung haben, können Sie mit Hilfe dieser Option alle Kompilier-Ordner oder zusätzlich auch den Quelltext-Ordner nach der erfolgreichen Installation löschen lassen. </para>
<para
>Die möglichen Einstellungen für diese Option sind: <itemizedlist>
<listitem
><para
>none - Nichts wird gelöscht (dies ist die Voreinstellung).</para
></listitem>
<listitem
><para
>builddir - Kompilier-Ordner werden gelöscht, aber keine Quelltext-Ordner.</para
></listitem>
<listitem
><para
>all - Sowohl Kompilier- als auch Quelltext-Ordner werden gelöscht.</para
></listitem>
</itemizedlist>
</para>

<para
>Beachten Sie: Die Verwendung dieser Option kann negative Auswirkungen auf Ihre Internet-Bandbreite und die Gesamtdauer einer &kde;-Installation haben, weil &kdesvn-build; nicht mehr inkrementell kompilieren kann und die Pakete unter Umständen immer wieder neu herunterladen muss. Dies ist insbesondere der Fall, wenn Sie die Option auf <replaceable
>all</replaceable
> einstellen.</para>
</entry>
</row>

<row id="conf-revision">
<entry
>revision</entry>
<entry
>Überschreibt die globale Option</entry>
<entry
>Wird diese Option auf einen Wert größer 0 gesetzt, aktualisiert &kdesvn-build; das Modul auf genau diese &subversion;-Revision, auch wenn zusätzlich Optionen wie <link linkend="conf-branch"
>branch</link
> verwendet werden. Hat das Modul bereits diese Revision, wird es nicht weiter aktualisiert, bis diese Option geändert oder aus der Einrichtungsdatei entfernt worden ist.</entry>
</row>

<row id="conf-set-env">
<entry
>set-env</entry>
<entry
>Überschreibt die globale Option</entry>
<entry
><para
>Diese Option erwartet eine Liste mit durch Leerzeichen getrennten Werten. Der erste Wert ist die zu setzende Umgebungsvariable, die restlichen Werte sind der Inhalt der Variable. Wenn Sie beispielsweise die Umgebungsvariable <envar
>RONALD</envar
> auf McDonald setzen möchten, würden Sie diese Einstellung verwenden:</para>
<screen
><command
>set-env</command
> <envar
>RONALD</envar
> <userinput
>McDonald</userinput
></screen>
<para
>Das besondere an dieser Option ist, dass Sie sie mehrfach verwenden können, ohne dass die jeweils vorige set-env-Option im gleichen Abschnitt der <link linkend="configure-data"
>Einrichtungsdatei</link
> überschrieben wird. Auf diese Weise können Sie pro Modul und auch global mehrere Umgebungsvariablen setzen.</para>
</entry>
</row>

<row id="conf-source-dir">
<entry
>source-dir</entry>
<entry
>Überschreibt die globale Option</entry>
<entry
>Diese Option legt den Ordner auf Ihrer Festplatte fest, in dem die &kde;-&subversion;-Quellen gespeichert werden sollen. Wenn Sie die Option nicht setzen, lautet die Voreinstellung <filename class="directory"
>~/kdesvn</filename
>. Falls Sie die Option benutzen möchten, müssen Sie einen absoluten Pfad angeben. </entry>
</row>

<row id="conf-stop-on-failure">
<entry
>stop-on-failure</entry>
<entry
>Überschreibt die globale Option</entry>
<entry
>Setzen Sie diese Option auf <replaceable
>true</replaceable
>, wenn &kdesvn-build; beendet werden soll, sobald beim Kompilieren oder Installieren ein Fehler auftritt. Diese Einstellung ist in der Voreinstellung ausgeschaltet. </entry>
</row>

<row id="conf-svn-server">
<entry
>svn-server</entry>
<entry
>Überschreibt die globale Option</entry>
<entry
>Mit dieser Option können Sie den zu verwendenden &subversion;-Server festlegen. Die Voreinstellung ist der Server für anonymes &subversion; <filename
>svn://anonsvn.kde.org/</filename
>.</entry>
</row>

<row id="conf-tag">
<entry
>tag</entry>
<entry
>Überschreibt die globale Option</entry>
<entry
><para
>Benutzen Sie diese Option, um eine bestimmte Version eines Moduls herunterzuladen.</para>
<para
><emphasis
>Hinweis:</emphasis
> Im Regelfall ist es sinnvoller, diese Option <emphasis
>nicht</emphasis
> zu benutzen. Fertige &kde;-Versionen können üblicherweise als Tar-Archiv von der <ulink url="ftp://ftp.kde.org/"
>&kde;-FTP-Seite</ulink
> oder <ulink url="http://download.kde.org/download.php"
>einem der Softwarespiegelserver</ulink
> heruntergeladen werden.</para>
<para
>Falls Sie &kdesvn-build; benutzen, weil Sie Schwierigkeiten mit der Installation einer fertigen &kde;-Version haben, sollten Sie lieber <ulink url="http://techbase.kde.org/Getting_Started/Build/Konstruct"
>Konstruct</ulink
> verwenden, welches grundsätzlich mit veröffentlichten KDE-Archiven arbeitet.</para>
</entry>
</row>

<row id="conf-use-cmake">
<entry
>use-cmake</entry>
<entry
>Überschreibt die globale Option</entry>
<entry
>Diese Option wurde in &kdesvn-build; Version 1.4 entfernt, da alle &kde; 4 Module &cmake; erfordern. Die Verwendung von &cmake; für andere Module ist nicht möglich. </entry>
</row>

<row id="conf-use-qt-builddir-hack">
<entry
>use-qt-builddir-hack</entry>
<entry
>Überschreibt die globale Option</entry>
<entry
>Zwar überschreibt diese Option die globale Option, jedoch ist sie nur sinnvoll für qt-copy einzusetzen. Wenn Sie die Option auf <replaceable
>true</replaceable
> einstellen, wird qt-copy nicht im Quelltext-Ordner kompiliert. Ist dies aktiviert, kopiert &kdesvn-build; die qt-copy-Quellen in den Kompilier-Ordner um sie dort zu kompilieren. Das hat zur Folge, dass die Umgebungsvariable <filename class="directory"
>$<symbol
>{qt-copy-build-dir}</symbol
>/qt-copy/lib</filename
> eingestellt werden sollte. Außerdem sollten Sie die Option <link linkend="conf-qtdir"
>qtdir</link
> entsprechend anpassen. Auch in diesem Modus sollte noch inkrementelles Kompilieren mit &make; möglich sein, weil die Zeitstempel auch noch nach dem Kopieren vorhanden sind. Wenn Sie <link linkend="conf-apply-qt-patches"
>apply-qt-patches</link
> verwenden, werden die Patches auf den Kompilier-Ordner angewandt, nicht auf den Quell-Ordner. Die Voreinstellung ist <replaceable
>true</replaceable
>. </entry>
</row>

<row id="conf-use-stable-kde">
<entry
>use-stable-kde</entry>
<entry
>Kann nicht überschrieben werden</entry>
<entry
><para
>&kdesvn-build; kann &kde; 3 und 4 erstellen, die gewünschte Version muss angegeben werden. Als Voreinstellung wird die &kde;-Entwicklerversion <quote
>trunk</quote
> kompiliert, die noch nicht zur Veröffentlichung freigegeben ist. </para>

<para
>Mit der Option &branch; global oder für einzelne Module wird &kde; 3.5 oder 3.4 usw. heruntergeladen. </para>

<para
>Wenn diese Option global auf <replaceable
>true</replaceable
> gesetzt wird, lädt &kdesvn-build; die Version &kde; 3.5 der Module wie kdelibs und qt-copy herunter, nicht &kde; 4. Sie können immer noch die Optionen &branch; oder &tag; für ein einzelnes Modul benutzen, um die globalen Einstellungen von &kdesvn-build; zu überschreiben.</para>
</entry>
</row>

</tbody>

</tgroup>
</table>

</chapter>

<chapter id="cmdline">
<title
>Befehlszeilen-Parameter und Umgebungsvariablen</title>

<para
>Dieses Skript verwendet keine Umgebungsvariablen. Falls Sie welche für den Kompilier- oder Installationsvorgang benötigen, lesen Sie bitte die Hinweise für die Option <link linkend="conf-set-env"
>set-env</link
>. </para>

<para
>Das Skript kennt die folgenden Befehlszeilen-Parameter: </para>

<variablelist>

<varlistentry id="cmdline-async">
<term
><option
>--async</option
></term>
<listitem
><para
>Aktualisiert und kompiliert gleichzeitig im <link linkend="conf-async"
>asynchronen Modus</link
>. Dies ist die Voreinstellung, daher muss diese Option nur angegeben werden, wenn sie in der Einrichtungsdatei abgeschaltet wurde. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-help">
<term
><option
>--help</option
></term>
<listitem
><para
>Zeigt eine kurze Hilfe für dieses Skript an. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-version">
<term
><option
>--version</option
></term>
<listitem
><para
>Zeigt die Programmversion an. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-author">
<term
><option
>--author</option
></term>
<listitem
><para
>Zeigt Kontaktinformationen zum Autor des Skripts an. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-color">
<term
><option
>--color</option
></term>
<listitem
><para
>Aktiviert die farbige Darstellung der Ausgaben. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-nice">
<term
><option
>--nice=<replaceable
>wert</replaceable
></option
></term>
<listitem
><para
>Setzt &niceness; auf den Wert <replaceable
>wert</replaceable
> für die Ausführung. <replaceable
>wert</replaceable
> kann zwischen 0 und 20 liegen. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-no-async">
<term
><option
>--no-async</option
></term>
<listitem
><para
>Deaktiviert den <link linkend="conf-async"
>asynchronen Modus</link
>. So werden erst alle Module aktualisiert, ehe mit dem Erstellen begonnen wird. Insgesamt dauert damit die Ausführung länger, wenn aber IPC-Fehler bei der Ausführung von &kdesvn-build; auftreten, verwenden Sie diese Option und berichten den <ulink url="http://bugs.kde.org/"
>Fehler</ulink
>.  </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-no-color">
<term
><option
>--no-color</option
></term>
<listitem
><para
>Deaktiviert die farbige Darstellung der Ausgaben. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-pretend">
<term
><option
>--pretend</option
> (oder <option
>-p</option
>)</term>
<listitem
><para
>Ein Durchlauf wird simuliert, aber <emphasis
>nichts</emphasis
> wirklich ausgeführt. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-quiet">
<term
><option
>--quiet</option
> (oder <option
>-q</option
>)</term>
<listitem
><para
>Reduziert die Ausgaben auf der Konsole auf grundlegende Informationen. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-really-quiet">
<term
><option
>--really-quiet</option
></term>
<listitem
><para
>Nur Warnungen und Fehler ausgeben. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-verbose">
<term
><option
>--verbose</option
></term>
<listitem
><para
>Es werden ausführliche Ausgaben erzeugt, Sie können den genauen Ablauf verfolgen. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-svn-only">
<term
><option
>--svn-only</option
></term>
<listitem
><para
>Führt nur das Aktualisieren der Quellen durch. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-build-only">
<term
><option
>--build-only</option
></term>
<listitem
><para
>Führt nur den Kompiliervorgang durch. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-ignore-modules">
<term
><option
>--ignore-modules</option
></term>
<listitem
><para
>Die folgenden auf der Befehlszeile angegebenen Module werden bei der Aktualisierung/Kompilierung ignoriert. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-no-svn">
<term
><option
>--no-svn</option
></term>
<listitem
><para
>Keine Verbindung zum &subversion;-Server herstellen. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-no-build">
<term
><option
>--no-build</option
></term>
<listitem
><para
>Den Kompiliervorgang überspringen. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-no-install">
<term
><option
>--no-install</option
></term>
<listitem
><para
>Pakete nicht automatisch installieren, nachdem sie kompiliert wurden. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-debug">
<term
><option
>--debug</option
></term>
<listitem
><para
>Aktiviert den Modus zur Fehlersuche. Dies bedeutet, dass alle Ausgaben auf der Standardausgabe ausgegeben und zusätzlich im Protokoll abgelegt werden. Desweiteren sind die meisten Funktionen wesentlich <quote
>gesprächiger</quote
>. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-no-rebuild-on-fail">
<term
><option
>--no-rebuild-on-fail</option
></term>
<listitem
><para
>Es wird nicht versucht, ein Modul nach einem Fehler erneut zu kompilieren. Es werden grundsätzlich keine Module neu kompiliert, bei denen es bereits einen Fehler beim Kompilieren gegeben hat. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-refresh-build">
<term
><option
>--refresh-build</option
></term>
<listitem
><para
>Aktualisiert das Kompilier-System und beginnt den Kompiliervorgang von vorne. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-reconfigure">
<term
><option
>--reconfigure</option
></term>
<listitem
><para
>Führt das configure-Skript erneut aus, ohne den Kompilier-Ordner vorher zu bereinigen. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-recreate-configure">
<term
><option
>--recreate-configure</option
></term>
<listitem
><para
>Führt <command
>make <option
>-f</option
> Makefile.cvs</command
> erneut aus und erzeugt das configure-Skript neu. Der restliche Kompiliervorgang ist dann ganz normal. Diese Option schließt automatisch <option
><link linkend="cmdline-reconfigure"
>--reconfigure</link
></option
> ein. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-resume-from">
<term
><option
>--resume-from</option
></term>
<listitem
><para
>Mit dieser Option wird das Erstellen mit dem als nächste Option auf der Befehlszeile angegebenen Modul fortgesetzt. Diese Option schließt automatisch <link linkend="cmdline-no-svn"
><option
>--no-svn</option
></link
> ein. Sie sollten keine weiteren Modul-Namen auf der Befehlszeile übergeben. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-rc-file">
<term
><option
>--rc-file</option
></term>
<listitem
><para
>Der darauf folgende Parameter ist die Einrichtungsdatei, aus der die Optionen eingelesen werden sollen. Die Voreinstellung für diesen Parameter ist ~/.kdesvn-buildrc. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-run">
<term
><option
>--run</option
></term>
<listitem
><para
>Diese Option interpretiert den nächsten Parameter auf der Befehlszeile als Programm, das auszuführen ist. &kdesvn-build; beendet erst das Einlesen der Einrichtungsdatei, aktualisiert die Umgebungsvariablen und führt dann das Programm aus.</para>

<para
>Damit lässt sich keine neue Shell mit den Umgebungsvariablen von &kdesvn-build; starten, da interaktive Shells normalerweise mindestens einen Teil der Umgebungsvariablen wie <envar
>PATH</envar
> und <envar
>KDEDIRS</envar
> beim Startvorgang zurücksetzen. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-prefix">
<term
><option
>--prefix=&lt;/pfad/zu/kde&gt;</option
></term>
<listitem
><para
>Ermöglicht Ihnen, den Ordner zu wählen, in den &kde; installiert wird. Diese Option schließt automatisch <link linkend="cmdline-reconfigure"
><option
>--reconfigure</option
></link
> ein. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-build-system-only">
<term
><option
>--build-system-only</option
></term>
<listitem
><para
>Stoppt nach dem Ausführen von <command
>make <option
>-f</option
> Makefile.cvs</command
>. Das configure-Skript muss dennoch ausgeführt werden, &kdesvn-build; wird dies automatisch für Sie erledigen. Auf diese Weise können Sie alle configure-Skripte in einem Durchlauf erzeugen, für jedes Modul die Ausgabe von <command
>./configure <option
>--help</option
></command
> betrachten und entsprechende Optionen festlegen. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-install"
><term
><option
>--install</option
></term>
<listitem
><para
>Wenn dies der einzige Befehlszeilen-Parameter ist, wird versucht, alle Module zu installieren, die erfolgreich kompiliert wurden - mit Ausnahme von qt-copy, welches nicht installiert werden muss. Wenn Sie nach <option
>--install</option
> weitere Parameter angeben, werden diese als Module interpretiert, die installiert werden sollen. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-global-option">
<term
><option
>--&lt;option-name&gt;=</option
></term>
<listitem
><para
>Dies können Sie verwenden, um eine Option in Ihrer <link linkend="configure-data"
>Einrichtungsdatei</link
> für einzelne Module zu überschreiben. Beispiel: <userinput
><option
>--log-dir=<filename class="directory"
><replaceable
>/pfad/zu/ordner</replaceable
></filename
></option
></userinput
> würde die Option <link linkend="conf-log-dir"
>log-dir</link
> überschreiben. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-module-option">
<term
><option
>--&lt;modul-name&gt;,&lt;option-name&gt;=</option
></term>
<listitem
><para
>Mit dieser Option können Einstellungen aus der <link linkend="configure-data"
>Einrichtungsdatei</link
> für ein einzelnes Module überschrieben werden. </para
></listitem>
</varlistentry>

</variablelist>

<para
>Alle weiteren Parameter werden als Modul-Namen interpretiert, die aktualisiert oder kompiliert werden sollen. Verwechseln Sie Kompilieren nicht mit Installieren. </para>

</chapter>

<chapter id="using-kdesvn-build">
<title
>&kdesvn-build; verwenden</title>

<sect1 id="using-kdesvn-build-preface">
<title
>Einleitung</title>

<para
>Nachdem Sie das <xref linkend="getting-started"/> gelesen haben, können Sie &kdesvn-build; im Terminal mit dieser Eingabe starten:</para>

<screen
><prompt
>&percnt;</prompt
> <command
><userinput
>kdesvn-build</userinput
></command
>
</screen>

<para
>&kdesvn-build; lädt dann die Quelltexte für &kde; herunter und konfiguriert, kompiliert und installiert das &kde;-System. </para>

<para
>In den folgenden Kapiteln erfahren Sie, wie &kdesvn-build; diese Aufgabe ausführt und welche weiteren Hilfen geboten werden.</para>

</sect1>

<sect1 id="basic-features">
<title
>Grundfunktionen von &kdesvn-build;</title>

<sect2 id="using-qt-copy">
<title
>Unterstützung für qt-copy</title>
<para
>&kdesvn-build; kann das Modul qt-copy aus dem &kde;-&subversion;-Archiv kompilieren und installieren.</para>

<note
><para
>qt-copy ist eine Kopie des Quelltextes der letzten Veröffentlichung der &Qt;-Bibliothek, die von &kde; benutzt wird. qt-copy enthält Patches zur Optimierung und Fehlerbehebung. Diese Patches sind kompatibel zur &Qt;-Bibliothek, so dass mit qt-copy kompilierte Programme auch mit dem normalen &Qt; ausgeführt werden können. </para
></note>

<para
>Die meisten der Unterschiede in Bezug auf qt-copy werden automatisch von &kdesvn-build; behandelt. Es gibt dabei aber folgendes zu beachten:</para>

<itemizedlist>
<listitem
><para
>Normalerweise wird der Wert der Option &configure-flags; für ein Modul an die globale Einstellung für &configure-flags; angehängt. Für qt-copy jedoch wird die globale Einstellung überschrieben, da es sich in diesem Fall um zwei verschiedene Befehle handelt. </para
></listitem>

<listitem
><para
>&kdesvn-build; definiert automatisch einige zusätzliche Umgebungsvariablen für qt-copy, die aber für das Erstellen von &kde; nicht erforderlich sind. </para
></listitem>

<listitem
><para
>In qt-copy sind auch einige Patches zur Fehlerbehebung und zur Optimierung enthalten, die noch nicht in die offizielle &Qt;-Version eingepflegt wurden. Um die Patches anzuwenden, wird der Wert der Option &apply-qt-patches; auf <replaceable
>true</replaceable
> gesetzt. Danach muss <userinput
><command
>kdesvn-build</command
> <option
>--refresh-build</option
> <option
>qt-copy</option
></userinput
> ausgeführt werden. </para
></listitem>

</itemizedlist>

</sect2>

<sect2 id="kdesvn-build-std-flags">
<title
>Standard-Parameter von &kdesvn-build;</title>
<para
>&kdesvn-build; fügt einige Standardpfade zur der Entwicklungsumgebung hinzu: </para>

<itemizedlist>
<listitem
><para
>Der Pfad zu den &kde;- und &Qt;-Bibliotheken wird automatisch zur Variablen <envar
>LD_LIBRARY_PATH</envar
> hinzugefügt. Es ist nicht erforderlich, &libpath; zu bearbeiten und den Pfad dort einzutragen. </para
></listitem>

<listitem
><para
>Der Pfad zu den &kde;- und &Qt;-Hilfsprogrammen für die Entwicklung wird automatisch zur Variablen <envar
>PATH</envar
> hinzugefügt. Es ist nicht erforderlich, &binpath; zu bearbeiten und den Pfad dort einzutragen. </para
></listitem>

<listitem
><para
>Der Pfad zum Programm <application
>pkg-config</application
> von &kde; wird automatisch zur Variablen <envar
>PKG_CONFIG_PATH</envar
> hinzugefügt. Es ist nicht erforderlich, &set-env; zu bearbeiten und den Pfad dort einzutragen. </para
></listitem>

<listitem
><para
>Die Einstellung für &kdedir; wird automatisch beim Erstellen zur Umgebungsvariablen <envar
>KDEDIR</envar
> hinzugefügt. Die Variable <envar
>KDEDIRS</envar
> wird nicht verändert. </para
></listitem>

<listitem
><para
>Die Einstellung für &qtdir; wird automatisch beim Erstellen zur Umgebungsvariablen <envar
>QTDIR</envar
> hinzugefügt. </para
></listitem>

</itemizedlist>

</sect2>

<sect2 id="build-priority">
<title
>Ändern der Priorität von &kdesvn-build; beim Erstellen</title>
<para
>Programme können auf Betriebssystemen wie &Linux; und &BSD; mit unterschiedlichen Prioritäten ausgeführt werden. Damit werden den verschiedenen Programmen je nach Wichtigkeit vom System unterschiedliche Anteile an der Prozessorlaufzeit zugewiesen. </para>

<para
>&kdesvn-build; wird normalerweise mit einer niedrigen Priorität ausgeführt, so dass die Ausführung der anderen laufenden Programme auf dem System nicht behindert wird. Mit dieser Technik verwendet &kdesvn-build; CPU-Zeit, wenn sie verfügbar ist. </para>

<para
>&kdesvn-build; wird aber noch mit einer genügend hohen Priorität gestartet, dass es vorrangig vor normalen Wartungsprogrammen oder Programmen wie <ulink url="http://setiathome.ssl.berkeley.edu/"
>Seti@Home</ulink
> ausgeführt wird. </para>

<para
>Um &kdesvn-build; immer mit niedrigerer oder höherer Priorität auszuführen, muss die Einstellung für &niceness; in der <link linkend="configure-data"
>Einrichtungsdatei</link
> geändert werden. Dabei bedeutet ein höherer Wert für &niceness; eine niedrigere Priorität und umgekehrt. Der Wert für &niceness; kann zwischen 0 - höchste Priorität - und 20 - niedrigste Priorität liegen.</para>

<para
>Mit der <link linkend="cmdline"
>Befehlszeilenoption</link
> &cmd-nice; kann &kdesvn-build; vorübergehend mit geänderter Priorität ausgeführt werden. Für diesen Befehl werden die gleichen Werte wie für &niceness; verwendet.</para>

<note
><para
>Programme können vom Systemverwalter sogar mit einem negativen Nice-Wert und damit sehr hoher Priorität ausgeführt werden. &kdesvn-build; mit einer &niceness; von 0 laufen zu lassen, spart nicht merklich Zeit, kann aber dazu führen, dass andere Programme auf dem Rechner nur noch träge reagieren. </para
></note>

<informalexample>
<para
>Um &kdesvn-build; mit einem Nice-Wert von 15 (kleiner als normal) auszuführen. geben Sie folgendes ein:</para>

<screen
><prompt
>&percnt;</prompt
> <userinput
><command
>kdesvn-build</command
> <option
>--nice=<replaceable
>15</replaceable
></option
></userinput
>
</screen>

<para
>Alternativ ändern Sie den Wert dauerhaft in der <link linkend="configure-data"
>Einrichtungsdatei</link
>:</para>

<screen
>&niceness; <replaceable
>15</replaceable
>
</screen>

</informalexample>
</sect2>

<sect2 id="root-installation">
<title
>Installation als Systemverwalter</title>
<para
>&kdesvn-build; kann auch mit der Berechtigung des Systemverwalters ausgeführt werden, zum Beispiel für eine nicht empfohlene Installation in den Systemordnern. Es gibt aber einige Module wie besonders kdebase, die Programme installieren, die mit erweiterten Berechtigungen ausgeführt werden müssen. Dazu müssen diese Programme aber auch mit erweiterten Berechtigungen installiert werden. </para>

<para
>&kdesvn-build; könnte einfach mit der Berechtigung des Systemverwalters ausgeführt werden, aber davon wird abgeraten, da das Programm für diesen Anwendungsfall nicht getestet wurde. Wenn immer möglich, sollte ein Programm mit begrenzten Berechtigungen ausgeführt werden.</para>

<para
>Dazu gibt es in &kdesvn-build; die Option &make-install-prefix;. Mit dieser Option wird ein Befehl angegeben, der die Installation mit der Berechtigung eines anderen Benutzers ausführt. Es wird empfohlen, für diese Option den Befehl &sudo; zu benutzen, damit kann die Installation als Systemverwalter ausgeführt werden. </para>

<informalexample>
<para
>Um zum Beispiel alle Module mit &sudo; zu installieren, geben Sie folgendes ein:</para>

<screen
>global
  &make-install-prefix; <replaceable
>sudo</replaceable>
  # Weitere Optionen
end global
</screen>

<para
>Um &make-install-prefix; nur für ein einzelnes Modul zu benutzen, geben Sie folgendes ein: </para>

<screen
>module <replaceable
>kdemultimedia</replaceable>
  &make-install-prefix; <replaceable
>sudo</replaceable>
end module
</screen>
</informalexample>

</sect2>

<sect2 id="build-progress">
<title
>Fortschrittsanzeige beim Erstellen eines Moduls anzeigen</title>
<para
>Diese Funktion wird immer automatisch aktiviert. Sie zeigt den geschätzten Fortschritt für das Erstellen eines Moduls an. Damit ist erkennbar, wie lange das Erstellen eines Moduls noch dauert. </para>

</sect2>

</sect1>

<sect1 id="advanced-features">
<title
>Weitergehende Funktionen</title>

<sect2 id="partial-builds">
<title
>Teile eines Moduls erstellen</title>
<para
>Es ist möglich, nur Teile eines einzelnen &kde;-Moduls zu erstellen, zum Beispiel nur ein Programm aus einem Modul. Das ist mit &kdesvn-build; einfach durchzuführen, es gibt dafür mehrere Möglichkeiten. </para>

<sect3 id="checking-out-parts">
<title
>Teile eines Moduls herunterladen</title>

<para
>Mit dieser Methode wird Zeit beim Herunterladen und Speicherplatz auf der Festplatte eingespart. &kdesvn-build; lädt nur die angegebenen Teile eines Moduls herunter. Dazu wird die Option &checkout-only; mit einer Liste der herunterzuladenden Ordner für ein Modul verwendet. </para>

<tip
><para
>Wenn Sie nicht genau wissen, welche Programme ein Modul enthält, sollten Sie zuerst die Ordner im Modul mit <ulink url="http://websvn.kde.org/branches/KDE/3.5/"
>WebSVN</ulink
> ansehen. </para
></tip>

<informalexample>
<para
>Um nur &kuser; und &kdat; aus dem Modul kdeadmin herunterzuladen, benutzen Sie &checkout-only; wie im folgenden Beispiel:</para>

<screen
>module <replaceable
>kdeadmin</replaceable>
  &checkout-only; <replaceable
>kuser kdat</replaceable>
end module
</screen>

</informalexample>

<important
><para
>Die Ordner werden in der gleichen Reihenfolge wie in der Liste kompiliert. Wenn für das Kompilieren eines Ordners vorher andere Teile des Moduls kompiliert werden müssen, sind alle erforderlichen Ordner zusammen in die Zeile &checkout-only; einzutragen, und zwar in der richtigen Reihenfolge entsprechend den Abhängigkeiten.</para>

<para
>Manchmal benötigt ein Programm andere Ordner, aber es ist nicht direkt erkennbar welche erforderlich sind. In diesem Fall ist es am einfachsten, einen Ordner nach dem anderen hinzuzufügen bis das Erstellen gelingt.</para>
</important>

<para
>Ein letzter Hinweis zu dieser Option: Wenn der Wert der Option geändert wird, sollte mit <userinput
><command
>kdesvn-build</command
> <option
>&cmd-refresh-build;</option
> <option
><replaceable
>module</replaceable
></option
></userinput
> sichergestellt werden, dass das Modul korrekt neu konfiguriert wird. &kdesvn-build; entfernt keine vorhandenen Dateien, wenn einige Ordner aus der Option &checkout-only; gelöscht oder diese Option für ein bereits heruntergeladenes Modul eingefügt wird. </para>

</sect3>

<sect3 id="not-compiling">
<title
>Ordner beim Erstellen auslassen</title>
<para
>Anstatt die Menge der herunterzuladenden Quelltexte zu beschränken, kann alles heruntergeladen werden und einige wenige Ordner werden beim Kompilieren ausgelassen. Diese Vorgehensweise kann zum Beispiel benutzt werden, wenn bei einem Ordner immer Fehler auftreten, dieser Ordner aber für die übrigen Programme im Modul nicht erforderlich ist. </para>

<para
>Dazu wird die Option &do-not-compile; verwendet, Sie funktioniert ähnlich wie die gerade beschriebene Option &checkout-only; und enthält ebenfalls eine Liste der Ordner, die nicht kompiliert werden sollen.</para>

<important
><para
>Wie &checkout-only; erfordert auch diese Option, dass das Skript <command
>configure</command
> nach den Änderungen für das Modul ausgeführt wird. Dies erreichen Sie mit dem Befehl <userinput
><command
>kdesvn-build</command
> <option
>&cmd-reconfigure;</option
> <option
><replaceable
>module</replaceable
></option
></userinput
>. </para
></important>

<informalexample>
<para
>Um den Ordner <filename
>dcoppython</filename
> beim Erstellen des Moduls kdebindings auszulassen, geben Sie folgendes ein:</para>

<screen
>module <replaceable
>kdebindings</replaceable>
  &do-not-compile; <replaceable
>dcoppython</replaceable>
end module
</screen>
</informalexample>

</sect3>

<sect3 id="limiting-using-inst-apps">
<title
>Kompilieren einzelner Ordner aus einem gesamten Modul</title>

<para
>Mit der Option &inst-apps; können nur einige Ordner aus einem gesamten Modul zum Kompilieren ausgewählt werden. Das Modul wird dabei trotzdem vollständig heruntergeladen. </para>

<para
>Diese Option funktioniert wie eine Kombination aus &checkout-only; und &do-not-compile;: Das gesamte Modul wird wie mit &do-not-compile; heruntergeladen, aber die angegebenen Ordner werden wie mit &checkout-only; kompiliert. Daher ist es meistens einfacher, stattdessen &checkout-only; zu verwenden. </para>

<para
>Wie für die anderen beiden Optionen muss das Modul auch wieder neu konfiguriert werden, wenn sich der Wert von &inst-apps; geändert hat. </para>
</sect3>

</sect2>

<sect2 id="using-branches">
<title
>Zweige (Branches) und Tags mit &kdesvn-build; verwenden</title>

<sect3 id="branches-and-tags">
<title
>Was sind eigentlich Zweige (Branches) und Tags?</title>

<para
>&subversion; verwaltet den Verlauf der Änderungen am &kde;-Quelltext. Im &kde;-System werden mit dieser Funktion Zweige für die Entwicklung und Tags des Archivs für eine Veröffentlichung erstellt. </para>

<para
>Die &kmail;-Entwickler können zum Beispiel an neuen Funktionen in einem eigenen Zweig arbeiten, ohne Fehler in die von den meisten Entwicklern benutzten Hauptversion einzubringen. Im getrennten Zweig kann die Software unabhängig von der ebenfalls weiterentwickelten Hauptversion /trunk verbessert werden. </para>

<para
>Ein Tag ist ein Abbild des Quelltextarchivs zu einem bestimmten Zeitpunkt. Die &kde;-Systemverwalter verwenden Tags , um eine neue Version des Quelltextes für eine Veröffentlichung zu kennzeichnen. Die Softwareentwicklung kann dann in der Hauptversion /trunk weitergehen. </para>

<para
>In &subversion; gibt es keinen Unterschied zwischen Zweigen, Tags oder Trunk im Quelltext. Diese Bezeichnungen sind nur eine Konvention der Entwickler. Damit ist es schwierig, Zweige und Tags in &kdesvn-build; richtig zu verarbeiten. </para>

</sect3>

<sect3 id="branch-support">
<title
>Zweige (Branches) und Tags verwenden</title>

<para
>Zweige und Tags werden mit einigen Optionen angegeben, von einer generellen Angabe für eine Version bis zu bestimmten &url;s zum Herunterladen für erfahrene Benutzer. </para>

<para
>Am einfachsten ist es, die Optionen &branch; und &tag; zu verwenden. Dazu wird die Option mit dem Namen des gewünschten Zweigs oder Tags für ein Modul angegeben. &kdesvn-build; ermittelt dann den passenden Pfad im &kde;-Archiv. Für die meisten &kde;.-Module funktioniert das ohne Probleme.</para>

<informalexample>
<para
>Mit diesem Eintrag wird das Modul kdelibs aus &kde; 3.5 - 3.5-Zweig genannt - heruntergeladen: </para>

<screen
>module kdelibs
  branch <replaceable
>3.5</replaceable>
  # weitere Optionen...
end module
</screen>

<para
>Mit diesem Eintrag wird das Modul kdemultimedia aus &kde; 3.4.3 heruntergeladen:</para>

<screen
>module kdemultimedia
  tag <replaceable
>3.4.3</replaceable>
  # weitere Optionen...
end module
</screen>

</informalexample>

<tip
><para
>Für die Option branch kann ein globaler Wert eingestellt werden. Denken Sie aber daran, für alle Module einen zutreffenden Zweig (branch) einzustellen, die diesen globalen Wert nicht verwenden sollen. </para
></tip>
</sect3>

<sect3 id="advanced-branches">
<title
>Erweiterte Optionen für Zweige (branch)</title>

<para
>&kdesvn-build; bietet zwei Optionen für Situationen, in denen mit &branch; und &tag; der falsche Pfad benutzt wird: &module-base-path; und &override-url;. </para>

<itemizedlist>
<listitem
><para
>Mit &module-base-path; kann &kdesvn-build; den fehlenden Teil für den Pfad eines Moduls einfügen. Im &kde;-Archiv haben alle Pfade die Form <filename class="directory"
>svnRoot/module-base-path/<replaceable
>module-name</replaceable
></filename
>. Normalerweise ist &kdesvn-build; dazu in der Lage, den passenden mittleren Teil des Pfades selbst zu bestimmen. Funktioniert dies nicht, ist &module-base-path; wie im folgenden Beispiel zu verwenden: </para>

<informalexample>
<screen
>module qt-copy
  # branch funktioniert hier nicht
  module-base-path branches/qt/3.3
end module
</screen>

<para
>Mit dieser Option lädt &kdesvn-build; in diesem Beispiel qt-copy von <filename
>svn://anonsvn.kde.org/home/kde/<replaceable
>branches/qt/3.3</replaceable
>/qt-copy</filename
> herunter. </para>
</informalexample>
</listitem>

<listitem
><para
>Die Option &override-url; erfordert die genaue Angabe des Pfades zum Modul im Archiv. Damit wird es &kdesvn-build; ermöglicht, Module zu laden, die mit den anderen Optionen nicht eingegeben werden können. </para>

<informalexample>
<screen
>module qt-copy
  # geben Sie den genauen Pfad an.
  override-url svn://anonsvn.kde.org/home/kde/branches/qt/3.3/qt-copy
end module
</screen>
</informalexample>

<important
><para
>&kdesvn-build; ändert oder bearbeitet den angegebenen Wert für die Option &override-url; nicht. Wenn die Einstellung &svn-server; geändert wird, müssen auch die Pfade in &override-url; entsprechend angepasst werden. </para
></important>

</listitem>
</itemizedlist>

</sect3>

</sect2>

<sect2 id="building-successfully">
<title
>Arbeitsweise von &kdesvn-build; zum erfolgreichen Erstellen</title>

<sect3 id="automatic-rebuilds">
<title
>Automatisch das Erstellen neu ausführen</title>

<para
>&kdesvn-build; führt automatisch eine Reihe von Schritten aus, um ein Modul erfolgreich zu kompilieren, wenn ein Fehler aufgetreten ist.</para>

<orderedlist>
<listitem
><para
>Beim ersten fehlgeschlagenen Kompilieren wiederholt &kdesvn-build; den Befehl <command
>make</command
>. Das funktioniert tatsächlich manchmal und kostet kaum Zeit. </para
></listitem>

<listitem
><para
>Beim zweiten fehlgeschlagenen Kompilieren konfiguriert &kdesvn-build; das Modul neu und versucht es zu kompilieren. Das ist in allen Situationen erfolgreich, bei denen das Erstellungssystem eine auf Grund von Änderungen erforderliche erneute Konfiguration eines Modules nicht automatisch ausführt. </para>

<para
>Bei diesem Schritt wird der Erstellungsordner außer durch das erneute Konfigurieren nicht verändert, so dass auch mit dieser Vorgehensweise keine Zeit verschwendet wird. </para>
</listitem>

<listitem
><para
>Wenn das Erstellen des Moduls immer noch fehlschlägt, geht &kdesvn-build; weiter zum nächsten Modul. Es ist aber manchmal immer noch möglich, das Modul <link linkend="manual-rebuilds"
>manuell erfolgreich zu erstellen</link
>. </para
></listitem>
</orderedlist>

<note
><para
>&kdesvn-build; erkennt in den meisten Fällen, ob ein Modul neu konfiguriert werden muss und führt es automatisch durch. </para>

<para
>Wenn &kdesvn-build; ein Modul zum ersten Mal erstellt, werden diese drei Schritte übersprungen, da in diesem Fall tatsächlich ein Fehler im Quelltext vorhanden ist.</para>
</note>
</sect3>

<sect3 id="manual-rebuilds">
<title
>Module manuell neu erstellen</title>
<para
>Wenn die Optionen oder der Quelltext eines Moduls in einer Weise geändert wurden, die von &kdesvn-build; nicht erkannt wird, muss ein Modul manuell neu erstellt werden.</para>

<para
>Dazu wird der Befehl <userinput
><command
>kdesvn-build</command
> <option
>--refresh-build</option
> <option
><replaceable
>module</replaceable
></option
></userinput
> ausgeführt. </para>

<para
>Wenn dies erst bei der nächsten normalen Ausführung von &kdesvn-build; automatisch erfolgen soll, kann eine Datei <filename
>.refresh-me</filename
> in den Erstellungsordner eines Moduls geschrieben werden. So wird &kdesvn-build; bei der nächsten Ausführung das Modul neu erstellen und nicht wie normalerweise nur inkrementell.</para>

<tip>
<para
>In der Voreinstellung ist der Erstellungsordner <filename class="directory"
>~/kdesvn/build/<replaceable
>module</replaceable
>/</filename
>. Haben Sie die Einstellung für die Option &build-dir; geändert, verwenden Sie diese Einstellung anstelle von <filename class="directory"
>~/kdesvn/build</filename
>.</para>
</tip>

<informalexample>
<para
>Neu erstellen mit <filename
>.refresh-me</filename
> für das Modul <replaceable
>arts</replaceable
>:</para>
<screen
><prompt
>%</prompt
> <userinput
><command
>touch</command
> <filename class="directory"
>~/kdesvn/build/<replaceable
>arts</replaceable
>.refresh-me</filename
></userinput>
<prompt
>%</prompt
> <userinput
><command
>kdesvn-build</command
></userinput
>
</screen>
</informalexample>
</sect3>

<sect3 id="controlling-rebuild-behavior">
<title
>Neuerstellung einrichten</title>
<para
>Wenn &kdesvn-build; das Erstellen eines Moduls bei Fehlern nicht wiederholen soll, kann dieses Verhalten dauerhaft durch Änderung der Option &no-rebuild-on-fail; auf den Wert <replaceable
>true</replaceable
> aktiviert werden.</para>

<para
>Dieses Verhalten kann mit der Befehlszeilenoption &cmd-no-rebuild-on-fail; für die Ausführung eines Befehls abgeschaltet werden.</para>

<informalexample>
<screen
><prompt
>%</prompt
> <userinput
><command
>kdesvn-build</command
> <option
>--no-rebuild-on-fail</option
></userinput
>
</screen>
</informalexample>

</sect3>

</sect2>

<sect2 id="changing-environment">
<title
>Einstellungen für Umgebungsvariablen ändern</title>
<para
>&kdesvn-build; übernimmt nicht die Umgebungsvariablen des aufrufenden Programms wie die meisten sonstigen Programme, sondern liest diese aus der <link linkend="configure-data"
>Einrichtungsdatei</link
>. Damit ist sichergestellt, dass Module immer in der gleichen Umgebung kompiliert werden. &kdesvn-build; kann ein Modul sogar erstellen, wenn in der Shell, die &kdesvn-build; ausführt, die Umgebungsvariablen nicht richtig eingestellt sind.</para>

<para
>Manchmal möchten Sie die Umgebungsvariablen ändern, für die keine Optionen in &kdesvn-build; vorhanden sind. Dazu kann die Option &set-env; benutzt werden.</para>

<para
>Anders als alle anderen Optionen kann diese Option mehrfach verwendet werden. Sie erfordert zwei durch Leerzeichen getrennte Einträge. Der erste Eintrag ist der Name der Umgebungsvariablen und der zweite der einzustellende Wert.</para>

<informalexample>
<para
>Setzt <userinput
><envar
>DISTRO</envar
>=<replaceable
>BSD</replaceable
></userinput
> für alle Module:</para>
<screen
>global
  set-env <replaceable
>DISTRO</replaceable
> <replaceable
>BSD</replaceable>
end global
</screen>
</informalexample>

</sect2>

<sect2 id="resuming">
<title
>Das Erstellen fortsetzen</title>

<sect3 id="resuming-failed">
<title
>Ein abgebrochenes oder fehlgeschlagenes Erstellen fortsetzen</title>

<para
>&kdesvn-build; kann das Erstellen mit einem bestimmten Modul fortsetzen. Diese Funktion kann mit der Option &cmd-resume-from; benutzt werden, wenn bei einigen Modulen Fehler aufgetreten sind, oder das Kompilieren abgebrochen wurde.</para>

<note
><para
>Mit &cmd-resume-from; wird das Aktualisieren des Quelltextes übersprungen.</para>
</note>

<informalexample>
<para
>Das Erstellen mit kdebase fortsetzen:</para>

<screen
><prompt
>%</prompt
> <userinput
><command
>kdesvn-build</command
> <option
>--resume-from=<replaceable
>kdebase</replaceable
></option
></userinput
>
</screen>
</informalexample>

</sect3>

<sect3 id="ignoring-modules">
<title
>Module vom Erstellen ausschließen</title>

<para
>Ähnlich wie das Erstellen eines Moduls <link linkend="resuming-failed"
>fortgesetzt</link
> wird, kann statt dessen das Aktualisieren und Erstellen für alles ausgeführt werden, wobei einige Module ausgelassen werden.</para>

<para
>Verwenden Sie dazu die Option &cmd-ignore-modules;. Damit werden alle mit dieser Option angegebenen Module nicht aktualisiert oder erstellt.</para>

<informalexample>
<para
>Mit dieser Eingabe werden extragear/multimedia und kdereview beim Erstellen ausgelassen:</para>
<screen
><prompt
>%</prompt
> <userinput
><command
>kdesvn-build</command
> <option
>--ignore-modules</option
> <replaceable
>extragear/multimedia kdereview</replaceable
></userinput
>
</screen>
</informalexample>

</sect3>
</sect2>

<sect2 id="changing-env-from-cmd-line">
<title
>Optionen auf der Befehlszeile ändern</title>

<sect3 id="changing-global-opts">
<title
>Globale Optionen ändern</title>
<para
>Die Einstellungen aus der <link linkend="configure-data"
>Einrichtungsdatei</link
> können auf der Befehlszeile geändert werden. Damit werden die globalen Einstellungen nur für die Ausführung dieses Befehls überschrieben.</para>

<para
>In &kdesvn-build; können interne Optionen mit Namen wie <replaceable
>option-name</replaceable
> durch Eingabe eines Arguments auf der Befehlszeile in der Form <userinput
><option
>--<replaceable
>option-name</replaceable
>=value</option
></userinput
> geändert werden. &kdesvn-build; sucht den angegebenen Namen in der internen Liste der Optionen. Wird der Name nicht gefunden, so wird eine Warnung ausgegeben, andernfalls wird der angegeben Wert der Option übernommen und der Wert aus der Einrichtungsdatei überschrieben.</para>

<informalexample>
<para
>Einstellung der Option &source-dir; auf <filename
>/dev/null</filename
> zum Testen:</para>

<screen
><prompt
>%</prompt
> <userinput
><command
>kdesvn-build</command
> <option
>--pretend</option
> <option
>--<replaceable
>source-dir</replaceable
>=<replaceable
>/dev/null</replaceable
></option
></userinput
>
</screen>

</informalexample>

</sect3>

<sect3 id="changing-module-opts">
<title
>Änderung der Optionen für Module</title>
<para
>Sie können Optionen nur für bestimmte Module ändern. Die Syntax ist ähnlich: --<replaceable
>module</replaceable
>,<replaceable
>option-name</replaceable
>=<replaceable
>value</replaceable
>. </para>

<para
>Diese Änderung überschreibt jede Einstellung für das Modul aus der <link linkend="configure-data"
>Einstellungsdatei</link
> und wird nur bei Eingabe auf der Befehlszeile benutzt.</para>

<informalexample>
<para
>Mit dieser Eingabe wird ein anderer Ordner zum Erstellen des Moduls kdeedu verwendet:</para>

<screen
><prompt
>%</prompt
> <userinput
><command
>kdesvn-build</command
> <option
>--<replaceable
>kdeedu</replaceable
>,<replaceable
>build-dir</replaceable
>=<replaceable
>temp-build</replaceable
></option
></userinput
>
</screen>

</informalexample>

</sect3>

</sect2>

</sect1>

<sect1 id="developer-features">
<title
>Funktionen für &kde;-Entwickler</title>

<sect2 id="ssh-agent-reminder">
<title
>Überprüfung des &ssh;-Agenten</title>
<para
>&kdesvn-build; kann überprüfen, ob &kde;-Entwickler mit &ssh;-Zugriff auf das &kde;-Quelltextarchiv nicht aus Versehen den Dienst &ssh;-Agent deaktiviert haben. In diesem Fall würde &kdesvn-build; auf die Eingabe des &ssh;-Passwort des Entwicklers warten und die Ausführung anhalten. Daher wird als Standard vor dem Aktualisieren der Quelltexte überprüft, ob der Dienst &ssh;-Agent läuft. </para>

<note
><para
>Dies ist nur für &kde;-Entwickler mit &ssh;-Zugriff auf das Archiv erforderlich, über anonymes SVN kann der Quelltext ohne Passwort heruntergeladen werden. </para
></note>

<para
>Diese Prüfung kann für die Fälle abgeschaltet werden, in denen &kdesvn-build; irrtümlicherweise diesen Dienst falsch erkennt. Um die Überprüfung des &ssh;-Agenten abzuschalten, setzen Sie die Option <option
>disable-agent-check</option
> auf <replaceable
>true</replaceable
>.</para>

<informalexample>
<para
>Überprüfung des &ssh;-Agenten abschalten:</para>
<screen
>global
  disable-agent-check true
end global
</screen>
</informalexample>

</sect2>

</sect1>

<sect1 id="other-features">
<title
>Weitere Funktionen von &kdesvn-build;</title>

<sect2 id="changing-verbosity">
<title
>Ausgabe des Skripts &kdesvn-build; einstellen</title>
<para
>&kdesvn-build; hat mehrere Optionen, um den Umfang der vom Skript generierten Ausgaben einzustellen. Fehler werden in jedem Fall angezeigt.</para>

<itemizedlist>
<listitem
><para
>Mit der Option <option
>--quiet</option
> (Kurzform <option
>-q</option
>) werden nur wichtige Meldungen, Warnungen und Fehler angezeigt. Wenn verfügbar, wird auch der Fortschritt beim Erstellen ausgegeben.</para
></listitem>

<listitem
><para
>Mit der Option <option
>--really-quiet</option
> (keine Kurzform) werden nur wichtige Warnungen oder Fehler angezeigt.</para
></listitem>

<listitem
><para
>Mit der Option <option
>--verbose</option
> (Kurzform <option
>-v</option
>) wird eine sehr detailierte Ausgabe eingestellt.</para
></listitem>

<listitem
><para
>Die Option <option
>--debug</option
> ist nur für die Fehlersuche erforderlich, damit verhält sich &kdesvn-build; als wenn die Option <option
>--verbose</option
> aktiviert ist. Zusätzlich werden alle Meldungen auf der Konsole und viele Informationen über die ausgeführten Funktionen ausgegeben.</para
></listitem>
</itemizedlist>

</sect2>

<sect2 id="kdesvn-build-color">
<title
>Farbige Ausgaben</title>
<para
>Bei der Ausführung von &kdesvn-build; in der &konsole; oder einem anderen Terminal wird die Ausgabe nomalerweise als farbiger Text dargestellt.</para>

<para
>Dies kann mit der Option <option
>--no-color</option
> auf der Befehlszeile ausgeschaltet werden oder indem in der <link linkend="configure-data"
>Einrichtungsdatei</link
> die Option &colorful-output; gleich <replaceable
>false</replaceable
> gesetzt wird. </para>

<informalexample>
<para
>Farbige Ausgabe in der Einrichtungsdatei abschalten:</para>
<screen
>global
  colorful-output false
end global
</screen>
</informalexample>

</sect2>

<sect2 id="email-reports">
<title
>E-Mail-Benachrichtigung über Fehler beim Erstellen </title>
<para
>&kdesvn-build; kann E-Mails an eine beliebige Adresse senden, wenn das Erstellen eines Moduls fehlgeschlagen ist. Geben Sie dazu E-Mail-Adressen für den Absender und den Empfänger der Fehlerberichte an.</para>

<para
>&kdesvn-build; stellt dann am Ende der Ausführung eine E-Mail zusammen, sofern das Erstellen eines Modules fehlgeschlagen ist. Diese E-Mail enthält ein gekürztes Fehlerprotokoll für jedes Modul. Es wird nur eine E-Mail verschickt, auch wenn Fehler in mehreren Modulen aufgetreten sind. </para>

<para
>Diese Funktion ist als Voreinstellung ausgeschaltet. Um sie zu aktivieren, muss sowohl die Option &email-address; als auch &email-on-compile-error; gesetzt werden. Die Option <option
>email-address</option
> enthält die Absenderadresse und die Option <option
>email-on-compile-error</option
> die Empfängeradresse. </para>

<tip>
<para
>&kdesvn-build; benutzt das Standard-Perlmodul Mail::Mailer zum Versenden von E-Mails. Diese Modul ist in Perl 5.8 enthalten und kann für Perl 5.6 installiert werden. Das Modul Mail::Mailer kann <application
>Sendmail</application
> (einschließlich <application
>Sendmail</application
>-kompatibler E-Mail-Dienste), Transport über <acronym
>SMTP</acronym
> und <application
>qmail</application
> verwenden. </para>
</tip>

<informalexample>
<para
>Versenden einer E-Mail von foo@example.com an bar@example.com bei einem Fehler beim Erstellen:</para>

<screen
>global
  email-address          foo@example.com    # From: address for any kdesvn-build e-mail
  email-on-compile-error bar@example.com    # To: address for build failure e-mail
end global
</screen>
</informalexample>

</sect2>

<sect2 id="deleting-build-dir">
<title
>Ordner nach dem Erstellen löschen</title>
<para
>Sie haben wenig Festplattenspeicherplatz, möchten aber trotzdem die Entwicklerversion von &kde; herunterladen? &kdesvn-build; kann dabei helfen, Speicher auf der Festplatte beim Erstellen von &kde; aus dem &subversion;-Archiv einzusparen.</para>

<note
><para
>Beachten Sie, dass das Erstellen von &kde; viel Speicherplatz benötigt. Dafür gibt es mehrere Ursachen:</para
></note>

<orderedlist>
<listitem
><para
>Der aktuelle Quelltext beansprucht viel Speicherplatz, alle Standardmodule zusammen etwa 1,6 Gigabyte. Diesen Wert können Sie dadurch verringern, dass nur die tatsächlich erforderlichen Module heruntergeladen werden. &kdesvn-build; löscht keinen Quelltext von der Festplatte, auch wenn ein Modul aus der <link linkend="configure-data"
>Einrichtungsdatei</link
> entfernt wird. Unbenutzter Quelltext muss manuell gelöscht werden. Es sollten aber keine Quelltexte gelöscht werden, wenn &kdesvn-build; noch läuft.</para>

<para
>Wenn Sie &Qt; bereits über Ihre Distribution installiert haben, können Sie vielleicht auf das Modul qt-copy verzichten und damit etwa 200 MB Quelltext einsparen.</para>

<para
>Ein Hinweis zur Arbeitsweise von &subversion;: Es gibt immer zwei Dateien auf der Festplatte für jede aus dem Archiv heruntergeladene Datei. Mit &kdesvn-build; ist es zur Zeit nicht möglich, den von nicht verwendetem Quelltext belegten Speicherplatz frei zu machen. </para>
</listitem>

<listitem>
<para
>&kdesvn-build; erstellt einen eigenen Ordner zum Erstellen der Programme aus den Quelltexten. Manchmal muss &kdesvn-build; einen Quelltextordner kopieren, um einen Erstellungsordner vorzutäuschen. In diesem Fall werden symbolische Verknüpfungen verwendet. Der Erstellungsordner ist typischerweise erheblich größer als der Quelltextordner. Für kdebase werden im Erstellungsordner etwa 1050 Megabyte benötigt, für den Quelltext jedoch nur 550 Megabyte.</para>

<para
>Der Ordner zum Kompilieren der Software wird aber nicht mehr benötigt, wenn das Modul erfolgreich erstellt und installiert worden ist. &kdesvn-build; kann automatisch den Erstellungsordner löschen, nachdem das Modul installiert wurde, ein Beispiel dazu wird weiter unten gezeigt. Damit ist es aber mit &kdesvn-build; nicht mehr möglich, nur die Änderungen in einem Modul zu kompilieren und damit Zeit einzusparen.</para>
</listitem>

<listitem
><para
>Außerdem ist noch Speicherplatz auf der Festplatte für den Installationsordner von &kde; erforderlich. Dieser Ordner verbraucht weniger Platz als der Erstellungsordner, genaue Angaben sind aber nicht möglich. </para
></listitem>
</orderedlist>

<para
>Wie kann der erforderliche Speicherplatz für &kde; verringert werden? Eine Möglichkeit ist die Verwendung der richtigen Kompiler-Schalter - Optimierung des Speicherbedarfs anstelle der Ausführungsgeschwindigkeit. Die andere Möglichkeit ist das Entfernen der Debugging-Informationen aus dem kompilierten &kde;, das spart viel Speicherplatz. </para>

<warning
><para
>Bedenken Sie vor dem Entfernen der Debugging-Informationen: Entwicklersoftware kann viel häufiger abstürzen als eine stabile Version. Ohne Debugging-Informationen ist es kaum möglich, Fehlerberichte zu schreiben, die alle zur Behebung benötigten Informationen enthalten. Dazu müssen Sie unter Umständen ein Modul mit Debugging-Informationen neu kompilieren, um den Entwicklern ausreichende Informationen zur Behebung des Fehlers zu liefern. Bedenken Sie dies, wenn Sie Debugging-Informationen entfernen wollen. </para
></warning>

<informalexample>
<para
>Löschen des Erstellungsordners nach der Installation eines Moduls. Der Quelltextordner bleibt erhalten und das Debuggen ist eingeschaltet:</para>

<screen
>global
  configure-flags      --enable-debug
  remove-after-install builddir        # Build-Ordner nach der Installation löschen
end global
</screen>

<para
>Löschen des Erstellungsordners nach der Installation, ohne Debugging-Informationen, mit Optimierung für die Dateigröße:</para>

<screen
>global
  cxxflags             -Os             # Optimimierung für Dateigröße
  configure-flags      --disable-debug
  remove-after-install builddir        # Build-Ordner nach der Installation löschen
end global
</screen>
</informalexample>
</sect2>

</sect1>

</chapter>

<chapter id="kde-cmake">
<title
>&cmake;, das System zum Erstellen von &kde; 4</title>

<sect1 id="kde-cmake-intro">
<title
>Einführung zu &cmake;</title>

<para
>Im März 2006 wurde &cmake; als neues System zum Erstellen von &kde; 4 ausgewählt. Damit wurde das autotools-basierte System abgelöst, das in &kde; von Anfang an verwendet wurde.</para>

<para
>Eine Einführung zu &cmake; finden Sie auf der <ulink url="http://techbase.kde.org/Development/Tutorials/CMake"
>&kde; TechBase</ulink
>. Anstatt <userinput
><command
>make</command
> <option
>-f</option
> <filename
>Makefile.cvs</filename
></userinput
>, <command
>configure</command
> und &make; wird nur noch &cmake; und dann &make; eingegeben. </para>

<para
>Einige Funktionen von &kdesvn-build; waren tatsächlich Funktionen des Erstellungssystems, wie <link linkend="conf-inst-apps"
>inst-apps</link
>, <link linkend="conf-configure-flags"
>configure-flags</link
> und <link linkend="conf-do-not-compile"
>do-not-compile</link
>. Alle diese Funktionen sind auch weiterhin verfügbar, wenn sie durch &cmake; unterstützt werden. Als Ersatz für die Option „configure-flags“ gibt es in &cmake; <link linkend="conf-cmake-options"
>cmake-options</link
> und die Option <link linkend="conf-do-not-compile"
>do-not-compile</link
> wird auch seit &kdesvn-build; Version 1.6.3 unterstützt. </para>

<para
>Einige Optionen - wie <link linkend="conf-inst-apps"
>inst-apps</link
> - sind jedoch für &cmake; nicht verfügbar und daher deaktiviert. </para>

</sect1>
</chapter>

<chapter id="credits-and-licenses">
<title
>Danksagungen und Lizenz</title>

<para
>Übersetzung: Thomas Reitelbach<email
>tr@erdfunkstelle.de</email
></para
> 
&underFDL; </chapter>

</book>
