<?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 % Danish "INCLUDE"
> <!-- Change language only here -->
  <!ENTITY svn "<application
>Subversion</application
>">
  <!ENTITY kdesvn-build "<application
>kdesvn-build</application
>">
  <!ENTITY rcfile '<link linkend="configure-data"
>configuration file</link
>'>
  <!ENTITY cmd-line-option '<link linkend="cmdline"
>command line option</link
>'>
  <!ENTITY homepage '<ulink url="http://kdesvn-build.kde.org/"
>&kdesvn-build; home page</ulink
>'>
  <!ENTITY unsermake '<ulink url="http://www.kde.me.uk/index.php&amp;page=unsermake"
><application
>unsermake</application
></ulink
>'>
  <!ENTITY BSD '<acronym
>BSD</acronym
>'>
  <!ENTITY cmake '<link linkend="kde-cmake"
><application
>CMake</application
></link
>'>

  <!-- 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
>'>
  <!ENTITY use-unsermake '<link linkend="conf-use-unsermake"
>use-unsermake</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
>'>

  <!ENTITY ssh '<application
>SSH</application
>'>
]>

<book lang="&language;">

<bookinfo>
<title
>Håndbog for scriptet &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
> 


&erik.kjaer.pedersen.role; 

</authorgroup>

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

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


<legalnotice
>&FDLNotice;</legalnotice>

<date
>2006-03-28</date>
<releaseinfo
>1.1</releaseinfo>

<abstract>
<para
>&kdesvn-build; er et script som bygger og installerer &kde;, direkte fra kildekoden som hentes fra &kde;'s &svn;-arkiv.</para>
</abstract>

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

</bookinfo>

<chapter id="introduction">
<title
>Indledning</title>

<para
>&kdesvn-build; er et script som hjælper brugere at installere <ulink url="http://www.kde.org/"
>&kde;</ulink
> fra kildelageret <ulink url="http://subversion.tigris.org/"
>&svn;</ulink
>.  </para>

<para
>Her dokumenterer vi syntaks og tilvalg for &kdesvn-build;s <link linkend="configure-data"
>indstillingsfil</link
>, dets <link linkend="cmdline"
>kommandolinjeflag</link
>, <link linkend="features"
>funktioner</link
> og en <link linkend="getting-started"
>oversigt</link
> over alle nødvendige skridt som kræves for at bygge &kde; fra kildekode, inklusive de skridt du skal udføre ved brug af andre værktøjer, eller med andre ord, skridt som ikke automatisk udføres af scriptet &kdesvn-build;. </para>

</chapter>

<chapter id="getting-started">
<title
>Sådan kommer vi i gang</title>

<para
>I dette kapitel viser vi hvordan &kdesvn-build; bruges til at tjekke moduler ud fra &kde;-arkivet og bygge dem. Vi sørger også efor n grundlæggende forklaring af &kde;'s &svn;-struktur og de skridt du skal udføre inden scriptet køres. </para>

<para
>Alle emner som præsenteres i dette kapitel dækkes med endnu flere detaljer i guiden <ulink url="http://quality.kde.org/develop/cvsguide/buildstep.php"
>Building &kde; from Source Step by Step Guide</ulink
> på <ulink url="http://quality.kde.org"
>hjemmesiden for &kde;'s kvalitetsgruppe</ulink
>. Hvis du kompilerer &kde; første gang, er det en god idé at læse den, eller rådspørge den som en referencekilde. Du finder detaljeret information om pakkeværktøj og krav, almindelige faldgreb ved kompilering og strategier og information om at køre den nye &kde;-installation. </para>

<sect1 id="before-building">
<title
>Forbered systemet til  at bygge &kde;</title>

<sect2 id="before-building-users">
<title
>Indstil en ny brugerkonto</title>

<para
>Du anbefales at hente og bygge &kde; med en separat brugerkonto. Hvis du allerede har &kde;-pakker installerede, er det bedste valg at oprette en anden (særlig) brugere til at bygge og køre den nye &kde;. Fordelen ved at bygge &kde; for en særlig bruger er at du ikke kan forstyrre basissystemet, og du har altid en måde at arbejde bekvemt når ting går galt. </para>

<para
>Senere kan du installere som systemadministrator hvis du vil. Dette dokument dækker ikke en installation som systemadministrator. Hvis du udfører en systeminstallation, ved du formodentlig alligevel hvad du gør. Hvis ikke, kan du behøve at konsultere dokumentation eller hjælpesteder for din distribution, for at udføre og bruge systeminstallationen rigtigt. </para>

</sect2>
<sect2 id="before-building-preparation">
<title
>Sørg for at systemet er klart til at bygge &kde;'s kildekode</title>

<para
>Inden du bruger scriptet &kdesvn-build; (eller en anden byggestrategi) skal du installere udviklingsværktøjer og biblioteker som behøves for &kde;. Den fuldstændige liste med værktøjer som behøves findes på siden <ulink url="http://www.kde.org/info/requirements/3.5.php"
>&kde;'s kompileringskrav</ulink
>. </para>

<para
>Her er en liste med nogle af de ting du vil behøve:</para>
<itemizedlist>

<listitem
><para
>Automake version 1.7 eller senere. (Kun kde 3)</para
></listitem>

<listitem
><para
>Autoconf version 2.57 eller senere. (Kun kde 3)</para
></listitem>

<listitem
><para
><ulink url="http://www.cmake.org/"
><application
>CMake</application
></ulink
> 2.4.0, eller senere. Visse varianter af version 2.3 kan måske også kompilere KDE 4, se wikien <ulink url="http://wiki.kde.org/tiki-index.php?page=KDECMakeIntro"
>CMake Introduction</ulink
> (kun KDE 4).</para
></listitem>

<listitem
><para
>Klientprogrammet for &svn;, inklusive understøttelse for sikker HTTP (https). For at sikre dig om nødvendig understøttelse findes, kan du køre <userinput
><command
>svn <option
>--version</option
></command
></userinput
>. Hvis modulet ra_dav siger at den håndterer metoden https, skulle du være klar til at køre.</para
></listitem>

<listitem
><para
>Oversætteren gcc, med understøttelse for C++. Version 3.3 eller 3.4 virker bedst for øjeblikket.</para
></listitem>

<listitem
><para
>Sørg for at tjekke siden <ulink url="http://www.kde.org/info/requirements/3.5.php"
>&kde;'s kompileringskrav</ulink
> for at være sikker på at alle andre biblioteker som kræves er inkluderede.</para
></listitem>

</itemizedlist>

<para
>En undtagelse er &Qt;-biblioteket. &kdesvn-build; installerer normalt en kopi af &Qt; det være sig du har det installeret eller ej, så det er ikke nødvendigt at du har det. Hvis du ikke vil bruge kopien af &Qt;, skal du gøre følgende: </para>

<itemizedlist>
<listitem>
  <para
>Sørg for at fjerne modulet qt-copy fra din <link linkend="configure-data"
>indstillingsfil</link
> eftersom du ikke behøver den, og at have den ville tilføje ekstra tid til byggeprocessen.</para>
</listitem>

<listitem>
  <para
>Ændr indstilling af tilvalget <link linkend="conf-qtdir"
>qtdir</link
> i din <link linkend="configure-data"
>indstillingsfil</link
> så det peger på systemets &Qt;. Det er normalt det samme som indstillingen af $<envar
>QTDIR</envar
> i systemet.</para>
</listitem>

<listitem>
  <para
>Hvis du ikke allerede har installeret &Qt;, installeres det, inklusive eventuelle relevante -dev eller -devel pakker. Du behøver mindst &Qt; 3.3 hvis du bygger &kde; 3.5 eller &Qt; 4.0 hvis du bygger &kde; 4.</para>
</listitem>
</itemizedlist>

<para
>Visse af pakkerne er opdelte i biblioteker (eller programmer eller værktøjer) og udviklingspakker. Du behøver i det mindste programmet eller biblioteket og dets udviklingspakke. Hvis du er i tvivl installér alle. Bibliotekerne du behøver ændres afhængig af modulerne du har til hensigt at bygge, eftersom hvert modul har sine egne krav. Guiden <ulink url="http://quality.kde.org/develop/cvsguide/buildstep.php#step1"
>Building &kde; from Source Step by Step</ulink
> har flere detaljer om specifikke værktøjer og tekniker som bruges til at installere og finde programmellet som kræves. </para>

</sect2>

<sect2 id="before-building-prepare-script">
<title
>Indstilling af kdesvn-build</title>

<sect3 id="get-kdesvn-build">
<title
>Installér kdesvn-build</title>
<para
>Du har formodentlig allerede en version af scriptet &kdesvn-build; installeret på systemet. Hvis du imidlertid ikke har det kan du hente det fra <ulink url="http://kdesvn-build.kde.org/"
>hjemmesiden for &kdesvn-build;</ulink
>, eller finde det fra dets hjem i &kde;'s kildekodearkiv.</para>

<orderedlist>
<listitem
><para
>For at hente &kdesvn-build; fra <ulink url="http://kdesvn-build.kde.org/"
>hjemmesiden for &kdesvn-build;</ulink
>, gå blot til <ulink url="http://kdesvn-build.kde.org/"
>hjemmesiden for &kdesvn-build;</ulink
> og hent seneste passende udgave. Udgaverne pakkes som et komprimeret tar-arkiv, som du kan pakke op med &ark; eller <command
>tar</command
>. Indholdet i arkivet omfatter selve scriptet &kdesvn-build;, og et eksempel på en indstillingsfil (<filename
>kdesvn-buildrc-sample</filename
>).</para
></listitem>

<listitem
><para
>Ellers kan du skaffe &kdesvn-build; fra dets kildekodearkiv, på: <ulink url="http://websvn.kde.org/trunk/KDE/kdesdk/scripts/"
>http://websvn.kde.org/trunk/KDE/kdesdk/scripts/</ulink
>. Dette er scriptmappen for &kde;'s programmeludviklingsværktøjer, som er hjemmemappen for &kdesvn-build;. Du kan klikke på indgangen <filename
>kdesvn-build</filename
>, hvilket fører dig til en side hvor du kan hente den seneste udgave. Gør det, og gem den på et praktisk sted på din harddisk. Gør det samme med <filename
>kdesvn-buildrc-sample</filename
> hvis du behøver det.</para
></listitem>
</orderedlist>

<para
>Uafhængigt af hvilken teknik du bruger, skal du sikre dig at filen <filename
>kdesvn-build</filename
> er kørbar. Af bekvemmelighedsgrunde bør du sikre dig at den findes i en mappe som indgår i miljøvariablen <envar
>PATH</envar
>, ellers kan du få meddelelser som siger at kommandoen ikke blev fundet.</para>
</sect3>

<sect3 id="setup-rcfile">
<title
>Forbered indstillingsfilen</title>

<para
>Selvom &kdesvn-build; ikke kræver at du laver en <link linkend="configure-data"
>indstillingsfil</link
>, gør det arbejdsstrømmen meget enklere. Ved at bruge en <link linkend="configure-data"
>indstillingsfil</link
>, kan du styre hvilke moduler som installeres, eller fjerne moduler du ikke vil installere. &kdesvn-build; installerer normalt en nyttig &kde;-installation med meget generelle installationsflag, som kan være anderledes end dine behov. Det er altså bedst at bruge en <link linkend="configure-data"
>indstillingsfil</link
></para>

<para
><link linkend="configure-data"
>Indstillingsfilen</link
> skal hedde <filename
>.kdesvn-buildrc</filename
>. Filen skal installeres i hjemmemappen (<filename
>~</filename
>), og indeholde alle indstillingsdata som kræves for at scriptet skal køre, som konfigureringstilvalg, kompileringstilvalg, stedet for kildekoden, installationens mål (prefix), modulerne som skal bygges, osv. Standardindstillingsdata bliver sørget for af filen <filename
>kdesvn-buildrc-sample</filename
>, som du kan kopiere til <filename
>~/.kdesvn-buildrc</filename
> og derefter redigere. </para>

<para
>Du finder mere information om syntaksen i en <link linkend="configure-data"
>indstillingsfil</link
> i <xref linkend="configure-data"/> og <xref linkend="kdesvn-buildrc"/>. </para>

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

<sect1 id="configure-data">
<title
>Angiv indstillingsinformation</title>

<para
>For at bruge &kdesvn-build; skal du have en fil i din hjemmemappe som hedder <filename
>.kdesvn-buildrc</filename
>, som indstiller  generelle tilvalg og angiver modulerne som du vil hente og bygge. </para>

<note
><para
>Det er muligt at bruge andre indstillingsfiler for &kdesvn-build;, som beskrives i <xref linkend="kdesvn-buildrc"/>. Hvis du behøver at bruge flere indstillinger, se dette afsnit.Her antager vi at indstillingerne er opbevarede i <filename
>~/.kdesvn-buildrc</filename
>.</para
></note>

<para
>Den enkleste måde at fortsætte er at bruge filen <filename
>kdesvn-buildrc-sample</filename
> som skabelon, og ændre generelle indstillinger til at stemme med det du vil have, og desuden ændre listen med moduler du vil bygge. </para>

<para
>Standardindstillingerne bør virkeligheden allerede være passende for at udføre byggeprocessen for &kde;. Nogle af de indstillinger som du måske vil ændre omfatter: <itemizedlist>
<listitem
><para
><link linkend="conf-binpath"
>binpath</link
>, for at ændre listen med mapper som gennemsøges for kommandoer. Dette er nøjagtigt det samme som variablen <envar
>PATH</envar
> i skallen.</para
></listitem>
<listitem
><para
><link linkend="conf-kdedir"
>kdedir</link
>, som ændrer målmappen som &kde; installeres i. Standardværdien er <filename
>~/kde</filename
>, som er en enkeltbruger-installation.</para
></listitem>
<listitem
><para
><link linkend="conf-qtdir"
>qtdir</link
>, som styrer søgestien til installationen af &Qt; der bruges. Standardværdien er at bruge modulet qt-copy fra &kde;'s &svn;-arkiv. (<filename
>~/kdesvn/build/qt-copy</filename
>)</para
></listitem>
<listitem
><para
><link linkend="conf-svn-server"
>svn-server</link
>, som vælger hvilken URL som kildekoden hentes fra. Dette er nyttigt hvis du er en udvikler med en <ulink url="http://developer.kde.org/documentation/misc/firststepsaccount.php"
>&kde; &svn;-konto</ulink
>.</para
></listitem>
</itemizedlist>
</para>

<para
>Efter den generelle del findes en liste med moduler at bygge, omgivne af linjerne module ... end module. Kontrollér at de listede moduler virkelig er de moduler du vil bygge. Standardvalgmulighederne fra filen <filename
>kdesvn-buildrc-sample</filename
> skulle være tilstrækkelige til at få en ganske fuldstændig installation af &kde;. Gem resultatet som <filename
>.kdesvn-buildrc</filename
> i din hjemmemappe. </para>

<para
>Hvis du vil finjustere <filename
>.kdesvn-buildrc</filename
>, kig så på <xref linkend="kdesvn-buildrc"/> for detaljeret information om alle indstillingstilvalg. </para>

</sect1>

<sect1 id="building-and-troubleshooting">
<title
>At bruge scriptet &kdesvn-build;</title>

<para
>Nu er du parat til at køre scriptet. Log ind til brugeren som du bruger for at kompilere &kde; i et terminalvindue, og kør scriptet: <screen
><prompt
>&percnt;</prompt
><command
>su</command
> <option
>-</option
> <replaceable
>udviklings-brugernavn</replaceable>
<prompt
>&percnt;</prompt
><command
>kdesvn-build</command
>
</screen>
</para>

<para
>Nu skal scriptet begynde at hente kildekoden og kompilere den. Afhængig af hvor mange moduler du henter, er det muligt at &kdesvn-build; ikke lykkes første gang du kompilerer &kde;. Opgiv ikke håbet! </para>

<para
>&kdesvn-build; logger uddataen fra hver kommando som køres. Normalt opbevares logfilerne i <filename
>~/kdesvn/log</filename
>. For at se hvad som forårsagede en fejl for et modul ved den seneste &kdesvn-build;-kommando, er det oftest tilstrækkeligt at kigge i <filename
>~/kdesvn/log/latest/<replaceable
>modulnavn</replaceable
>/error.log</filename
>.</para>

<para
>I den fil ser du fejlen som forårsagede at byggeprocessen mislykkedes for dette modul. Hvis filen siger (længst nede) at visse pakker mangler, forsøg at installere pakken (inklusive eventuelle passende  -dev pakker) inden du forsøger at bygge dette modul. Eller hvis fejlen synes at være en byggefejl er det nok en fejl i &kde;'s kildekode, som forhåbentligt løses indenfor nogle dage. Hvis det ikke er løst indenfor denne tid, så send gerne e-mail til <email
>kde-devel@kde.org</email
> (abonnement kræves måske først) for at rapportere byggefejlen.</para>

<para
>Du finder flere almindelige eksempler på ting som kan gå galt og deres løsninger, samt generelle vink og strategier for at bygge &kde;i guiden <ulink url="http://quality.kde.org/develop/cvsguide/buildstep.php#step1"
>Building &kde; from Source Step by Step</ulink
>. </para>

<note
><para
>For mere information om logningssystemet i &kdesvn-build;, se <xref linkend="kdesvn-build-logging"/>.</para
></note>

</sect1>

<sect1 id="environment">
<title
>Opsætning af miljøet for at køre den friske &kde;</title>

<para
>Under antagelse af at du bruger en særlig bruger til at bygge &kde; og allerede har en installeret version af &kde;, kan det være noget tricket at køre det nye &kde;, eftersom den nye &kde; skal foretrækkes frem for den gamle. Ændr miljøvariabler for at sikre dig at dette sker. </para>

<sect2 id="changing-profile">
<title
>Ændr startprofilindstillinger</title>

<important
><para
>Filen <filename
>.bash_profile</filename
> er indlogningsindstillingerne for den populære skal <application
>bash</application
> som bruges af mange &Linux;-distributioner. Hvis du bruger en anden skal, kan du behøve at justere eksemplerne som gives i dette afsnit for dit specifikke skal.</para
></important>

<para
>Åbn eller opret filen <filename
>.bash_profile</filename
> i hjemmemappen med din foretrukne editor, og tilføj følgende i slutningen af filen. Hvis du bygger modulet qt-copy (det gør du normalt), tilføj: <programlisting>
QTDIR=(søgesti til qtdir)   # Såsom normalt ~/kdesvn/build/qt-copy.
KDEDIR=(søgesti til kdedir) # Såsom normalt ~/kde.
KDEDIRS=$KDEDIR
PATH=$KDEDIR/bin:$QTDIR/bin:$PATH
MANPATH=$QTDIR/doc/man:$MANPATH

# Gør det passende hvis ikke LD_LIBRARY_PATH allerede er sat.
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
> eller hvis du ikke bygger qt-copy (og bruger systemets &Qt;) tilføj dette i stedet: <programlisting
>KDEDIR=(søgesti til kdedir)  # Såsom ~/kde normalt.
KDEDIRS=$KDEDIR
PATH=$KDEDIR/bin:$QTDIR/bin:$PATH

# Gør det passende hvis ikke LD_LIBRARY_PATH allerede er sat.
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
>Hvis du ikke bruger en særlig bruger,  idstillesn en anderledes $<envar
>KDEHOME</envar
> for det nye miljø i din <filename
>.bash_profile</filename
>: <programlisting
>export KDEHOME="${HOME}/.kde-svn"

# Opret hvis det behøves
[ ! -e ~/.kde-svn ] &amp;&amp; mkdir ~/.kde-svn
</programlisting>
</para>

<note>
<para
>Hvis din K-menu senere er tom eller for tætpakket med programmer fra din distribution, skal du måske angive miljøvariablen <acronym
>XDG</acronym
> i din <filename
>.bash_profile</filename
>: <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
>Start &kde;</title>

<para
>Når du nu har justeret dine miljøindstillinger til at bruge den rigtige &kde;, er det vigtigt at sikre dig at det rigtige  <command
>startkde</command
>-script også bruges. </para>

<para
>Åbn tekstfilen <filename
>.xinitrc</filename
> fra hjemmemappen, eller opret den hvis det behøves. Tilføj linjen: <programlisting
><command
>exec</command
> <option
>${KDEDIR}/bin/startkde</option
>
</programlisting>
</para>

<important
><para
>Det kan være nødvendigt at udføre samme skridt med filen <filename
>.xsession</filename
>, også i hjemmemappen. Dette er især sandt hvis grafiske indlogningshåndteringer såsom &kdm;, <application
>gdm</application
> eller <application
>xdm</application
> bruges.</para>
</important>

<para
>Start nu den nye &kde;: i &BSD;- og &Linux;-systemer med understøttelse for virtuelle terminaler, bruges tastekombinationerne <keycombo action="simul"
>&Ctrl;&Alt;<keycap
>F1</keycap
></keycombo
> ... <keycombo action="simul"
>&Ctrl;&Alt;<keycap
>F12</keycap
></keycombo
> til at skifte til virtuel konsol 1 til og med 12. Dette tillader dig at køre flere end et desktopmiljø samtidigt. De første seks er tekstterminaler, og de følgende seks er grafiske skærme. </para>

<para
>Hvis den grafiske indlogningshåndtering vises i stedet når du starter maskinen, kan du bruge det nye &kde;-miljø, også selvom det ikke angives som et tilvalg. De fleste indlogningshåndteringer, inklusive &kdm;, har et tilvalg at bruge for en "Egen session" når du logger ind. Med dette tilvalg indlæses dine sessionsindstillinger fra filen <filename
>.xsession</filename
> i din hjemmemappe. Hvis du allerede har ændret filen som beskrevet ovenfor, skulle dette tilvalg starte den nye &kde;-installation. </para>

<para
>Hvis den ikke gør det, er der noget andet som du kan prøve som normalt skulle virke. Tryk på <keycombo action="simul"
>&Ctrl;&Alt;<keycap
>F2</keycap
></keycombo
>, så vises en tekstterminal. Log ind som den særlige bruger og skriv: </para>

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

<tip>
<para
>Du kan køre &kde; fra kildekode og den gamle &kde; samtidigt. Log ind som din almindelige bruger, og start den stabile &kde;-desktop. Tryk på <keycombo action="simul"
>&Ctrl;&Alt;<keycap
>F2</keycap
></keycombo
> (eller <keycap
>F1</keycap
>, <keycap
>F3</keycap
>, etc.) så vises en tekstterminal. Log ind som den særlige &kde; &svn;-bruger og skriv:</para>

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

<para
>Du kan gå tilbage til &kde;-desktoppen for din almindelige bruger ved at trykke på genvejstasten for desktoppen som allerede kører. Den er normalt <keycombo action="simul"
>&Ctrl;&Alt;<keycap
>F7</keycap
></keycombo
>, men du skal måske bruge <keycap
>F6</keycap
> eller <keycap
>F8</keycap
> i stedet. For at returnere til &kde; kompileret med &kdesvn-build;, skal du bruge samme sekvens, men med næste funktionstast. Hvis du for eksempel skulle skrive <keycombo action="simul"
>&Ctrl;&Alt;<keycap
>F7</keycap
></keycombo
> for at skifte til den almindelige &kde;, skal du skrive <keycombo action="simul"
>&Ctrl;&Alt;<keycap
>F8</keycap
></keycombo
> for at gå tilbage til &kde; bygget med &kdesvn-build;.</para>
</tip>

</sect2>
</sect1>

</chapter>

<chapter id="features">
<title
>Scriptets funktioner</title>

<sect1 id="features-overview">
<title
>Oversigt over funktioner</title>

<para
>Funktionerne i &kdesvn-build; omfatter: </para>

<itemizedlist>

<listitem
><para
>For udviklere: Understøtter at bygge <link linkend="building-apidox"
>dokumentation af programmeringsgrænsefladen</link
> for et modul. </para
></listitem>

<listitem
><para
>Understøtter <link linkend="changing-verbosity"
>meddelelsesniveauer for uddata</link
> som strækker sig fra at være meget stille til et fuldstændigt fejlsøgningsniveau. </para
></listitem>

<listitem
><para
>&kdesvn-build; kan med hjælp af <ulink url="http://kdesvn-build.kde.org/"
>kdesvn-builds hjemmeside</ulink
> tillade hurtig udcheckning af visse moduler. Hvis modulet du checker ud allerede er pakket på denne hjemmeside, henter kdesvn-build denne version og forbereder den til brug på din computer. </para>

<para
>Dette er hurtigere for dig, og hjælper til at mindske belastningen på de anonyme Subversion-servere på kde.org.</para>
</listitem>

<listitem
><para
>Har udmærket understøttelse for modulet <link linkend="using-qt-copy"
>qt-copy</link
>, inklusive valgfri anvendelse af fejlrettelser og optimeringsprogramrettelser i modulet qt-copy. </para
></listitem>

<listitem
><para
>&kdesvn-build; har <link linkend="kdesvn-build-color"
>farvelagt uddata.</link
> </para
></listitem>

<listitem
><para
>&kdesvn-build; kræver ikke at en grafisk grænseflade er tilgængelig for at virke. Du kan altså bygge &kde; uden at behøve et alternativt grafisk miljø. </para
></listitem>

<listitem
><para
>Understøtter indstilling af standardtilvalg for alle moduler (såsom kompileringsindstillingerne eller konfigureringsvalgmulighederne). Sådanne tilvalg kan desuden normalt ændres for specifikke moduler.</para>

<para
>Desuden tilføjer  &kdesvn-build; <link linkend="kdesvn-build-std-flags"
>standardflag</link
> hvor det er passende, for at spare dig besvær og mulige fejl ved at indtaste dem selv. </para
></listitem>

<listitem
><para
>&kdesvn-build; kan <link linkend="partial-builds"
>tjekke dele af et modul ud</link
>, for de situationer hvor du kun behøver et program fra et stort modul. </para
></listitem>

<listitem
><para
>For udviklere: Vil <link linkend="ssh-agent-reminder"
>påminde dig</link
> hvis du bruger svn+ssh:// men <application
>ssh-agent</application
> ikke kører, eftersom det fører til gentagne forespørgsler om kodeord fra <application
>ssh</application
>. </para
></listitem>

<listitem
><para
>Kan <link linkend="email-reports"
>sende e-mail-rapporter</link
> med fejl til en bruger. </para
></listitem>

<listitem
><para
>Kan <link linkend="deleting-build-dir"
>slette byggmappen</link
> for et modul efter det er installeret for at spare plads på bekostning af fremtidig kompileringstid. </para
></listitem>

<listitem
><para
>Stederne for mapperne som bruges af &kdesvn-build; kan indstilles (endog pr modul). </para
></listitem>

<listitem
><para
>Kan bruge <application
>sudo</application
>, eller en anden brugerspecificeret kommando til at <link linkend="root-installation"
>installere moduler</link
> så &kdesvn-build; ikke behøver at køres som systemadministrator. </para
></listitem>

<listitem
><para
>&kdesvn-build; kører normalt <link linkend="build-priority"
>med reduceret prioritet</link
> for at lade dig fortsætte med at bruge maskinen mens &kdesvn-build; arbejder. </para
></listitem>

<listitem
><para
>Har understøttelse for at bruge &kde;'s &svn; <link linkend="using-branches"
>mærker og grene</link
>. </para
></listitem>

<listitem
><para
>&kdesvn-build; bruger et sæt teknikker for at <link linkend="building-successfully"
>forsøge at garantere</link
> en byggeproces der lykkes. </para
></listitem>

<listitem
><para
>Der er understøttelse for at <link linkend="resuming"
>genoptage en byggeproces</link
> fra et givet modul. Du kan til og med <link linkend="ignoring-modules"
>ignorere visse moduler</link
> midlertidigt for en given byggeproces. </para
></listitem>

<listitem
><para
>&kdesvn-build; understøtter også brugen af sekvensen ~/ til at repræsentere din hjemmemappe i en <link linkend="configure-data"
>indstillingsfil</link
>. </para
></listitem>

<listitem
><para
>Tjekker automatisk ud eller opdaterer moduler fra &svn;, ifølge hvad som er passende. </para
></listitem>

<listitem
><para
>&kdesvn-build; kan hurtigt udføre en <link linkend="partial-builds"
>partiel byggeproces</link
> for et modul direkte fra kommandolinjen, når du kun behøver at opdatere en del af et modul. </para
></listitem>

<listitem
><para
>&kdesvn-build; henter automatisk og laver det nødvendige bibliotek <filename
>/admin</filename
> for et modul hvis det ikke er hentet fra &svn; første gang af en eller anden grund. </para
></listitem>

<listitem
><para
>&kdesvn-build; viser <link linkend="build-progress"
>fremgangen af byggeprocessen</link
>når &unsermake; bruges, og tager altid tid på byggeprocessen så du ved hvor lang tid den tog bagefter. </para
></listitem>

<listitem
><para
>Forsøger automatisk at genbygge moduler som bruger en inkrementel byggeproces, hvilket tenderer at mislykkes efter visse typer af indtjekninger. </para
></listitem>

<listitem
><para
>Kan genoptage en byggeproces fra en bestemt modul. </para
></listitem>

<listitem
><para
>Levereres med et indbygget rimeligt sæt standardtilvalg passende til  at bygge en grundlæggende enbrugerinstallation af &kde; fra det anonyme &svn;-arkivet. </para
></listitem>

<listitem
><para
>Levereres med understøttelse for &unsermake;. </para
></listitem>

<listitem
><para
>Ekspanderer dine indstillingstilvalg med tilde. Du kan for eksempel angive: <programlisting
>qtdir ~/kdesvn/build/qt-copy</programlisting>
</para
></listitem>

<listitem
><para
>Indstillelige bygge-, kildekode-, og logningsmapper </para
></listitem>

<listitem
><para
>Sætter automatisk et byggesystem op, med kildekodemappen adskilt fra byggemappen for at holde kildekodemappen uberørt. Undtagelsen er <application
>qt-copy</application
>, som ikke er konstrueret til at bygges sådan (hvis du ikke vil prøve <link linkend="conf-use-qt-builddir-hack"
><quote
>QT med separat byggemappe</quote
></link
>). </para
></listitem>

<listitem
><para
>Du kan angive globale tilvalg at bruge for alle moduler som tjekkes ud, og du kan desuden angive tilvalg som skal bruges for enkelte moduler. </para
></listitem>

<listitem
><para
>Eftersom autoværktøjerne sommetider bliver usynkroniserede med ændringer i kildekodetræet, kan du tvinge til at et modul bygges om ved at oprette en fil som hedder refresh-me i byggemappen for modulet det drejer sig om, eller ved at køre &kdesvn-build; med flaget <option
>--refresh-build</option
>. </para
></listitem>

<listitem
><para
>Du kan angive diverse miljøvariabler som skal bruges under byggeprocessen, inklusive <envar
>KDEDIR</envar
>, <envar
>QTDIR</envar
>, <envar
>DO_NOT_COMPILE</envar
> og <envar
>CXXFLAGS</envar
>. </para
></listitem>

<listitem
><para
>Kommandologning. Logger dateres og nummereres så du altid har en log af en kørsel af scriptet. Desuden skabes et symbolsk link som hedder latest, som altid peger på den seneste log i logmappen. </para
></listitem>

<listitem
><para
>Hvis du bruger en brugerbygget &kde; i stedet for en systembygget (som du skal være systemadministrator for at installere), kan du lada scriptet installere for dig. Jeg har ikke gransket koden, og den bruger kaldet <function
>system()</function
> flitigt, så jeg anbefaler  for øjeblikket ikke at køre den som systemadministrator. </para
></listitem>

<listitem
><para
>Du kan bruge <link linkend="conf-make-install-prefix"
>make-install-prefix</link
> til at indlede byggekommandolinjen med en separat kommando, hvilket er nyttigt for sudo. </para
></listitem>

<listitem
><para
>Du kan bruge tilvalget <link linkend="conf-apidox"
>apidox</link
> for automatisk at bygge og installere dokumentation om programmeringsgrænsefladen for visse moduler. </para
></listitem>

<listitem
><para
>Du kan nøjes med at tjekke en delmængde af en &kde; &svn;-modul ud. Du vil for  eksempel kunne kunne nøjes med at tjekke  <application
>taglib</application
> ud fra <application
>kdesupport</application
>, eller kun <application
>K3B</application
> fra <application
>extragear/multimedia</application
>. Scriptet henter automatisk <application
>kde-common</application
> hvis det behøves for at få byggeprocessen til at fungere. </para
></listitem>

<listitem
><para
>Du kan <quote
>lade som om</quote
> du udfører handlingen. Hvis du sender med <option
>--pretend</option
> eller <option
>-p</option
> på kommandolinjen, giver scriptet en meget udførlig beskrivelse af de kommandoer som skal gøres, uden i virkeligheden at udføre dem. </para
></listitem>

<listitem
><para
>Støtte for at tjekke specifikke grene af &svn;-moduler ud. Arbejdet behøver stadigvæk at gøres færdigt, men du kan allerede vælge grenen du vil bygge med indstillingstilvalget <link linkend="conf-module-base-path"
>module-base-path</link
>. </para
></listitem>

</itemizedlist>

</sect1>

<sect1 id="kdesvn-build-logging">
<title
>Byggelogning i &kdesvn-build;</title>

<sect2 id="logging-overview">
<title
>Oversigt over logning</title>

<para
>Logning er en funktion i &kdesvn-build; hvorved uddataen fra hver kommando som &kdesvn-build; kører gemmes i en fil til senere undersøgelse, om nødvendigt. Dette gøres eftersom det ofte er nødvendigt at have uddata fra disse programmer når et byggefejl opstår, eftersom der er så mange grunde til at en byggeprocess kan mislykkes fra begyndelsen.</para>

<sect3 id="log-directory-layout">
<title
>Logningsmappens layout</title>

<para
>Loggerne opbevares altid i logmappen. Målet for logmappen styres af tilvalget <link linkend="conf-log-dir"
>log-dir</link
>, som normalt er <filename
><symbol
>${source-dir}</symbol
>/log</filename
> (hvor  <symbol
>${source-dir}</symbol
> er værdien af tilvalget  <link linkend="conf-source-dir"
>source-dir</link
>. I resten af dette afsnit kaldes denne værdi <symbol
>${log-dir}</symbol
>).</para>

<para
>I <symbol
>${log-dir}</symbol
> er der et sæt mapper, en for hver gang &kdesvn-build; er kørt. Hver mappe navngives med dato og kørenummer. Eksempelvis, den anden gang &kdesvn-build; køres 26. maj, 2004, vil en mappe som hedder <filename
>2004-05-26-02</filename
> blive lavet, hvor 2004-05-26 står for datoen og -02 er kørenummeret.</para>

<para
>For din bekvemmelighed laver &kdesvn-build; også et link til loggerne for den seneste kørsel, som hedder <filename
>latest</filename
>. Loggerne for den seneste kørsel af &kdesvn-build; vil altid findes under <filename
><symbol
>${log-dir}</symbol
>/latest</filename
>. </para>

<para
>Hver mappe for en kørsel af &kdesvn-build; indeholder nu på sin side et sæt mapper, en for hvert &kde;-modul som &kdesvn-build; forsøger at bygge. Desuden findes en fil som hedder <filename
>build-status</filename
> i mappen, som lader dig afgøre hvilke moduler som blev bygget og hvilke som mislykkedes.</para>

<note
><para
>Hvis et modul selv har et delmodul (såsom extragear/multimedia, playground/utils eller KDE/kdelibs), skal der være en tilsvarende struktur i logmappen. Loggerne for KDE/kdelibs efter den seneste kørsel af &kdesvn-build; er for eksempel i <filename
><symbol
>${log-dir}</symbol
>/latest/KDE/kdelibs</filename
>, og ikke i <filename
><symbol
>${log-dir}</symbol
>/latest/kdelibs</filename
>. </para
></note>

<para
>Du finder et sæt filer for hver handling som &kdesvn-build; udfører i hver modullogmappe. Hvis &kdesvn-build; opdaterer et modul, kan du se filnavne såsom <filename
>svn-co.log</filename
> (for en udtjekning af et modul) eller <filename
>svn-up.log</filename
> (når et modul opdateres som allerede er tjekket ut). Hvis kommandoen <command
>configure</command
> blev kørt, kan du forvente dig at se filen <filename
>configure.log</filename
> i mappen.</para>

<para
>Hvis en fejl opstod, bør du kunne se en forklaring af hvorfor i en af filerne. For at hjælpe til med at afgøre hvilken fil som indeholder fejlen, laver &kdesvn-build; et link fra filen med fejlen (såsom <filename
>build-1.log</filename
> til en fil som hedder <filename
>error.log</filename
>).</para>

<para
>Slutresultatet af alt dette er at for at se hvorfor et modul mislykkedes at bygges efter den seneste kørsel af &kdesvn-build;, er filen du først skal kigge i <filename
><symbol
>${log-dir}</symbol
>/latest/<replaceable
>modulnavn</replaceable
>/error.log</filename
>. </para>

<tip
><para
>Hvis filen <filename
>error.log</filename
> er tom (især efter en installation), var der måske ikke nogen fejl. Nogle værktøjer som bruges af &kde;'s byggesystem rapporterer sommetider en fejl selvom der ikke var en.</para>

<para
>Desuden undgår nogle kommandoer omdirigering af uddata som &kdesvn-build; laver, og går forbi logfilen under visse omstændigheder (normalt når den første udtjekning fra &svn; sker), og fejluddata findes ikke i logfilen i dette tilfælde, men i stedet i terminalen hvor &kdesvn-build; blev kørt</para>
</tip>

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

</chapter>

<chapter id="kdesvn-buildrc">
<title
>Formatet for .kdesvn-buildrc</title>

<para
>For at bruge scriptet skal du have en fil i din hjemmemappe som hedder <filename
>.kdesvn-buildrc</filename
>, som beskriver modulerne som du vil hente og bygge. </para>

<para
>Det begynder med globale tilvalg, angivne som følger: </para>

<programlisting
>global
<replaceable
>tilvalg-navn tilvalg-værdi</replaceable>
<replaceable
>[...]</replaceable>
end global
</programlisting>

<para
>De følges derefter af en eller flere modulsektioner, angivne på følgende måde: </para>

<programlisting
>module <replaceable
>modul-navn</replaceable>
<replaceable
>tilvalg-navn tilvalg-værdi</replaceable>
<replaceable
>[...]</replaceable>
end module
</programlisting>

<para
><replaceable
>modul-navn</replaceable
> skal være et modul i &kde;:s &svn;-arkiv (for eksempel kdelibs eller kdebase). Visse tilvælg sætter de globale valgmuligheder ud af kraft, visse tilføjes til de globale valgmuligheder og visse globale tilvalg kan simpelthen ikke sættes ud af kraft. </para>

<para
>Følgende er en alfabetisk liste med tilvalg du kan bruge. Klik på tilvalget for at finde ud af mere om det. Hvis noget ikke er dokumenteret, så send gerne e-mail til forfatterne med adressen som du finder <link linkend="authors"
>ovenfor</link
>. </para>

<itemizedlist>
<listitem
><para
><link linkend="conf-apidox"
>apidox</link
>, for at bygge dokumentation over programmeringsgrænsefladen</para
></listitem>
<listitem
><para
><link linkend="conf-apply-qt-patches"
>apply-qt-patches</link
>, for at forbedre qt-copy</para
></listitem>
<listitem
><para
><link linkend="conf-binpath"
>binpath</link
>, for at indstille variablen <envar
>PATH</envar
>.</para
></listitem>
<listitem
><para
><link linkend="conf-branch"
>branch</link
>, for at tjekke ud fra en gren i stedet for /trunk.</para
></listitem>
<listitem
><para
><link linkend="conf-build-dir"
>build-dir</link
>, for at angive mappe at bygge i.</para
></listitem>
<listitem
><para
><link linkend="conf-checkout-only"
>checkout-only</link
>, for  kun at tjekke dele af et modul ud.</para
></listitem>
<listitem
><para
><link linkend="conf-cmake-options"
>cmake-options</link
> for at angive hvilke flag et modul skal indstilles med ved brug af cmake.</para
></listitem>
<listitem
><para
><link linkend="conf-colorful-output"
>colorful-output</link
> for at tilføje farve til scriptets uddata.</para
></listitem>
<listitem
><para
><link linkend="conf-configure-flags"
>configure-flags</link
> for at angive hvilke flag et modul skal indstilles med.</para
></listitem>
<listitem
><para
><link linkend="conf-cxxflags"
>cxxflags</link
> for at definere variablen <envar
>CXXFLAGS</envar
>.</para
></listitem>
<listitem
><para
><link linkend="conf-dest-dir"
>dest-dir</link
> for at ændre mappenavn for et modul.</para
></listitem>
<listitem
><para
><link linkend="conf-disable-agent-check"
>disable-agent-check</link
>, for at forhindre at kdesvn-build kontrollerer SSH-agentens status.</para
></listitem>
<listitem
><para
><link linkend="conf-do-not-compile"
>do-not-compile</link
>, for at markere mapper så de springes over af byggeprocessen.</para
></listitem>
<listitem
><para
><link linkend="conf-inst-apps"
>inst-apps</link
>, for at kun bygge og installere visse mapper.</para
></listitem>
<listitem
><para
><link linkend="conf-install-after-build"
>install-after-build</link
>, for at undgå at installere efter byggeprocessen.</para
></listitem>
<listitem
><para
><link linkend="conf-kdedir"
>kdedir</link
>, for at angive mappen hvor &kde; skal installeres.</para
></listitem>
<listitem
><para
><link linkend="conf-kde-languages"
>kde-languages</link
>, for at indstille oversættelsespakken at hente og installere.</para
></listitem>
<listitem
><para
><link linkend="conf-libpath"
>libpath</link
>, for at sætte variablen <envar
>LD_LIBRARY_PATH</envar
>.</para
></listitem>
<listitem
><para
><link linkend="conf-make-install-prefix"
>make-install-prefix</link
>, for at køre et hjælpeprogram (såsom sudo) under installationen.</para
></listitem>
<listitem
><para
><link linkend="conf-make-options"
>make-options</link
>, for at sende flag til byggeprogrammet.</para
></listitem>
<listitem
><para
><link linkend="conf-manual-build"
>manual-build</link
>, for at undgå at modulet bygges automatisk.</para
></listitem>
<listitem
><para
><link linkend="conf-manual-update"
>manual-update</link
>, for at undgå at noget gøres automatisk med modulet.</para
></listitem>
<listitem
><para
><link linkend="conf-module-base-path"
>module-base-path</link
>, for at ændre hvorfra modulet hentes. (nyttigt for grene og mærker).</para
></listitem>
<listitem
><para
><link linkend="conf-niceness"
>niceness</link
>, for at ændre processorprioriteten.</para
></listitem>
<listitem
><para
><link linkend="conf-no-rebuild-on-fail"
>no-rebuild-on-fail</link
>, for at undgå at køre byggeprocessen om igen hvis den mislykkes.</para
></listitem>
<listitem
><para
><link linkend="conf-qtdir"
>qtdir</link
>, for at angive søgestien til &Qt;.</para
></listitem>
<listitem
><para
><link linkend="conf-set-env"
>set-env</link
>, for at sætte en miljøvariabel.</para
></listitem>
<listitem
><para
><link linkend="conf-source-dir"
>source-dir</link
>, for at ændre hvor kildekoden hentes.</para
></listitem>
<listitem
><para
><link linkend="conf-stop-on-failure"
>stop-on-failure</link
>, for at få .kdesvn-build at stoppe så snart en alvorlig fejl findes.</para
></listitem>
<listitem
><para
><link linkend="conf-svn-server"
>svn-server</link
>, for at ændre serveren som kildekoden automatisk hentes fra.</para
></listitem>
<listitem
><para
><link linkend="conf-use-unsermake"
>use-unsermake</link
>, for at bruge det avancerede byggesystem unsermake.</para
></listitem>
</itemizedlist>


<para
>Her er en tabel over de forskellige valgmuligheder, og nogle kommentarer om dem. Alle tilvalg som sætter et globat tilvalg ud af kraft, gør det også for et kommandolinjeflag. </para>

<table id="option-table">
<title
>Tilvalgstabel</title>
<tgroup cols="3">

<thead>
<row>
<entry
>Tilvalgsnavn</entry>
<entry
>Modul -&gt; global opførsel</entry>
<entry
>Noter</entry>
</row>
</thead>

<tbody>

<row id="conf-apidox">
<entry
>apidox</entry>
<entry
>Sætter global ud af kraft</entry>
<entry
><para
>Sæt dette til <quote
>true</quote
> for at få &kdesvn-build; til  automatisk at bygge og installere dokumentation om programmeringsgrænsefladen for modulet efter den normale byggeproces. Det virker kun for moduler hvor <quote
>make apidox</quote
> gør noget, inklusive , blandt andet kdelibs, kdebase og koffice. </para>
<para
>Dette tilvalg virker ikke for moduler som bruger &unsermake;, på grund af svagheder i byggesystemet med unsermake. </para>
</entry>
</row>

<row id="conf-apply-qt-patches">
<entry
>apply-qt-patches</entry>
<entry
>Sætter global ud af kraft</entry>
<entry
>Dette er kun nyttigtt for qt-copy. Hvis det er stillet til en værdi andet end nul, køres scriptet apply-patches i qt-copy inden byggeprocessen, for at udføre uofficielle programrettelser i qt-copy. Eftersom disse programrettelser normalt er grunden til at bruge qt-copy i stedet for en standardversion af &Qt;, skulle det ikke være skadligt at aktivere dette. Standardværdi er at aktivere programrettelserne.</entry>
</row>

<row id="conf-binpath">
<entry
>binpath</entry>
<entry
>Sætter global ud af kraft</entry>
<entry
><para
>Sæt dette for at bruge miljøvariablen PATH under byggeprocessen. Du kan ikke dette ud af kraft i et modultilvalg. Standatdværdi er <filename class="directory"
>/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin</filename
>. Miljøvariablen skal indeholde søgestier til udviklingsværktøjerne adskilte med kolon. Søgestierne <filename class="directory"
>$KDEDIR/bin</filename
> og <filename class="directory"
>$QTDIR/bin</filename
> tilføjes automatisk. Du kan bruge tilde (~) for eventuelle søgestier du tilføjer med dette tilvalg.</para>
</entry>
</row>

<row id="conf-branch">
<entry
>branch</entry>
<entry
>Sætter global ud af kraft</entry>
<entry
><para
>Angiv dette for at tjekke ud fra en gren af &kde; i stedet for  standarden "trunk", hvor &kde;-udvikling sker. For eksempel for at tjekke  grenen &kde; 3.4 ud, skal du angive tilvalget "3.4".</para>
<para
>Bemærk at visse moduler bruger et anderledes grennavn. I særdeleshed følger det krævede modul arts ikke  &kde;'s versionsnummer. Modulet arts som hørte sammen med &kde; 3.4 var version 1.4.</para>
<para
>Hvis det mislykkes for kdesvn-build at hente en gren med dette tilvalg, kan du behøve at  angive URL'en for at hente fra manuelt med tilvalget <link linkend="conf-override-url"
>override-url</link
>.</para>
</entry>
</row>

<row id="conf-build-dir">
<entry
>build-dir</entry>
<entry
>Sætter global ud af kraft</entry>
<entry
>Brug dette for at skifte mappen som indeholder kildekoden at bygge. Der er tre forskellige måder at bruge det: <itemizedlist
><listitem
><para
>Relativt til &kde;:&svn;-kildekodemappe (se <link linkend="conf-source-dir"
>tilvalget source-dir</link
>). Det er standard, og måden som scriptet virkede frem til version 0.61. Denne tilstand  vælges hvis du indskriver et mappenavn som ikke begynder med tilde (~) eller skråstreg (/).</para
><para
>Standardværdi er <filename class="directory"
>build</filename
></para
></listitem
><listitem
><para
>Absolut søgesti. Hvis du angiver en søgesti som begynder med /, bruges søgestien direkte. For eksempel <filename class="directory"
>/tmp/kde-obj-dir/</filename
></para
></listitem
><listitem
><para
>Relativt til din hjemmemappe. Hvis du angiver en søgesti som begynder med ~, bruges søgestien relativt til din hjemmemappe, på tilsvarende måde som skallens ekspansion af tilde. Forl eksempel ville <filename class="directory"
>~/builddir</filename
> indstille byggemappen til <filename class="directory"
>/home/brugernavn/builddir</filename
></para
></listitem
> </itemizedlist
>Dette kan, måske noget uventet, ændres pr modul. </entry>
</row>

<row id="conf-checkout-only">
<entry
>checkout-only</entry>
<entry
>Sætter global ud af kraft</entry>
<entry
>Sæt dette for kun at tjekke kildekode ud fra &svn; del for del. Værdien af tilvalget skal være en liste med mapper adskilte med mellemrum at tjekke ud. Hvis du ikke inkluderer mappen admin, inkluderes den automatisk (hvis det behøves). Når du tjekker ud del for del hentes mappen admin ind fra kde-common, hvilket er stedet den findes på &svn;-serveren. Selvom tilvalget sætter det globale tilvalg ud af kraft, skal være klar over  at det at angive dette som et globalt tilvalg ikke giver mening. </entry>
</row>

<row id="conf-cmake-options">
<entry
>cmake-options</entry>
<entry
>Tilføjer til i globale tilvalg (bortset fra qt-copy)</entry>
<entry
><para
>brug dette tilvalg til at angive hvilke flag som skal sendes til &cmake; når byggesystemet for modulet laves. Når det bruges som et globalt tilvalg, bruges det for alle moduler som scriptet bygger. Når det bruges som et modultilvalg, lægges det til i slutningen af de generelle valgmulighederne. Dette tillader dig angive fælles CMake-tilvalg i den globale del.</para>

<para
>Dette tilvalg erstatter <link linkend="conf-configure-flags"
>configure-flags</link
> for KDE 4-moduler, eftersom de bruger CMake for at bygges.</para>

<para
>Eftersom valgmulighederne sendes direkte til kommandolinjen for CMake, skal de angives som de skulle skrives til CMake. For eksempel:</para>

<screen
>cmake-options -DRPATH_STYLE=default
</screen>

<para
>Eftersom dette er besværligt, anstrenger &kdesvn-build; sig for at sikre at  øvrige tilvalg er rigtigt indstillet, så du skulle kunne efterlade dette tilvalg tomt.</para
></entry>
</row>

<row id="conf-configure-flags">
<entry
>configure-flags</entry>
<entry
>Tilføjer globale tilvalg (undtagen for qt-copy)</entry>
<entry
><para
>Brug dette tilvalg for at angive hvilke flag som skal sendes til ./configure når byggesystemet for modulet laves. Når det bruges som et globalt tilvalg, bruges det for alle moduler som scriptet bygger. qt-copy bruger et meget anderledes sæt indstillingstilvalg end resten af &kde;, så dette tilvalg <emphasis
>sætter de globale indstillinger ud af kraft</emphasis
> når det bruges for qt-copy. </para>

<para
>Dette tilvalg gælder for qt-copy og alle KDE 3-moduler. KDE 4-moduler bruger &cmake;, som styres med tilvalget <link linkend="conf-cmake-options"
>cmake-options</link
>.</para>
</entry>
</row>

<row id="conf-colorful-output">
<entry
>colorful-output</entry>
<entry
>Kan ikke sættes udf af kraft</entry>
<entry
>Sæt dette tilvalg til false for at deaktivere farvelagt uddata fra &kdesvn-build;. Dette tilvalg er normalt <quote
>true</quote
>. Bemærk at &kdesvn-build; ikke sender farvekoderne ud til noget andet end en terminal (såsom xterm, &konsole; eller den normale &Linux;-konsol). </entry>
</row>

<row id="conf-cxxflags">
<entry
>cxxflags</entry>
<entry
>Tilføjer til globale tilvalg</entry>
<entry
>Brug dette tilvalg for at angive hvilke flag som skal sendes til <command
>./configure</command
> som <envar
>CXXFLAGS</envar
> når byggesystemet for modulet laves. Dette tilvalg angives her i stedet for med <link linkend="conf-configure-flags"
>configure-flags</link
> eller <link linkend="conf-cmake-options"
>cmake-options</link
> eftersom dette tilvalg også sætter miljøvariablen <envar
>CXXFLAGS</envar
> under byggeprocessen. </entry>
</row>

<row id="conf-dest-dir">
<entry
>dest-dir</entry>
<entry
>Sætter global ud af kraft</entry>
<entry
>Brug dette tilvalg for at ændre navnet et modul gives på disken. Hvis modulet for eksempel var extragear/network, ville du kunne skifte navn på det til extragear-network med dette tilvalg. </entry>
</row>

<row id="conf-disable-agent-check">
<entry
>disable-agent-check</entry>
<entry
>Kan ikke sættes udf af kraft</entry>
<entry
>Normalt, hvis du bruger SSH for at hente Subversion-kildekoden (såsom hvis du bruger protokollen svn+ssh), forsøger kdesvn-build at sørge for at du bruger SSH-agenten, så håndterer den virkelig nogle SSH-identiteter. Dette er for at forsøge at forhindre at SSH spørger efter dit løsen for hvert modul. Du kan deaktivere kontrollen ved at sætte disable-agent-check til true. </entry>
</row>

<row id="conf-do-not-compile">
<entry
>do-not-compile</entry>
<entry
>Sætter global ud af kraft</entry>
<entry
><para
>Brug dette tilvalg for at sætte miljøvariablen <envar
>DO_NOT_COMPILE</envar
> inden scriptet configure køres. Ifølge <ulink url="http://developer.kde.org/documentation/other/developer-faq.html"
>&kde;'s ofte stillede  spørgsmål for udviklere</ulink
>, skal det gøre at alle topniveaumapper du sender med ikke bygges. Katalogerne skal adskilles med mellemrum.</para>

<para
>Bemærk at kildekoden for programmerne stadigvæk hentes. Du kan bruge direktivet <link linkend="conf-checkout-only"
>checkout-only</link
> for at vælge mapper som du vil tjekke ud.</para>

<important
><para
>Dette tilvalg fungerer endnu ikke med moduler som bygges med &cmake;.</para
></important>
</entry>
</row>

<row id="conf-email-address">
<entry
>email-address</entry>
<entry
>Kan ikke sættes udf af kraft</entry>
<entry>
<para
>Indstil dette tilvalg til e-mail-adressen som kdesvn-build skal sende fra hvis det nogensinde behøver at sende e-mail. Du behøver ikke bekymre dig om det hvis du ikke bruger nogen funktion som sender e-mail (De er alle normalt deaktiverede). </para>

<para
>For øjeblikket behøver kun <link linkend="conf-email-on-compile-error"
>email-on-compile-error</link
> tilvalget. </para>
</entry>
</row>

<row id="conf-email-on-compile-error">
<entry
>email-on-compile-error</entry>
<entry
>Kan ikke sættes udf af kraft</entry>
<entry>
<para
>Du kan indstille dette tilvalg til e-mail-adressen hvorhen en rapport skal sendes når et modul mislykkes at bygge. kdesvn-build venter til alle moduler er færdige og samler alle resultater i rapporten. Rapporten sendes kun hvis det mislykkes at bygge et modul. </para>

<para
>Se tilvalget <link linkend="conf-email-address"
>email-address</link
> for at indstille adressen som kdesvn-build skal sende fra, eftersom standardværdien som oftest ikke er hvad du vil have. </para>
</entry>
</row>

<row id="conf-inst-apps">
<entry
>inst-apps</entry>
<entry
>Sætter global ud af kraft</entry>
<entry
><para
>Dette er modsætningen til tilvalget <link linkend="conf-do-not-compile"
>do-not-compile</link
>. Dette tilvalg gør at kun angivne topniveaumapper bygges. Katalogerna skal adskilles med mellemrum.</para>

<para
>Eventuelle ændringer får ingen virkning førend næste gang <command
>make <option
>-f</option
> Makefile.cvs</command
> køres, enten automatisk af scriptet, eller manuelt med tilvalgene <link linkend="cmdline-refresh-build"
><option
>--refresh-build</option
></link
> eller <link linkend="cmdline-recreate-configure"
><option
>--recreate-configure</option
></link
>. </para>

<important
><para
>Dette tilvalg fungerer endnu ikke for moduler som bygges med byggesystemet &cmake;.</para
></important>

<para
>Bemærk at kildekoden for programmerne stadigvæk hentes. Du kan bruge direktivet <link linkend="conf-checkout-only"
>checkout-only</link
> for at vælge mapper som du vil tjekke ud.</para>
</entry>
</row>

<row id="conf-install-after-build">
<entry
>install-after-build</entry>
<entry
>Sætter global ud af kraft</entry>
<entry
>Dette tilvalg bruges til at installere pakken efter det er lykkedes at bygge den. Dette tilvalg er normalt aktiveret. Hvis du vil deaktivere det, skal du sætte tilvalget til 0 i &rcfile;. Du kan også bruge kommandolinjeflaget <link linkend="cmdline-no-install"
><option
>--no-install</option
></link
>. </entry>
</row>

<row id="conf-kdedir">
<entry
>kdedir</entry>
<entry
>Sætter global ud af kraft</entry>
<entry
>Dette tilvalg angiver mappen som &kde; installeres i efter det er bygget. Standardværdien er <filename class="directory"
>~/kde</filename
>. Hvis du ændrer det til en mappe som kræver adgang som systemadministrator, bør du også læse om tilvalget <link linkend="conf-make-install-prefix"
>make-install-prefix</link
>.</entry>
</row>

<row id="conf-kde-languages">
<entry
>kde-languages</entry>
<entry
>Kan ikke sættes udf af kraft</entry>
<entry
><para
>Dette tilvalg lader dig vælge at hente og installere landeindstillingspakken sammen med &kde;. Du kan gøre dette hvis du ikke bor i USA og vil have &kde; oversat til dit modersmål.</para>

<para
>Indstil dette tilvalg til en liste af sprog at installere adskilte med mellemrum, for at bruge dette. Hvert sprog har en tilhørende sprogkode, som du kan slå op på følgende side: <ulink url="http://i18n.kde.org/teams/"
>http://i18n.kde.org/teams/</ulink
>. </para>

<para
>Det er helt rigtigt kun at vælge et sprog. Normalt hentes intet, hvilket betyder at &kde; vises med amerikansk engelsk.</para>

<para
>Eksempelvis, for at vælge at installere dansk, skal du indstille tilvalget til noget i retning af: <userinput
><option
>kde-languages</option
> <replaceable
>da</replaceable
></userinput
>. Du skal imidlertid alligevel bruge kontrolcentret for at vælge det danske sprog.</para>
</entry>
</row>

<row id="conf-libpath">
<entry
>libpath</entry>
<entry
>Sætter global ud af kraft</entry>
<entry
>Angiv dette tilvalg for at sætte miljøvariablen LD_LIBRARY_PATH under byggeprocessen. Du kan ikke sætte denne indstilling ud af kraft med et modultilvalg. Standardværdi er tomt, men søgestierne <filename class="directory"
>$KDEDIR/lib</filename
> og <filename class="directory"
>$QTDIR/lib</filename
> tilføjes automatisk. Du kan bruge tilde (~) i alle søgestier du tilføjer med dette tilvalg. </entry>
</row>

<row id="conf-log-dir">
<entry
>log-dir</entry>
<entry
>Sætter global ud af kraft</entry>
<entry
>Brug dette tilvalg for at ændre mappen som bruges til at opbevare logfiler som laves af scriptet. Indstillingen kan ændres pr modul fra og med version 0.64 eller senere. </entry>
</row>

<row id="conf-make-install-prefix">
<entry
>make-install-prefix</entry>
<entry
>Sætter global ud af kraft</entry>
<entry
>Sæt denne variabel til en liste adskilt med mellemrum, som tolkes som en kommando og dens flag til at gå forud for kommandoen make install som bruges til at installere moduler. Dette er nyttigt for eksempel til at installere pakker med sudo, men vær forsigtig når du håndterer systemadministratorens rettigheder.</entry>
</row>

<row id="conf-make-options">
<entry
>make-options</entry>
<entry
>Sætter global ud af kraft</entry>
<entry
>Angiv denne variabel for at sende kommandolinjeflag til kommandoen make. Dette er nyttigt for programmer såsom <ulink url="http://distcc.samba.org/"
><application
>distcc</application
></ulink
>. Programmet <application
>distcc</application
> lader dig opdele dit kompileringsarbejde på mere end en maskine. For at bruge det, skal du bruge flaget <option
>-j</option
> til make. Nu kan du det. Ifølge dokumentationen anbefales 2 * antal_processorer_i_netværket. Jeg har i alt en processor, så det ville være <option
>-j2</option
> i mit tilfælde.</entry>
</row>

<row id="conf-manual-build">
<entry
>manual-build</entry>
<entry
>Sætter global ud af kraft</entry>
<entry
>Sæt tilvalgsværdien til <quote
>true</quote
> for at forhindre at byggeprocessen forsøger at bygge modulet. Den holdes stadigvæk opdateret ved opdatering fra &svn;. Dette tilvalg svarer nøjagtigt til kommandolinjeflaget <link linkend="cmdline-no-build"
><option
>--no-build</option
></link
>. </entry>
</row>

<row id="conf-manual-update">
<entry
>manual-update</entry>
<entry
>Sætter global ud af kraft</entry>
<entry
>Sæt tilvalgsværdien til <quote
>true</quote
> for at forhindre at byggeprocessen forsøger at opdatere (og følgelig, bygge eller installere) modulet. Hvis du angiver tilvalget for et modul, er det stort set det samme som at kommentere det bort. </entry>
</row>

<row id="conf-module-base-path">
<entry
>module-base-path</entry>
<entry
>Sætter global ud af kraft</entry>
<entry
><para
>Sæt dette tilvalg for at sætte &kdesvn-build;s standardmappesti til modulet det drejer sig omd ud af kraft. Det kan for eksempel bruges til at hente specifikke grene eller mærkede versioner af biblioteker. <ulink url="http://websvn.kde.org/"
>&kde;'s kildekodevisning</ulink
> er uvurderlig som hjælp til at vælge rette søgesti.</para>
<para
>Bemærk at &kdesvn-build; konstruerer den endelige søgesti efter følgende skabelon: <varname
>$svn-server</varname
>/home/kde/<varname
>$module-base-path</varname
>/<varname
>$module-name</varname
>. </para>
<para
>Standardværdien er enten <quote
>trunk</quote
> eller <quote
>trunk/KDE</quote
>, afhængig af modulnavnet.</para>
</entry>
</row>

<row id="conf-niceness">
<entry
>niceness</entry>
<entry
>Kan ikke sættes udf af kraft</entry>
<entry
>Sæt dette  tilvalg til et tal mellem 20 og 0. Jo højere nummer, desto lavere prioritet sætter &kdesvn-build; for sig selv. Standardværdi er 10. </entry>
</row>

<row id="conf-no-rebuild-on-fail">
<entry
>no-rebuild-on-fail</entry>
<entry
>Sætter global ud af kraft</entry>
<entry
>Indstil denne tilvalgsværdi til <quote
>true</quote
> for altid at forhindre at &kdesvn-build; forsøger at genbygge modulet hvis en inkrementel byggeproces skulle mislykkes. Normalt forsøger &kdesvn-build; at genbygge modulet fra begyndelsen for at modvirke virkningen at enkelt &svn;-opdatering forårsager problemer med byggesystemet.</entry>
</row>

<row id="conf-override-url">
<entry
>override-url</entry>
<entry
>Sætter global ud af kraft</entry>
<entry
>Hvis du angiver dette tilvalg, bruger kdesvn-build dets værdi som URL at sende til &svn; <emphasis
>helt uforandret</emphasis
>. Du bør  generelt bruge dette hvis du vil hente en specifik udgave, men kdesvn-build kan ikke regne ud hvad du mener ved at bruge <link linkend="conf-branch"
>branch</link
>. </entry>
</row>

<row id="conf-qtdir">
<entry
>qtdir</entry>
<entry
>Sætter global ud af kraft</entry>
<entry
>Sæt dette tilvalg for at bruge miljøvariablen QTDIR under byggeprocessen. Du kan ikke sætte dette  tilvalg ud af kraft i et modultilvalg. Standardværdi er <filename class="directory"
><varname
>$(source-dir)</varname
>/build/qt-copy</filename
>, som bruger modulet qt-copy som indgår i &kde;:s kildekodearkiv. Du kan bruge tilde (~) til at repræsentere din hjemmemappe. </entry>
</row>

<row id="conf-remove-after-install">
<entry
>remove-after-install</entry>
<entry
>Sætter global ud af kraft</entry>
<entry
><para
>Hvis du kun har lidt om harddiskplads kan du ville bruge dette tilvalg til at automatisk at fjerne byggemappen (eller både kildemappen og byggemappen for engangsinstallationer) efter det er lykkedes at installere modulet. </para>
<para
>Mulige værdier for dette tilvalg er: <itemizedlist>
<listitem
><para
>none - Slet ikke bort noget (dette er standardværdien).</para
></listitem>
<listitem
><para
>builddir - Slet byggemappen men ikke kildekoden.</para
></listitem>
<listitem
><para
>all - Slet både  kildekoden og byggemappen.</para
></listitem>
</itemizedlist>
</para>

<para
>Bemærk at brug af dette tilvalg kan give en signifikant skadelig indvirkning både på din brug af båndbredde (hvis du bruger 'all') og tiden det tager at kompilere &kde;, eftersom kdesvn-build ikke kan udføre inkrementel bygning.</para>
</entry>
</row>

<row id="conf-set-env">
<entry
>set-env</entry>
<entry
>Sætter global ud af kraft</entry>
<entry
><para
>Dette tilvalg accepterer et sæt værdier adskilte af mellemrum, hvor den første værdi er miljøvariabel at sætte, og følgende værdier er hvad du vil sætte variabelen til. For eksempel for at sætte variablen ANDERS til AND, ville du skrive følgende kommando i det dertil passende afsnit:</para>
<screen
><command
>set-env</command
> <envar
>ANDERS</envar
> <userinput
>AND</userinput
></screen>
<para
>Dette tilvalg er specielt på den måde at det kan gentages uden at sætte tidligere indstillinger ud af kraft med set-env i samme afsnit af dim &rcfile;. På den måde du angive mere end en miljøvariabel pr modul (eller globalt).</para>
</entry>
</row>

<row id="conf-source-dir">
<entry
>source-dir</entry>
<entry
>Sætter global ud af kraft</entry>
<entry
>Dette tilvalg bruges til at angive mappen på maskinen hvor &kde;'s &svn;-kildekode skal opbevares. Hvis du ikke angiver denne værdi, er standardværdien  <filename class="directory"
>~/kdesvn</filename
>. Hvis du angiver denne værdi, brug en absolut søgesti. </entry>
</row>

<row id="conf-svn-server">
<entry
>svn-server</entry>
<entry
>Sætter global ud af kraft</entry>
<entry
>Dette tilvalg bruges til at angive serveren som bruges ved udtjekning fra &svn;. Standard er det anonyme &svn;-arkiv, <emphasis
>svn://anonsvn.kde.org/</emphasis
>.</entry>
</row>

<row id="conf-stop-on-failure">
<entry
>stop-on-failure</entry>
<entry
>Sætter global ud af kraft</entry>
<entry
>Sæt denne tilvalgsværdi til <quote
>true</quote
> for at gøre at scriptet holder op med at køre efter en fejl opstår i bygge- eller installationsprocessen. Dette tilvalg er normalt slået fra. </entry>
</row>

<row id="conf-tag">
<entry
>tag</entry>
<entry
>Sætter global ud af kraft</entry>
<entry
><para
>Brug dette tilvalg for at hente en specifik udgave af et modul.</para>
<para
><emphasis
>Bemærk:</emphasis
> Der er høje odds for at du IKKE ØNSKER at bruge dette tilvalg. &kde;-udgaver er tilgængelige på arkivform fra <ulink url="ftp://ftp.kde.org/"
>&kde;'s FTP-sted</ulink
> eller et af dets <ulink url="http://download.kde.org/download.php"
>spejle</ulink
>.</para>
<para
>Hvis du bruger kdesvn-build fordi du har svært ved at få fat på en &kde;-udgave at bygge på din distribution, så overvej at bruge byggeværktøjet <ulink url="http://developer.kde.org/build/konstruct/"
>Konstruct</ulink
> i stedet for, som virker ud fra de udgivne tar-bolde.</para>
</entry>
</row>

<row id="conf-use-cmake">
<entry
>use-cmake</entry>
<entry
>Sætter global ud af kraft</entry>
<entry>
<para
>Dette tilvalg tillader dig at tvinge &kdesvn-build; til at forsøge (eller ikke forsøge) at bruge CMake for et givet modul. Normalt forsøger &kdesvn-build; altid at bruge CMake hvis det er til stede for modulet, eftersom det vil blive krævet for at bygge KDE 4. Dette tilvalg er tilgængeligt for at forenkle overgang fra unsermake til CMake. Dette tilvalg vil blive fjernet så snart alle KDE 4-moduler kræver CMake. </para>
</entry>
</row>

<row id="conf-use-qt-builddir-hack">
<entry
>use-qt-builddir-hack</entry>
<entry
>Sætter global ud af kraft</entry>
<entry
>Selvom dette tilvalg sætter det globale tilvalg ud af kraft, giver det kun mening for qt-copy. Sæt dette tilvalg til <quote
>true</quote
> for at aktivere scriptets <emphasis
>eksperimentelle</emphasis
> tilstand med kildemappe adskilt fra byggemappe. Når det er aktiveret, kopierer &kdesvn-build; qt-copy's kildekodemodul til byggemappen, og udfører byggeprocessen derfra. Det betyder at miljøvariablen QTDIR i stedet skal være indstillet til <filename class="directory"
>$(qt-copy-build-dir)/qt-copy/lib</filename
>. Du skal også ændre tilvalget <link linkend="conf-qtdir"
>qtdir</link
> på tilsvarende måde. At bygge inkrementelt skulle stadigvæk virke i denne tilstand, eftersom tidsstempler bevaras efter kopieringen. Hvis du bruger tilvalget <link linkend="conf-apply-qt-patches"
>apply-qt-patches</link
>, udføres programrettelserne  i byggemappen, ikke i kildekodemappen. Tilvalgets standardværdi er <quote
>true</quote
>. </entry>
</row>

<row id="conf-use-stable-kde">
<entry
>use-stable-kde</entry>
<entry
>Kan ikke sættes udf af kraft</entry>
<entry
><para
>Eftersom &kdesvn-build; har understøttelse for at bygge &kde; 3 og 4, skal der  være en måde at fortælle hvilken version som skal bygges. Normalt bygger &kdesvn-build; hovedversionen for udvikling af &kde; (som kaldes /trunk). Men den er for &kde; 4, som endnu ikke er parat til en bred udgivelse. </para>

<para
>Du kan bruge tilvalget &branch; globalt, eller for et modul for at hente &kde; 3.5 (eller 3.4, osv.). Dette er imidlertid ikke bekvemt, eftersom visse moduler (såsom kdesupport) deles mellem 3.5 og 4. Desuden er der en mængde grentilvalg som skal tilføjes til indstillingsfilen.</para>

<para
>Hvis du altså indstiller det globale tilvalg til <option
>true</option
>, henter &kdesvn-build; automatisk &kde; 3.5 versionen af moduler såsom kdelibs og qt-copy, i stedet for at hente &kde; 4 versionen. Du kan stadigvæk bruge valgmulighederne &branch; eller &tag; for et modul for at sætte indstillingerne som &kdesvn-build; vælger ud af kraft. På den måde kan du nemt vælge at hente &kde; 3.5 i stedet for forudgivelsen af &kde; 4.</para>
</entry>
</row>

<row id="conf-use-unsermake">
<entry
>use-unsermake</entry>
<entry
>Sætter global ud af kraft</entry>
<entry
><para
>Sæt dette tilvalg til <quote
>true</quote
> for at bruge det eksperimentelle program unsermake i stedet for automake når scriptet configure køres. Det kan forårsage væsentlig mindskning af byggetiden, især for <ulink url="http://www.csh.rit.edu/slashdot/distcc.html"
>distribuerede byggesystem</ulink
>. Tilvalgets standardværdi er <quote
>true</quote
> (for de fleste moduler). </para>

<para
>Normalt, hvis du bruger dette tilvalg kommer kdesvn-build automatisk til at holde unsermake opdateret. Det kan begynde at blive irriterende, især hvis du håndterer unsermake selv. Hvis dette er tilfældet, kan du sætte tilvalget til <quote
>self</quote
>, så bruger kdesvn-build stadigvæk unsermake, men gør ingenting særligt for at holde det opdateret. </para>
</entry>
</row>

</tbody>

</tgroup>
</table>

</chapter>

<chapter id="cmdline">
<title
>Kommandolinjeflag og miljøvariabler</title>

<para
>Scriptet bruger ikke miljøvariabler. Hvis du behøver at sætte miljøvariabler for bygge- eller installationsprocessen, så se tilvalget <link linkend="conf-set-env"
>set-env</link
>. </para>

<para
>Scriptet accepterer følgende kommandolinjeflag: </para>

<variablelist>

<varlistentry id="cmdline-help">
<term
><option
>--help</option
></term>
<listitem
><para
>vis kun simpel hjælp om scriptet. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-version">
<term
><option
>---version</option
></term>
<listitem
><para
>vis programmets version. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-author">
<term
><option
>--author</option
></term>
<listitem
><para
>vis forfatterens kontaktinformation. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-color">
<term
><option
>--color</option
></term>
<listitem
><para
>aktivér farvelagt uddata. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-nice">
<term
><option
>--nice=<replaceable
>værdi</replaceable
></option
></term>
<listitem
><para
>Indstiller nice-værdien til <replaceable
>værdi</replaceable
> under denne kørsel. <replaceable
>værdi</replaceable
> skal være mellem 0 og 20. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-no-color">
<term
><option
>--no-color</option
></term>
<listitem
><para
>deaktivér farvelagt uddata. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-pretend">
<term
><option
>--pretend</option
> (eller <option
>-p</option
>)</term>
<listitem
><para
>udfører IKKE noget, men opfør sig som om du gjorde det. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-quiet">
<term
><option
>--quiet</option
> (eller <option
>-q</option
>)</term>
<listitem
><para
>Vær ikke så støjende med uddata. Med dette flag meddeles kun det vigtigste. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-really-quiet">
<term
><option
>--really-quiet</option
></term>
<listitem
><para
>Kun advarsler og fejl. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-verbose">
<term
><option
>--verbose</option
></term>
<listitem
><para
>Beskriv i detalje hvad der sker, og hvad kdesvn-build gør. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-svn-only">
<term
><option
>--svn-only</option
></term>
<listitem
><para
>udfører kun opdatering af kildekoden. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-build-only">
<term
><option
>--build-only</option
></term>
<listitem
><para
>udfører kun byggeprocessen. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-ignore-modules">
<term
><option
>--ignore-modules</option
></term>
<listitem
><para
>inkludér ikke moduler som sendes på resten af kommandolinjen under opdaterings- og byggeprocessen. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-no-svn">
<term
><option
>--no-svn</option
></term>
<listitem
><para
>spring over at kontakte &svn;-serveren. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-no-build">
<term
><option
>--no-build</option
></term>
<listitem
><para
>spring over byggeprocessen. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-no-install">
<term
><option
>--no-install</option
></term>
<listitem
><para
>installér ikke automatisk pakker efter de er bygget. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-debug">
<term
><option
>--debug</option
></term>
<listitem
><para
>aktiverer fejlsøgningstilstand for scriptet. For øjeblikket betyder det at al uddata sendes til STDOUT foruden at logges i logmappen som sædvanligt. Desuden er mange funktioner meget udførligere om hvad de gør i fejlsøgningstilstand. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-no-rebuild-on-fail">
<term
><option
>--no-rebuild-on-fail</option
></term>
<listitem
><para
>forsøg ikke at genbygge moduler som det er mislykket at bygge fra begyndelsen. &kdesvn-build; forsøger aldrig at gøre dette med et modul hvor et forsøg på at bygge fra begyndelsen allerede er gjort. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-refresh-build">
<term
><option
>--refresh-build</option
></term>
<listitem
><para
>genopret om byggesystemet og byg fra grunden. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-reconfigure">
<term
><option
>--reconfigure</option
></term>
<listitem
><para
>kør scriptet configure igen uden at rense byggemappen. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-recreate-configure">
<term
><option
>--recreate-configure</option
></term>
<listitem
><para
>kør <command
>make <option
>-f</option
> Makefile.cvs</command
> igen for at oprette scriptet configure, og fortsæt med at bygge som sædvanligt. Dette tilvalg implicerer <option
><link linkend="cmdline-reconfigure"
>--reconfigure</link
></option
>. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-resume-from">
<term
><option
>--resume-from</option
></term>
<listitem
><para
>Dette tilvalg er nyttigt for at genoptage byggeprocessen fra det angivne modul, som skal være næste tilvalg på kommandolinjen. Dette tilvalg indbefatter <link linkend="cmdline-no-svn"
><option
>--no-svn</option
></link
>. Du skal ikke angive andre modulnavne på kommandolinjen. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-rc-file">
<term
><option
>--rc-file</option
></term>
<listitem
><para
>som tolker næste kommandolinjeflag som filen at læse indstillingstilvalg fra. Standardværdien for denne parameter er ~/.kdesvn-buildrc. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-run">
<term
><option
>--run</option
></term>
<listitem
><para
>Dette tilvalg tolker næste parameter på kommandolinjen som et program at køre, og &kdesvn-build; vil så holde op med at læse indstillingsfilen, opdaterer miljøet som sædvanligt, og kører derefter det angivne program.</para>

<para
>Dette virker dog ikke til at starte et skal med miljøet fra kdesvn-build i de fleste tilfælde, eftersom interaktive skaller typisk nulstiller i det mindste visse af miljøvariablerne (såsom <envar
>PATH</envar
> og <envar
>KDEDIRS</envar
>) under startsekvensen. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-prefix">
<term
><option
>--prefix=&lt;/søgesti/till/kde&gt;</option
></term>
<listitem
><para
>som lader dig ændre mappen som &kde; installeres i fra kommandolinjen. Dette tilvalg  implicerer <link linkend="cmdline-reconfigure"
><option
>--reconfigure</option
></link
>. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-build-system-only">
<term
><option
>--build-system-only</option
></term>
<listitem
><para
>stop efter at have kørt <command
>make <option
>-f</option
> Makefile.cvs</command
>. Scriptet configure skal stadigvæk køres, hvilket &kdesvn-build; gør næste gang. Dette lader dig forberede alle configure-scripter på en gang så du kan kigge på <command
>./configure <option
>--help</option
></command
> for hvert modul, og redigere dine flag til configure i overensstemmelse med dette. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-install"
><term
><option
>--install</option
></term>
<listitem
><para
>hvis dette er det eneste kommandolinjeflag, forsøger scriptet at installere alle moduler som det er lykkedes at bygge, bortset fra qt-copy som ikke behøver at installeres. Hvis kommandolinjeflag angives efter <option
>--install</option
>, antages de alle at være moduler at installere. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-global-option">
<term
><option
>--&lt;option-name&gt;=</option
></term>
<listitem
><para
>Du kan bruge dette tilvalg til at sætte et tilvalg i din &rcfile; ud af kraft  for hvert modul. For eksempel for at sætte tilvalget <link linkend="conf-log-dir"
>log-dir</link
> ud af kraft, skulle du angive <option
>--log-dir=/søgesti/til/mappe</option
>. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-module-option">
<term
><option
>--&lt;modulnavn&gt;,&lt;tilvalgnavn&gt;=</option
></term>
<listitem
><para
>Du kan bruge dette flag til at sætte et tilvalg i din &rcfile; for et vist modul ud af kraft. For eksempel for at sætte tilvalget <link linkend="conf-use-unsermake"
>use-unsermake</link
> ud af kraft for kdemultimedia, skal du angive <option
>--kdemultimedia,use-unsermake=false</option
>. </para
></listitem>
</varlistentry>

</variablelist>

<para
>Alle øvrige kommandolinjeflag antages at være moduler at opdatere og bygge. Bland helst ikke bygge og installere sammen. </para>

</chapter>

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

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

<para
>Efter du er gået gennem <xref linkend="getting-started"/>, er det normalt så nemt at bruge &kdesvn-build; som at skrive følgende i en terminal:</para>

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

<para
>&kdesvn-build; henter derefter &kde;'s kildekode, forsøger at konfigurere og bygge den, og derefter installere den.</para>

<para
>Læs videre for at opdage hvordan &kdesvn-build; gør dette, og hvad du mere kan gøre med dette værktøj.</para>

</sect1>

<sect1 id="basic-features">
<title
>Grundlæggende funktioner i &kdesvn-build;</title>

<sect2 id="using-qt-copy">
<title
>understøttelse for qt-copy</title>
<para
>&kdesvn-build; stræber efter at bevare god understøttelse for modulet qt-copy som indgår i &kde;'s &svn;-arkiv.</para>

<note
><para
>qt-copy er en kopi af kildekoden for den seneste udgave af &Qt;-værktøjskassen som bruges af &kde;. Den indeholder også et sæt programrettelser og fejlforbedringsrettelser som valgfrit kan bruges. Programrettelserne virker stadigvæk med &Qt;-biblioteket så kode oprettet ved at bruge qt-copy kan køres med det almindelige &Qt;. </para
></note>

<para
>De fleste forskelle som kræves for qt-copy håndteres automatisk af &kdesvn-build;, Dog er der nogle forskelle som du kan behøve at kende til.</para>

<itemizedlist>
<listitem
><para
>Normalt tilføjes værdien af &configure-flags; for et modul til de generelle indstillinger for &configure-flags;. Indstillingen af &configure-flags; for qt-copy erstatter dog de generelle indstillinger, eftersom de ikke har tilsvarende kommandolinjer. </para
></listitem>

<listitem
><para
>&kdesvn-build; definerer automatisk nogle ekstra miljøvariabler for at bygge qt-copy, som normalt ikke kræves for resten af &kde;. </para
></listitem>

<listitem
><para
>qt-copy har også understøttelse for et valgfrit sæt programrettelser som indeholder nogle fejlrettelser og optimeringer som endnu ikke er kommet med i det officielle &Qt;. For at aktivere dem, sættes tilvalget &apply-qt-patches; til <userinput
>true</userinput
>. Efter ændringen er gjort, kan du behøve at køre <userinput
><command
></command
> <option
>--refresh-build</option
> <option
>qt-copy</option
></userinput
>. </para
></listitem>

</itemizedlist>

</sect2>

<sect2 id="kdesvn-build-std-flags">
<title
>Standardflag tilføjet af &kdesvn-build;</title>
<para
>For at spare tid, tilføjer &kdesvn-build; nogle standardsøgestier til miljøet for dig: </para>

<itemizedlist>
<listitem
><para
>Søgestien til &kde;- og &Qt;-bibliotekerne tilføjes automatisk i variablen <envar
>LD_LIBRARY_PATH</envar
>. Dette betyder at du ikke behøver redigere &libpath; for at inkludere dem. </para
></listitem>

<listitem
><para
>Søgestien til programmer for udviklingsunderstøttelse i &kde; og &Qt; tilføjes automatisk i variablen <envar
>PATH</envar
>. Det betyder at du ikke behøver redigere &binpath; for at inkludere dem. </para
></listitem>

<listitem
><para
>Søgestien til <application
>pkg-config</application
> som sørges for af &kde; tilføjes sutomatisk i variablen <envar
>PKG_CONFIG_PATH</envar
>. Det betyder at du ikke behøver at bruge &set-env; for at tilføje dem. </para
></listitem>

<listitem
><para
>Indstillingen af &kdedir; sendes automatisk videre til miljøvariablen <envar
>KDEDIR</envar
> under byggeprocessen.  (<envar
>KDEDIRS</envar
> påvirkes ikke). </para
></listitem>

<listitem
><para
>Indstillingen af &qtdir; sendes automatisk videre til miljøvariabelen <envar
>QTDIR</envar
> under byggeprocessen. </para
></listitem>

<listitem
><para
>&kdesvn-build; justerae automatisk miljøet efter behov for at tage hensyn til indstillingen af tilvalget &use-unsermake;. </para
></listitem>

</itemizedlist>

</sect2>

<sect2 id="build-priority">
<title
>Ændring af byggeprioritet i &kdesvn-build;.</title>
<para
>Programmer kan nu fortiden køre med forskellige prioritetsniveauer på operativsystemer, inklusive &Linux; og &BSD;. Dette tillader systemet at tildele tid for de forskellige programmer efter hvor vigtige de er. </para>

<para
>&kdesvn-build; tildeler normalt sig selv lav prioritet så resten af programmerne på systemet er upåvirkede og kan køre normalt. Ved at bruge denne teknik, bruger &kdesvn-build; ekstra processorkraft når den er tilgængelig. </para>

<para
>&kdesvn-build; beholder stadigvæk prioritetsniveauet højt nok så det kører inden rutinemæssige baggrundsprocesser og inden programmer som donerer processorkraft såsom <ulink url="http://setiathome.ssl.berkeley.edu/"
>Seti@Home</ulink
>. </para>

<para
>For at ændre &kdesvn-build; så det bruger et højere, eller lavere, prioritetsniveau permanent, skal du justere indstillingen af &niceness; i <link linkend="configure-data"
>indstillingsfilen</link
>. Tilvalget &niceness; styrer hvor <quote
>pæn</quote
> &kdesvn-build; er overfor andre programmer. Med andre ord, at have en højere &niceness; giver &kdesvn-build; lavere prioritet. Så for at give &kdesvn-build; en højere prioritet, reduceres &niceness; (og modsat). &niceness; kan gå fra 0 (ikke pæn over hovedet, højeste prioritet) til 20 (superpæn, laveste prioritet).</para>

<para
>Du kan også midlertidigt ændre prioritet for &kdesvn-build; ved at bruge &cmd-nice; &cmd-line-option;. Værdien af dette flag bruges nøjagtigt på samme måde som for &niceness;.</para>

<note
><para
>Det er muligt for visse programmer som køres af systemadministratoren at have en negativ nice-værdi, hvilket svarer til endnu højere prioritet for sådanne programmer. At angive en negativ &niceness; (eller til og med 0) for &kdesvn-build; er ikke en god idé, eftersom det ikke forbedrer køretiden nævneværdigt, men gør at maskinen virker meget sløv hvis du alligevel behøver at bruge den. </para
></note>

<informalexample>
<para
>For at køre &kdesvn-build; med nice-grad 15 (en lavere prioritet end normalt) skrives:</para>

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

<para
>Eller kan du redigere <link linkend="configure-data"
>indstillingsfilen</link
> for at gøre ændringen permanent:</para>

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

</informalexample>
</sect2>

<sect2 id="root-installation">
<title
>Installér som systemadministrator</title>
<para
>Du ønsker måske også at &kdesvn-build; skal køre installationen med rettigheder som systemadministrator. Dette kan gælde for systeminstallation, som ikke anbefales. Dette er imidlertid også nyttigt når den anbefalede installation som enkeltbruger af &kde; bruges. Det er fordi visse moduler (i særdeleshed kdebase) installerer programmer som midlertidigt behøver forhøjede rettigheder når de kører. De kan ikke opnå disse rettighedsniveauer hvis de ikke installeres med forhøjede rettigheder. </para>

<para
>Du kunne simpelthen køre &kdesvn-build; som systemadministrator direkte, men dette anbefales ikke, eftersom programmet ikke er gennemset for den slags brug. Selvom det bør være sikkert at køre programmet på denne måde, er det bedre at undgå at køre som systemadministrator når det er muligt.</para>

<para
>For at håndtere dette, sørger &kdesvn-build; for tilvalget &make-install-prefix;. Du kan bruge dette tilvalg til at angive en kommando som bruges til at udføre installationen som en anden bruger. Den anbefalede måde at bruge denne kommando er med programmet <application
>sudo</application
>, som kører installationskommandoen som systemadministrator. </para>

<informalexample>
<para
>For eksempel for at installere alle moduler ved at bruge <application
>sudo</application
>, skal du gøre noget i retning af:</para>

<screen
>global
  &make-install-prefix; <replaceable
>sudo</replaceable>
  # Øvrige tilvalg
end global
</screen>

<para
>For kun at bruge &make-install-prefix; for et enkelt modul, ville dette virke: </para>

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

</sect2>

<sect2 id="build-progress">
<title
>Vis fremgangen for en byggeproces af et modul.</title>
<para
>Denne funktion er altid tilgængelig, og automatisk aktiveret om muligt. Hvad den gør er at vise et estimeret byggeforløb mens et modul bygges, så på den måde ved du hvor meget længere det vil tage at bygge et modul. </para>

<para
>For at bruge denne funktionen skal tilvalget &use-unsermake; være aktiveret for modulet. Dette tilvalg er normalt aktiveret, men visse moduler understøtter ikke dette tilvalg, og de forhindres automatisk i at bruge unsermake. Hvis du tror at du har aktiveret unsermake, og alligevel ikke ser en fremgangsrapport når modulet bygges, kan det være muligt at modulet ikke understøtter unsermake.</para>
</sect2>

</sect1>

<sect1 id="advanced-features">
<title
>Avancerede funktioner</title>

<sect2 id="partial-builds">
<title
>Delvis bygning af et modul</title>
<para
>Det er muligt kun at bygge dele af et enkelt &kde;-modul. Du vil måske for eksempel kun kompilere et program fra et modul. &kdesvn-build; har funktioner som gør dette nemt. Der er flere komplementære måder at gøre dette. </para>

<sect3 id="checking-out-parts">
<title
>Tjek dele af et modul ud</title>

<para
>Dette er formodentlig den bedste måde at gøre dette. Når det virker sparer  det dig download-tid og diskplads. Det der sker er at &kdesvn-build; kun henter de dele af et modul som du angiver. Dette gøres med tilvalget &checkout-only; for modulet, som angiver en liste med mapper at hente. </para>

<tip
><para
>Hvis du ikke allerede ved hvad der skal hentes for et modul, kan det være en god ide først at bladre i Subversion-strukturen for et modul, ved at bruge <ulink url="http://websvn.kde.org/branches/KDE/3.5/"
>WebSVN</ulink
>. </para
></tip>

<informalexample>
<para
>For kun at hente &kuser; og &kdat; fra kdeadmin, kunne du bruge &checkout-only; sådan her:</para>

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

</informalexample>

<important
><para
>Mapperne bygges i den rækkefølge de listes i tilvalget. Hvis en af mapperne behøver noget andet fra modulet for at kunne kompileres, så skal du sikre dig om at de begge er med på linjen &checkout-only;, og at afhængigheder som kræves angives før mappen som behøver dem.</para>

<para
>Sommetider kan et program også behøve andre mapper og det er svært at regne ud hvilke de er, hvilket kan kræve et antal forsøg med stadige tilføjelser af mapper til tilvalget der skal regnes ud.</para>
</important>

<para
>En sidste bemærkning om dette tilvalg: Hvis du ændrer tilvalgets værdi skal du bruge <userinput
><command
>kdesvn-build</command
> <option
>&cmd-refresh-build;</option
> <option
><replaceable
>modul</replaceable
></option
></userinput
> for at sikre dig at modulet konfigureres om på rigtig vis. &kdesvn-build; fjerner aldrig bort eksisterende filer hvis du fjerner et antal mapper fra tilvalget &checkout-only;, eller tilføjer tilvalget for et modul som allerede er tjekket ud.</para>

</sect3>

<sect3 id="not-compiling">
<title
>Fjern mapper fra en bygning</title>
<para
>I stedet for at begrænse det der hentes, er det muligt at hente alt men lade byggesystemet udelade et antal mapper når byggeprocessen udføres. Dette kan være nyttigt hvis en mappe hele tiden giver fejl og er unødvendig for resten af modulet. </para>

<para
>Dette kontrolleres med tilvalget &do-not-compile;. Det virker på lignende måde som &checkout-only; som netop er beskrevet, på den måde at det blot er en liste med mapper som ikke skal kompileres.</para>

<important
><para
>Også ligesom &checkout-only; kræver dette tilvalg mindst at scriptet <command
>configure</command
> køres igen for modulet efter det er ændret. Dette gøres med kommandoen <userinput
><command
>kdesvn-build</command
> <option
>&cmd-reconfigure;</option
> <option
><replaceable
>modul</replaceable
></option
></userinput
>. </para
></important>

<informalexample>
<para
>For at fjerne mappen dcoppython fra byggeprocessen for kdebindings:</para>

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

</sect3>

<sect3 id="limiting-using-inst-apps">
<title
>Kompilér nogle få mapper fra et fuldstændigt modul</title>

<para
>Du kan bruge tilvalget &inst-apps; for at angive at kun nogle få mapper i et helt modul skal bygges (men hele modulet hentes stadigvæk). </para>

<para
>Dette tilvalg er som kombinationen af &checkout-only; og &do-not-compile;: det henter hele modulet som &do-not-compile;, men kompilerer kun mapperne du angiver, som &checkout-only;. På grund af dette er det oftest bedre blot at bruge &checkout-only; i stedet. </para>

<para
>Samme advarsler gælder som for de to øvrige valgmuligheder. Du skal rekonfigurere modulet hvis du ændrer værdi på &inst-apps;. </para>
</sect3>

</sect2>

<sect2 id="using-unsermake">
<title
>Brugen af &unsermake;</title>

<para
><application
>unsermake</application
> er et program som er konstrueret til at kobles ind i KDE's byggesystem og forbedre byggeprocessen ved at erstatte visse af værktøjerne som normalt bruges (inklusive <application
>automake</application
> og <application
>make</application
>). Det er især nyttigt for dem som udfører distribuerede kompileringer, eftersom det er meget hurtigere end det normale byggesystem i den situationen. Imidlertid er unsermake også hurtigere end konkurrenterne også når man bygger med en enkelt maskine. </para>

<para
>Desuden indeholder unsermake understøttelse for at estimere fremgangen af byggeprocessen som er i gang. &kdesvn-build; drager fordel af dette til at sørge for en byggefremgangsindikator ved kompilering. Se også <xref linkend="build-progress"/>. </para>

<para
>&kdesvn-build; sørger automatisk for understøttelse for at bruge <application
>unsermake</application
>. &kdesvn-build; bruger som standard <application
>unsermake</application
> når det er muligt at bruge med et modul. </para>

<informalexample>
<para
>For at deaktivere understøttelse for <application
>unsermake</application
> i alle moduler, gøres følgende:</para>

<screen
>global
  use-unsermake false
end global
</screen>

<para
>For at aktivere understøttelse for <application
>unsermake</application
> for et enkelt modul, også selvom det er globalt deaktiveret, gøres følgende:</para>

<screen
>module <replaceable
>modulnavn</replaceable>
  use-unsermake true

  # øvrige tilvalg angives her...
end module
</screen>
</informalexample>

<note
><para
>&kdesvn-build; opdaterer automatisk eller tjekker ud <application
>unsermake</application
> ud når øvrige opdateringer udføres. Hvis du foretrækker at håndtere <application
>unsermake</application
> selv, er det muligt at gøre dette ved at indstille værdien for &use-unsermake; til <symbol
>self</symbol
> i stedet for <symbol
>true</symbol
>.</para>

<para
>Når dette er gjort, forsøger &kdesvn-build; stadigvæk at bruge <application
>unsermake</application
>, men udfører ikke opdateringer. Du kan enten ændre &binpath; til at pege på den rigtige unsermake-mappe, eller tjekke ud og opdatere <application
>unsermake</application
> selv fra dets modul (for øjeblikket kdenonbeta/unsermake). </para
></note>

</sect2>

<sect2 id="using-branches">
<title
>Støtte for grene og mærker i &kdesvn-build;</title>

<sect3 id="branches-and-tags">
<title
>Hvad er grene og mærker?</title>

<para
>&svn; understøtter håndtering af historik for &kde;'s kildekode. &kde; bruger denne støtte til at oprette grene for udvikling, og at give arkivet et mærke af og til med udgivelsen af en ny version. </para>

<para
>For eksempel kan udviklerne af &kmail; arbejde med en ny funktion i en anden gren for at undgå at forstyrre den version som bruges af de fleste udviklere. Denne gren har udvikling i gang, samtidigt som hovedgrenen (som kaldes /trunk) kan have udvikling i gang. </para>

<para
>Et mærke er på den anden side et øjebliksbillede af kildekodearkivet på et bestemt tidspunkt. Dette bruges af &kde;'s administrationsgruppe til at markere en version af koden som er passende til en udgivelse og stadigvæk tillade at udviklere arbejder med koden. </para>

<para
>Der er ingen forskel i koden mellem grene, mærker eller hovedgrenen i &svn;. Det er kun en konvention som bruges af udviklerne. Dette gør det svært at støtte grene og mærker i &kdesvn-build; på en god måde. Der er dog nogle ting som kan gøres. </para>

</sect3>

<sect3 id="branch-support">
<title
>Hvordan man bruger grene og mærker</title>

<para
>Støtte for grene og mærker håndteres med et sæt tilvalg, som rækker fra en generel forespørgsel om en version, til en specifik URL at hente for avancerede brugere. </para>

<para
>Den enkleste metode er at bruge valgmulighederne &branch; og &tag;. Du bruger helt enkelt dette tilvalg sammen med navnet på den ønskede gren eller mærket for et modul, så forsøger &kdesvn-build; at afgøre et passende sted i &kde;'s arkiv at hente ned fra. For de fleste moduler i &kde; virker dette meget godt.</para>

<informalexample>
<para
>For at hente kdelibs fra &kde; 3.5 (som simpelthen er kendt som grenen 3.5): </para>

<screen
>module kdelibs
  branch <replaceable
>3.5</replaceable>
  # øvrige tilvalg...
end module
</screen>

<para
>Eller, for at hente kdemultimedia som det var da det blev udgivet med &kde; 3.4.3:</para>

<screen
>module kdemultimedia
  tag <replaceable
>3.4.3</replaceable>
  # øvrige tilvalg...
end module
</screen>

</informalexample>

<tip
><para
>Du kan indstille en global grenværdi, men hvis du gør det, så glem ikke at angive en anden gren for moduler som ikke skal bruge den globale gren. </para
></tip>
</sect3>

<sect3 id="advanced-branches">
<title
>Støtte for avancerede grentilvalg</title>

<para
>&kdesvn-build; understøtter to tilvalg i situationer hvor &branch; og &tag; gætter forkert angående den rigtige søgesti: &module-base-path; og &override-url; </para>

<itemizedlist>
<listitem
><para
>Tilvalget module-base-path bruges for at hjælpe &kdesvn-build; med at udfylde de  manglende dele af modulets søgesti. I &kde;'s arkiv er alle søgestier af formen svnRoot/modul-bassøgesti/modulnavn. Normalt kan &kdesvn-build; regne den passende del i midten ud selv. Når dette ikke går, kan du bruge module-base-path sådan her: </para>

<informalexample>
<screen
>module qt-copy
  # gren virker ikke her endnu
  module-base-path branches/qt/3.3
end module
</screen>

<para
>Dette skulle gøre at &kdesvn-build; henter qt-copy fra (i dette eksempel) svn://anonsvn.kde.org/home/kde/<replaceable
>branches/qt/3.3</replaceable
>/qt-copy </para>
</informalexample>
</listitem>

<listitem
><para
>Tilvalget override-url kræver på den anden side at du angiver den nøjagtige søgesti at hente fra. Dette tillader dig imidlertid at hente fra søgestier som &kdesvn-build; ikke ville have nogen mulighed for at hente fra. </para>

<informalexample>
<screen
>module qt-copy
  # Angiv nøjagtig søgesti at hente.
  override-url svn://anonsvn.kde.org/home/kde/branches/qt/3.3/qt-copy
end module
</screen>
</informalexample>

<important
><para
>&kdesvn-build; rører ikke eller korrigerer værdien som du angiver for override-url i det hele taget, så hvis du ændrer indstillingen &svn-server;, kan du også behøve at opdatere dette. </para
></important>

</listitem>
</itemizedlist>

</sect3>

</sect2>

<sect2 id="building-successfully">
<title
>Hvordan &kdesvn-build; forsøger at sikre sig at en byggeproces lykkes.</title>

<sect3 id="automatic-rebuilds">
<title
>Automatisk genbygget</title>

<para
>På grund af diverse problemer med &kde;'s byggesystem, hvor visse mildnes ved at bruge unsermake, udfører &kdesvn-build; automatisk en serie skridt for automatisk at forsøge at få et modul til at genbygge hvis det mislykkes.</para>

<orderedlist>
<listitem
><para
>Ved første mislykkede forsøg, kører &kdesvn-build; simpelthen kommandoen <command
>make</command
> igen. Tro det eller ej, men dette virker virkelig sommetider, og mislykkes i øvrigt hurtigt hvis dette ikke virker. </para
></listitem>

<listitem
><para
>Ved andet mislykkede forsøg, prøver &kdesvn-build; at rekonfigurere modulet og derefter bygge det igen. Det fanger ofte situationer hvor ændring af en byggesystemfil kræver rekonfigurering men byggesystemet ikke udførte dette skridt automatisk. </para>

<para
>Modulets byggemappe efterlades intakt i dette skridt, så udover indstillingsskridtet, mislykkes dette også hurtigt hvis byggeprocessen ikke kan gennemføres. </para>
</listitem>

<listitem
><para
>Hvis modulet alligevel mislykkes at bygges, giver &kdesvn-build; op og går videre med næste modul. Der er imidlertid ting du kan gøre for at <link linkend="manual-rebuilds"
>forsøge at få modulet til at bygges manuelt</link
>. </para
></listitem>
</orderedlist>

<note
><para
>&kdesvn-build; detekterer de fleste tilfælde hvor byggesystemet behøver at omkonfigureres og laver automatisk omkonfigurering i disse tilfælde. </para>

<para
>Desuden, hvis &kdesvn-build; bygger modulet første gang, springes alle disse skridt over, eftersom en ren ombygning sædvanligvis ikke mislykkes undtagen hvis der er en virkelig fejl.</para>
</note>
</sect3>

<sect3 id="manual-rebuilds">
<title
>Byg et modul om manuelt</title>
<para
>Hvis du laver en ændring i et moduls indstillingstilvalg, eller hvis modulets kildekode ændres på en måde som &kdesvn-build; ikke genkender, kan du behøve at bygge modulet om manuelt.</para>

<para
>Du kan gøre dette ved simpelthen at køre <userinput
><command
>kdesvn-build</command
> <option
>--refresh-build</option
> <option
><replaceable
>modul</replaceable
></option
></userinput
> </para>

<para
>Hvis du vil at &kdesvn-build; i stedet automatisk bygger modulet om under næste normale byggeopdatering, kan du oprette en særlig fil. Hvert modul har en byggemappe. Hvis du laver en fil som hedder <filename
>.refresh-me</filename
> i et moduls byggemappe, bygger &kdesvn-build; modulet om næste gang byggeprocessen sker, også selvom det normalt ville udføre den hurtigere inkrementelle byggeproces.</para>

<tip>
<para
>Som standard er byggemappen <filename
>~/kdesvn/build/<replaceable
>modul</replaceable
>/</filename
>. Hvis du ændrer indstilling af tilvalget &build-dir;, bruges det i stedet for <filename
>~/kdesvn/build</filename
>.</para>
</tip>

<informalexample>
<para
>Byg om med <filename
>.refresh-me</filename
> for modulet <replaceable
>arts</replaceable
></para>
<screen
><prompt
>%</prompt
> <userinput
><command
>touch</command
> <filename
>~/kdesvn/build/<replaceable
>arts</replaceable
></filename
></userinput>
<prompt
>%</prompt
> <userinput
><command
>kdesvn-build</command
></userinput
>
</screen>
</informalexample>
</sect3>

<sect3 id="controlling-rebuild-behavior">
<title
>Kontrollér ombygningsopførsel</title>
<para
>Du ønsker måske ikke at &kdesvn-build; altid skal forsøge at bygge et modul om. Du kan deaktivere denne opførsel permanent ved at ændre tilvalget &no-rebuild-on-fail; til værdien <userinput
>true</userinput
>.</para>

<para
>Du kan midlertidigt deaktivere denne opførsel (for en kommando) ved at bruge kommandolinjeflaget &cmd-no-rebuild-on-fail;.</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
>Ændr indstilling af miljøvariabler.</title>
<para
>&kdesvn-build; læser ikke miljøet fra kaldet som den store majoritet af programmer gør. I stedet bruger det indstillingerne som læses fra <link linkend="configure-data"
>indstillingsfilen</link
> til at oprette miljøet. Dette gøres i hovedsagen for at sikre sig at når du bygger et modul, kan byggeprocessen gentages. Med andre ord, kan &kdesvn-build; bygge et modul også selvom du har glemt hvad du indstillede miljøvariablerne til i skallen du kører &kdesvn-build; fra.</para>

<para
>Imidlertid kan du ville ændre indstilling af miljøvariabler som &kdesvn-build; ikke direkte sørger for et tilvalg for. Dette er muligt med tilvalget &set-env;.</para>

<para
>I modsætning til de fleste tilvalg kan dette angives flere gange, og accepterer to værdier, adskilte med mellemrum. Den første er navnet på miljøvariablen som skal sættes, og resten af linjen er dens værdi.</para>

<informalexample>
<para
>Indstil DISTRO=BSD for alle moduler:</para>
<screen
>global
  set-env <replaceable
>DISTRO</replaceable
> <replaceable
>BSD</replaceable>
end global  
</screen>
</informalexample>

</sect2>

<sect2 id="resuming">
<title
>Genoptag byggeprocesser</title>

<sect3 id="resuming-failed">
<title
>Genoptag en mislykket eller afbrudt byggeproces</title>

<para
>Du kan bede &kdesvn-build; om at begynde at bygge fra et andet modul end det normalt ville gøre. Dette kan være nyttigt når et sæt moduler mislykkedes, eller hvis du afbrød en kørsel i midten. Du kan kontrollere dette med flaget &cmd-resume-from;.</para>

<note
><para
>Ved at bruge &cmd-resume-from; springes opdatering af kildekode over.</para>
</note>

<informalexample>
<para
>Genoptag byggeprocessen med begyndelsen af kdebase.</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
>Ignorér moduler i en byggeprocess</title>

<para
>På samme måde som du kan <link linkend="resuming-failed"
>genoptage byggeprocessen fra et modul</link
>, kan du i stedet vælge at opdatere og bygge normalt, men ignorere et sæt moduler.</para>

<para
>Du kan gøre dette med flaget &cmd-ignore-modules;. Dette beder &kdesvn-build; om at ignorere alle følgende moduler på kommandolinjen når en opdatering og byggeproces udføres.</para>

<informalexample>
<para
>Ignorér extragear/multimedia og kdenonbeta under en fuldstændig kørsel.</para>
<screen
><prompt
>%</prompt
> <userinput
><command
>kdesvn-build</command
> <option
>--ignore-modules</option
> <replaceable
>extragear/multimedia kdenonbeta</replaceable
></userinput
>
</screen>
</informalexample>

</sect3>
</sect2>

<sect2 id="changing-env-from-cmd-line">
<title
>Ændr tilvalg fra kommandolinjen</title>

<sect3 id="changing-global-opts">
<title
>Ændr globale tilvalg</title>
<para
>Du kan ændre måden som tilvalg som læses fra <link linkend="configure-data"
>indstillingsfilen</link
> direkte fra kommandolinjen. Denne ændring sætter indstillingen i filen ud af kraft, men er kun midlertidig. Den gælder kun så længe den stadigvæk er til stede på kommandolinjen.</para>

<para
>&kdesvn-build; tillader dig at ændre tilvalg navngivne som <replaceable
>tilvalgsnavne</replaceable
> ved at angive et flag på kommandolinjen på formen <option
>--<replaceable
>tilvalgsnavn</replaceable
>=værdi</option
>. &kdesvn-build; genkender om det ikke ved hvad dette tilvalg er, og søger efter navnet i sin liste med tilvalgsnavne. Hvis det ikke genkender navnet, får du en advarsel, ellers husker det  værdien du indstillede det til og sætter en eventuel indstilling fra indstillingsfilen ud af kraft.</para>

<informalexample>
<para
>Indstil tilvalget &source-dir; til <filename
>/dev/null</filename
> for test.</para>

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

<para
>Deaktivering af unsermake fra kommandolinjen. --refresh-build bruges for at tvinge til at ændringen af unsermake får virkning.</para>

<screen
><prompt
>%</prompt
> <userinput
><command
>kdesvn-build</command
> <option
>--pretend</option
> <option
>--refresh-build</option
> <option
>--<replaceable
>use-unsermake</replaceable
>=<replaceable
>false</replaceable
></option
></userinput
>
</screen>

</informalexample>

</sect3>

<sect3 id="changing-module-opts">
<title
>Ændr modultilvalg</title>
<para
>Det er også muligt kun at ændre tilvalg for et bestemt modul. Syntaksen er lignende: --<replaceable
>modul</replaceable
>,<replaceable
>tilvalgsnavn</replaceable
>=<replaceable
>værdi</replaceable
>. </para>

<para
>Ændringen sætter eventuel duplikeret indstilling for modulet som findes i <link linkend="configure-data"
>indstillingsfilen</link
> ud af kraft, og gælder kun når tilvalget sendes med på kommandolinjen.</para>

<informalexample>
<para
>Brug en anden byggemappe for modulet kdeedu:</para>

<screen
><prompt
>%</prompt
> <userinput
><command
>kdesvn-build</command
> <option
>--<replaceable
>kdeedu</replaceable
>,<replaceable
>byggemappe</replaceable
>=<replaceable
>temporær-byg</replaceable
></option
></userinput
>
</screen>

</informalexample>

</sect3>

</sect2>

</sect1>

<sect1 id="developer-features">
<title
>Funktioner for &kde;-udviklere</title>

<sect2 id="building-apidox">
<title
>Byg dokumentation af programmeringsgrænseflade</title>
<para
>&kdesvn-build; kan automatisk installere yderligere dokumentation som laves fra kildekoden i et modul. Dette virker kun for visse moduler, og er kun nyttigt for udviklere af &kde;.</para>

<important>
<para
>Denne funktion virker ikke for moduler som bygges med byggesystemet <link linkend="using-unsermake"
>unsermake</link
>. Eftersom dette er standardbyggesystemet for moduler som kan bruge unsermake, skal du deaktivere understøttelse for unsermake. Se <link linkend="example-apidox"
>eksemplet nedenfor</link
> for mere information. </para>
</important>

<para
>For at aktivere dette, sæt blot tilvalget &apidox; til true i <link linkend="configure-data"
>indstillingsfilen</link
> for modulet hvor du vil have dokumentation. Ikke alle moduler har dokumentation. Moduler som har det omfatter kdelibs, kdebase og kdepim. </para>

<note>
<para
>Hvis du har adgang til internettet, er der også dokumentation af programmeringsgrænsefladen for &kde; direkte. Du kan bruge genvejen <quote
>kde:<replaceable
>className</replaceable
></quote
> i Konqueror. </para>

<para
>Du kan også besøge netstedet for &kde;'s dokumentation på <ulink url="http://www.englishbreakfastnetwork.org/apidocs/"
>English Breakfast Network</ulink
>. </para>

<para
>Endelig er det muligt at hente dokumentationen på arkiveret form fra <ulink url="http://developer.kde.org/documentation/library/libraryref.php"
>&kde; Developer's Corner</ulink
>. Klik på versionen af &kde; som du vil have dokumenteret, og derefter kan du hente en kopi til at bruge i nedkoblet tilstand for det modul du vil. </para>
</note>

<informalexample id="example-apidox">
<para
>Installér dokumentation af programmeringsgrænseflade for kdelibs.</para>

<screen
>module kdelibs
  use-unsermake false    # unsermake kan ikke bygge apidox
  apidox        true     # byg og installeér apidox
end module
</screen>
</informalexample>

</sect2>

<sect2 id="ssh-agent-reminder">
<title
>Kontrol af SSH-agent</title>
<para
>&kdesvn-build; kan sikre sig at &kde;-udviklere som bruger &ssh; til at komme til &kde;'s kildekodearkiv ikke ved en fejl glemmer at lade værktøjet &ssh;-agent være aktiveret. Det kan forårsage at &kdesvn-build; hænger for altid mens det venter på at udvikleren skal indtaste kodeordet for <acronym
>SSH</acronym
>, så normalt kontrollerer &kdesvn-build; at agenten kører inden det udfører opdateringer af kildekoden. </para>

<note
><para
>Dette gøres kun for &kde;-udviklere som bruger &ssh;. Dette skyldes at intet kodeord kræves for den almindelige anonyme udtjekning. &svn; håndterer kodeord for den anden mulige protokol for KDE-udviklere, https. </para
></note>

<para
>Du vil måske deaktivere kontrollen af &ssh;-agenten, i situationer hvor &kdesvn-build; detekterer tilstedeværelsen af en agent ved en fejl. For at deaktivere kontrol af agenten, sættes tilvalget <option
>disable-agent-check</option
> til <userinput
>true</userinput
>.</para>

<informalexample>
<para
>Deaktivér &ssh;-agentkontrol</para>
<screen
>global
  disable-agent-check <userinput
><replaceable
>true</replaceable
></userinput>
end global
</screen>
</informalexample>

</sect2>

</sect1>

<sect1 id="other-features">
<title
>Andre funktioner i &kdesvn-build;</title>

<sect2 id="changing-verbosity">
<title
>Ændr mængden af uddata fra &kdesvn-build;</title>
<para
>&kdesvn-build; har flere flag til at styre mængden uddata som scriptet laver. Under alle omstændigheder, kommer fejl altid til at blive vist.</para>

<itemizedlist>
<listitem
><para
>Flaget <option
>--quiet</option
> (den korte form er <option
>-q</option
>) gør at &kdesvn-build; i hovedsage er tavs. Kun vigtige meddelelser, advarsler eller fejl vises. Hvis det er tilgængeligt vises stadigvæk fremgangsinformation for byggeprocessen.</para
></listitem>

<listitem
><para
>Flaget <option
>--really-quiet</option
> (ingen kort form) gør at &kdesvn-build; kun viser vigtige advarsler eller fejl når det kører.</para
></listitem>

<listitem
><para
>Flaget <option
>--verbose</option
> (den korte form er <option
>-v</option
>) gør at &kdesvn-build; er meget detaljeret i uddata.</para
></listitem>

<listitem
><para
>Flaget <option
>--debug</option
> er kun til for fejlsøgningsformål. Det gør at &kdesvn-build; opfører sig som om <option
>--verbose</option
> er aktiveret, gør også at kommandoerne vises på terminalen, og viser fejlsøgningsinformation for mange funktioner.</para
></listitem>
</itemizedlist>

</sect2>

<sect2 id="kdesvn-build-color">
<title
>Farveuddata</title>
<para
>Når &kdesvn-build; køres fra &konsole; eller en anden terminal, vises normalt farvelagt tekst.</para>

<para
>Du kan deaktivere dette ved at bruge flaget <option
>--no-color</option
> på kommandolinjen, eller indstille tilvalget &colorful-output; i <link linkend="configure-data"
>indstillingsfilen</link
> til <userinput
>false</userinput
>. </para>

<informalexample>
<para
>Deaktivér farveuddata i indstillingsfilen</para>
<screen
>global
  colorful-output <userinput
><replaceable
>false</replaceable
></userinput>
end global
</screen>
</informalexample>

</sect2>

<sect2 id="email-reports">
<title
>Send e-mail med rapporter om en mislykket byggeproces</title>
<para
>&kdesvn-build; kan sende en rapport via e-mail til en e-mail-adresse du vælger, når et modul mislykkes at bygge af en eller anden grund. Måden dette virker på er at du vælger en e-mail-adresse som &kdesvn-build; sender fra, og en e-mail-adresse at underrette når en fejl opstår.</para>

<para
>&kdesvn-build; laver så et brev hvis der var et modul som det mislykkedes at bygge, i slutningen af en fuldstændig kørsel. Brevet vil indeholde en forkortet fejllog for hvert modul. Kun et brev sendes for hver kørsel, også selvom 15 moduler mislykkedes at bygges. </para>

<para
>Denne funktion er ikke normalt aktiveret. For at aktivere den, skal du angive begge valgmuligheder &email-address; og &email-on-compile-error;. Tilvalget <option
>email-address</option
> kontrollerer adressen som &kdesvn-build; sender fra, og <option
>email-on-compile-error</option
> kontrollerer hvor brevet skal sendes hen. </para>

<tip>
<para
>&kdesvn-build; bruger standardmodulet Mail::Mailer i Perl til at sende e-mail. Det indgår i Perl 5.8, og kan installeres med Perl 5.6. Mail::Mailer understøtter <application
>Sendmail</application
> (inklusive e-mail-programmer som virker sammen med <application
>Sendmail</application
>), indbygget overførsel med <acronym
>SMTP</acronym
>, og <application
>qmail</application
> </para>
</tip>

<informalexample>
<para
>Send e-mail fra byg@eksempel.dk til resultat@eksempel.dk ved byggefejl.</para>

<screen
>global
  email-address          byg@eksempel.dk    # Fra: adresse for al kdesvn-build e-mail
  email-on-compile-error resultat@eksempel.dk    # Til: adresse for e-mail hvis mislykkedes at bygge
end global
</screen>
</informalexample>

</sect2>

<sect2 id="deleting-build-dir">
<title
>Fjern unødige mapper efter en byggeproces</title>
<para
>Har du kun lidt diskplads men vil alligevel køre den allerseneste udtjekning af &kde;? &kdesvn-build; kan hjælpe dig med at reducere diskbrug mens du bygger &kde; fra &svn;.</para>

<note
><para
>Vær klar over at der går meget plads til for at bygge &kde;. Der er flere store dele som bruger plads når &kdesvn-build; bruges:</para
></note>

<orderedlist>
<listitem
><para
>Selve udtjekningen af kildekoden kan optage en masse plads. Standardmodulerne optager cirka 1.6 Gbyte diskplads. Du kan reducere denne mængde ved at sikre dig t du kun bygger så mange moduler som du virkelig vil have. &kdesvn-build; fjerner ikke kildekode fra disken selvom du fjerner indgangen fra <link linkend="configure-data"
>indstillingsfilen</link
>, så sørg for om at du fjerner ubrugte udtjekninger i kildekodemappen. Bemærk at kildekodefilerne hentes fra internettet, og du <emphasis
>bør ikke</emphasis
> fjerne dem hvis du faktisk bruger dem, i det mindste indtil du er færdig med at bruge &kdesvn-build;.</para>

<para
>Hvis du desuden har installeret &Qt; fra distributionen (og chancen er stor for at du har det), behøver du formodentlig ikke at installere modulet qt-copy. Dette barberer omkring 200 Mbyte væk fra kildekodestørrelsen på disk.</para>

<para
>En ting at observere er at på grund af måden som &svn; fungerer, er der i virkeligheden to filer på disken for hver fil som tjekkes ud fra arkivet. &kdesvn-build; har for øjeblikket ikke kode til at forsøge at minimere kildekodestørrelsen når kildekoden ikke bruges. </para>
</listitem>

<listitem>
<para
>&kdesvn-build; laver en separat byggemappe til at bygge kildekoden. Sommetider må &kdesvn-build; kopiere en kildekodemappe for at oprette en falsk byggemappe. Når dette sker, bruges pladsbesparende symbolske link, så der skulle ikke være noget besvær med diskplads. Byggemappen er typisk meget større end et moduls kildekodemappe. Byggemappen for kdebase er for eksempel omkring 455 Mbyte, mens kildekoden for kdebase kun er omkring 195 Mbyte.</para>

<para
>Heldigvis kræves byggemappen ikke efter et modul er bygget og installeret med godt resultat. &kdesvn-build; kan automatisk fjerne byggemappen efter et modul er installeret. Se eksemplerne nedenfor for mere information. Bemærk at ved at udføre dette skridt, bliver det umuligt for &kdesvn-build; at udføre tidsbesparende inkrementelle byggeprocesser.</para>
</listitem>

<listitem
><para
>Endelig kræves diskplads for selve installationen af &kde;, som ikke køres fra byggemappen. Dette optager typisk mindre plads end byggemappen. Det er dog sværere at få nøjagtige tal frem. </para
></listitem>
</orderedlist>

<para
>Hvordan reducerer man pladsskravene for &kde;? En måde er at bruge rigtige oversætterflag for at optimere for reducering af plads i stedet for hastighed. Et anden måde, som kan have stor effekt, er at fjerne fejlsøgningsinformation fra det færdigbyggede &kde;. </para>

<warning
><para
>Du bør være meget sikker på at du ved hvad du gør inden du bestemmer dig for at fjerne fejlsøgningsinformation. At køre det allerseneste programmel betyder at du kører programmel som potentielt har meget større sandsynlighed for at bryde sammen end stabile udgaver. Hvis du kører programmel uden fejlsøgningsinformation kan det være meget svært at lave en god fejlrapport for at få problemet løst, og du skal formodentlig aktivere fejlsøgning igen for programmet som påvirkes og bygge om for at hjælpe en udvikler til at rette sammenbruddet. Så fjern fejlsøgningsinformation på egen risiko! </para
></warning>

<informalexample>
<para
>Fjern byggemappen efter et modul er installeret. Kildekoden beholdes stadigvæk, og fejlsøgning er aktiveret.</para>

<screen
>global
  configure-flags      --enable-debug
  remove-after-install builddir        # Fjern byggemappe efter installation
end global
</screen>

<para
>Fjern bygegmappen efter installation, uden fejlsøgningsinformation, med størrelsesoptimering.</para>

<screen
>global
  cxxflags             -Os             # Optimér for størrelse
  configure-flags      --disable-debug
  remove-after-install builddir        # Fjern byggemappe efter installation
end global
</screen>
</informalexample>
</sect2>

</sect1>

</chapter>

<chapter id="kde-cmake">
<title
>CMake, byggesystemet for KDE 4.</title>

<sect1 id="kde-cmake-intro">
<title
>Introduktion til CMake</title>

<para
>I marts 2006, slog programmet <ulink url="http://www.cmake.org/"
><application
>CMake</application
></ulink
> flere konkurrenter ud og blev valgt som byggesystem for &kde; 4, og erstatter systemet baseret på autotools som &kde; har brugt fra begyndelsen.</para>

<para
>En side med en introduktion til CMake er tilgængelig på <ulink url="http://wiki.kde.org/tiki-index.php?page=KDECMakeIntro"
>KDE's wiki</ulink
>. I stedet for at køre make -f Makefile.cvs, derefter configure og tilsidst  unsermake (eller make), kør vi helt enkelt cmake og derefter make. </para>

<para
>&kdesvn-build; har initial understøttelse for CMake. Nogle få funktioner i &kdesvn-build; var i virkeligheden funktioner i det underliggende byggesystem, inklusive <link linkend="conf-inst-apps"
>inst-apps</link
>, <link linkend="conf-configure-flags"
>configure-flags</link
> og <link linkend="conf-do-not-compile"
>do-not-compile</link
>. Når de tilsvarende funktioner er tilgængelige, sørges der for dem. Det der svarer til  tilvalget configure-flags er for eksempel <link linkend="conf-cmake-options"
>cmake-options</link
>. </para>

<para
>For visse tilvalg såsom inst-apps eller do-not-compile er der dog ingen direkte ækvivalente, så de er deaktiverede. Hvis jeg skulle finde en måde at implementere dem med CMake kommer jeg til at gøre det og aktivere disse valgmuligheder igen. Imidlertid fungerer stort set alting på samme måde.</para>

<para
>Hele KDE er ikke overført til CMake for øjeblikket. For eksempel er tilvalget <link linkend="conf-apidox"
>apidox</link
> ganske unyttigt indtil den tilsvarende infrastruktur er færdig. Jeg har forsøgt at advare mod sådanne ting, men alle fejl fanges måske ikke af &kdesvn-build; endnu.</para>

</sect1>
</chapter>

<chapter id="credits-and-licenses">
<title
>Medvirkende og licens</title>
&underFDL; </chapter>

</book>
