# Håndbog for scriptet &kdesvn-build;

Michael Pyne

    michael.pyne@kdemail.net

Carlos Woelz

    carloswoelz@imap-mail.com

&erik.kjaer.pedersen.role;
2005 Michael Pyne
2005 Carlos Woelz
&FDLNotice;
2005-06-18
0.98

&kdesvn-build; er et Perl-script som bygger og installerer &kde;, direkte fra kildekoden som hentes fra &kde;'s &svn;-arkiv.

KDE kdesdk SVN Subversion KDE-udvikling

## Indledning

&kdesvn-build; er et Perl-script som hjælper brugere at installere &kde; fra &svn;. Du vil måske også overveje bruge scriptet kde-build, som er inkluderet i &kde;'s kdesdk-modul.

Her dokumenterer vi syntaksen for &kdesvn-build;'s indstillingsfiler, dets kommandolinjeflag, funktioner og en oversigt 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;.

## Sådan kommer vi i gang

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.

Alle emner som præsenteres i dette kapitel dækkes med endnu flere detaljer i guiden Building &kde; from Source Step by Step Guide på hjemmesiden for &kde;'s kvalitetsgruppe. 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.

### Forbered systemet til at bygge &kde;

Du anbefales at hente og bygge &kde; med en 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.

Senere kan du installere som systemadministrator hvis du vil. Dette dokument dækker ikke en installation som systemadministrator. Hvis du udfører en systeminstallation, véd du formodentlig alligevel hvad du fortager dig.

Inden du bruger scriptet &kdesvn-build; (eller en anden byggestrategi) skal du installere udviklingsværktøjer og biblioteker som behøves for &kde;. Du behøver Qt-biblioteket, version 3.3.0 eller senere, Automake 1.8, Autoconf 2.5X (bedre med >= 2.57 eftersom en fejl rapporteredes med tidligere versioner), subversion-klienten (svn), gcc-oversætteren med understøttelse for C++, libxml2, openssl, libbz2 og mange flere (for en fuldstændig liste, besøg KDE kompileringskrav). Du kan oftest få værktøjerne pakkede for dit system fra din distribution eller leverandør.

Visse af pakkerne er opdelte i biblioteker, 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 Building &kde; from Source Step by Step har flere detaljer om specifikke værktøjer og tekniker som bruges til at installere og finde programmellet som kræves.

Du har formodentlig allerede en version af scriptet &kdesvn-build; installeret på dit system. &kdesvn-build; kræver at du laver en indstillingsfil, som hedder `.kdesvn-buildrc`. Filen skal installeres i hjemmemappen (~/), og indeholde alle indstillingsdata som kræves for at scriptet skal kunne køres, såsom indstillingstilvalg, kompileringsflag, plads for kildekoden, målet for installationen (præfix), modulerne som skal bygges, osv. Der sørges for standardindstillingsdata i filen `kdesvn-buildrc-sample`. Du finder mere information om indstillingsfilens syntaks i og i .

En god måde at hente seneste version er at gå til siden kdesdk/scripts på websvn.kde.org. Du ser en liste med filer tilgængelige i mappen kdesdk/scripts i &kde;:s &svn;-arkiv. Klik på linket &kdesvn-build; og hent seneste version af scriptet. Gør det samme med filen `kdesvn-buildrc-sample`. Gør scriptet kørbart, og sørg for at der er i din søgesti.

### Angiv indstillingsinformation

For at bruge scriptet skal du have en fil i din hjemmemappe som hedder `.kdesvn-buildrc`, som indstiller generelle tilvalg og angiver modulerne som du vil hente og bygge.

Brug filen `kdesvn-buildrc-sample` som en skabelon, for at indstille globale tilvalg og modulerne du vil bygge.

Vælg serveren som skal bruges til at tjekke ud fra &svn; ved at indstille det globale tilvalg for svn-server. Det anonyme &svn;-arkiv svn://anonsvn.kde.org/ er standard, men lav det om du har en &kde; &svn;-konto, eller hvis der er et spejl tæt ved dig.

Vær særlig opmærksom på de globale variabler kdedir og qtdir, eftersom den første angiver hvor det byggede &kde; skal installeres (normalt i `~/kde`), og den anden hvor (og om) Qt-biblioteket skal bygges og installeres (normalt `~/kdesvn/build/qt-copy`). Du skal kende stederne for kdedir og qtdir senere, for at indstille miljøvariablerne som er nødvendige for at køre den nye installationen. Kontrollér om de listede moduler virkeligheden er modulerne som du vil bygge. Standardvalgmulighederne i filen `kdesvn-buildrc-sample` bør være tilstrækkelige for at få en nogenlunde komplet installation af &kde;. Gem resultatet som `.kdesvn-buildrc` i din hjemmemappe.

Hvis du vil finjustere `.kdesvn-buildrc`, kig så på for detaljeret information om alle indstillingstilvalg.

### At bruge scriptet &kdesvn-build;

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:

    %su - udviklings-brugernavn
    %kdesvn-build

Nu skulle scriptet begynde at hente kildekoden og kompilere den. Det er ikke sandsynligt at det lykkes første gang du kompilerer &kde;. Fortvivl ikke! Kontrollér logfilerne for at se om du mangler nogle værktøjer eller udviklingspakker (stedet for logfilerne angives af variablen log-dir i indstillingsfilen). Sommetider bliver hovedudviklingsgrenen meget ustabil og svær at bygge, især når en frysning af udviklingen er nær. Vær tålmodig. Du kan finde flere almindelige eksempler på ting som kan gå galt og deres løsning, samt generelle vink og strategier for at bygge &kde; i guiden Building &kde; from Source Step by Step.

### Opsætning af miljøet for at køre den friske &kde;

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.

Åbn eller oprette filen `.bash_profile` i hjemmemappen med din favoriteditor, og tilføj følgende i slutningen af filen:

    KDEDIR=(søgesti til kdedir)
    KDEDIRS=$KDEDIR
    PATH=$KDEDIR/bin:$QTDIR/bin:$PATH
    LD_LIBRARY_PATH=$KDEDIR/lib:$LD_LIBRARY_PATH
    export KDEDIRS PATH LD_LIBRARY_PATH

hvis du bygger modulet qt-copy, tilføj i stedet:

    QTDIR=(søgesti til qtdir)
    KDEDIR=(søgesti til kdedir)
    KDEDIRS=$KDEDIR
    PATH=$KDEDIR/bin:$QTDIR/bin:$PATH
    MANPATH=$QTDIR/doc/man:$MANPATH
    LD_LIBRARY_PATH=$KDEDIR/lib:$QTDIR/lib:$LD_LIBRARY_PATH
    export QTDIR KDEDIRS PATH MANPATH LD_LIBRARY_PATH

Hvis du ikke bruger en særlig bruger, idstillesn en anderledes `$KDEHOME` for det nye miljø i din `.bash_profile`:

    export KDEHOME="${HOME}/.kde-svn"

    # Opret hvis det behøves
    [ ! -e ~/.kde-svn ] && mkdir ~/.kde-svn

Hvis menuen senere er tom eller for fyldt med programmer fra din distribution, skal du måske indstille miljøvariablen xdg i `.bash_profile`:

    XDG_CONFIG_DIRS="/etc/xdg"
    XDG_DATA_DIRS="${KDEDIR}/share:/usr/share"
    export XDG_CONFIG_DIRS XDG_DATA_DIRS

Nu når vi er færdige med dette skal du sørge for at det rette startkde script bliver brugt:

Åbn tekstfilen `.xinitrc` (eller `.xsession`, afhængig af distribution) i hjemmemappen, eller opret det hvis det behøves. Tilføj linjen:

    exec ${KDEDIR}/bin/startkde

Start nu den friske &kde;: i BSD- og Linux-systemer med understøttelse for virtuelle terminaler, bruges tastekombinationerne Ctrl+Alt+F1..F12 til at skifte mellem virtuelle konsoller 1 til og med 12. Det lader dig køre mere end et desktopmiljø samtidigt. De første seks er tekstterminaler, og de følgende seks er grafiske skærme.

Hvis den grafiske skærmhåndtering i stedet vises når du starter, kan du bruge det nye KDE-miljø også selvom det ikke listes som en mulighed. Tryk på Ctrl+Alt+F2, så vises en tekstterminal. Log ind som den særlige bruger og skriv:

    startx -- :1

Du kan køre KDE fra kildekode og det gamle KDE samtidigt. Log ind som din almindelige bruger, og starte den stabile KDE-desktop. Tryk på Ctrl+Alt+F2 (eller F1, F3, etc.), så vises en tekstterminal. Log ind som den særlige bruger og skriv "startx -- :1". Du kan gå tilbage til den almindelige bruger ved at trykke på Ctrl+Alt+F6 (eller F7, F8 osv. Prøv dem. En af dem er den rigtige.). For at gå tilbage til KDE fra kildekode, tryk på Ctrl+Alt+F7 (eller F6, F8, etc.). Nu kan du skifte mellem dine KDE-versioner, og teste den nye mens du véd at du hurtigt kan gå tilbage til sikkerheden hos den stabile KDE-desktop.

## Scriptets funktioner

Funktionerne i &kdesvn-build; omfatter:

- Tjekker automatisk ud eller opdaterer moduler fra &svn;, ifølge hvad som er passende.

- Beregner tiden for at bygge moduler.

- Forsøger automatisk at genbygge moduler som bruger en inkrementel byggeproces, hvilket tenderer at mislykkes efter visse typer af indtjekninger.

- Kan genoptage et tidligere script, eller starte byggeprocessen fra en bestemt modul.

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

- Levereres med understøttelse for Unsermake.

- Ekspanderer dine indstillingstilvalg med tilde. Du kan for eksempel angive:

      qtdir ~/kdesvn/build/qt-copy

- Indstillelige bygge-, kildekode-, og logningsmapper

- Sætter automatisk et byggesystem op, med kildekodemappen adskilt fra byggemappen for at holde kildekodemappen uberørt. Undtagelsen er qt-copy, som ikke er konstrueret til at bygges sådan (hvis du ikke vil prøve QT med separat byggemappe).

- 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.

- 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 `--refresh-build`.

- Du kan angive diverse miljøvariabler som skal bruges under byggeprocessen, inklusive `KDEDIR`, `QTDIR`, `DO_NOT_COMPILE` og `CXXFLAGS`.

- 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.

- 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 `system()` flitigt, så jeg anbefaler for øjeblikket ikke at køre den som systemadministrator.

- Du kan bruge make-install-prefix til at indlede byggekommandolinjen med en separat kommando, hvilket er nyttigt for sudo.

- Du kan bruge tilvalget apidox for automatisk at bygge og installere dokumentation om programmeringsgrænsefladen for visse moduler.

- 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 taglib ud fra kdesupport, eller kun K3B fra extragear/multimedia. Scriptet henter automatisk kde-common hvis det behøves for at få byggeprocessen til at fungere.

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

- 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 module-base-path.

Ting som &kdesvn-build; IKKE gør:

- Finde det hurtigste spejl for &kde; &svn;. Der er ikke engang en liste medsendt med scriptet for øjeblikket, selvom standardserveren skulle virke godt.

- Børste dine tænder. Du skal huske at gøre det selv.

- Desværre er scriptet formodentlig ikke fejlfrit.

## Formatet for .kdesvn-buildrc

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

Det begynder med globale tilvalg, angivne som følger:

    global
    tilvalg-navn tilvalg-værdi
    [...]
    end global

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

    module modul-navn
    tilvalg-navn tilvalg-værdi
    [...]
    end module

modul-navn 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.

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 ovenfor.

- apidox, for at bygge dokumentation over programmeringsgrænsefladen

- apply-qt-patches, for at forbedre qt-copy

- binpath, for at indstille variablen `PATH`.

- branch, for at tjekke ud fra en gren i stedet for /trunk.

- build-dir, for at angive mappe at bygge i.

- checkout-only, for kun at tjekke dele af et modul ud.

- colorful-output for at tilføje farve til scriptets uddata.

- configure-flags for at angive hvilke flag et modul skal indstilles med.

- cxxflags for at definere variablen `CXXFLAGS`.

- dest-dir for at ændre mappenavn for et modul.

- disable-agent-check, for at forhindre at kdesvn-build kontrollerer SSH-agentens status.

- do-not-compile, for at markere mapper så de springes over af byggeprocessen.

- inst-apps, for at kun bygge og installere visse mapper.

- install-after-build, for at undgå at installere efter byggeprocessen.

- kdedir, for at angive mappe at installere KDE i.

- libpath, for at sætte variablen `LD_LIBRARY_PATH`.

- make-install-prefix, for at køre et hjælpeprogram (såsom sudo) under installationen.

- make-options, for at sende flag til byggeprogrammet.

- manual-build, for at undgå at modulet bygges automatisk.

- manual-update, for at undgå at noget gøres automatisk med modulet.

- module-base-path, for at ændre hvorfra modulet hentes. (nyttigt for grene og mærker).

- niceness, for at ændre processorprioriteten.

- no-rebuild-on-fail, for at undgå at køre byggeprocessen om igen hvis den mislykkes.

- qtdir, for at angive søgesti til Qt.

- set-env, for at sætte en miljøvariabel.

- source-dir, for at ændre hvor kildekoden hentes.

- stop-on-failure, for at få .kdesvn-build at stoppe så snart en alvorlig fejl findes.

- svn-server, for at ændre serveren som kildekoden automatisk hentes fra.

- use-qt-builddir-hack, for at give Qt en separat byggemappe fra kildekoden, såsom KDE.

- use-unsermake, for at bruge det avancerede byggesystem unsermake.

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.

Tilvalgstabel

Tilvalgsnavn | Modul -> global opførsel | Noter
--- | --- | ---
apidox | Sætter global ud af kraft | Sæt dette til true 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 make apidox gør noget, inklusive , blandt andet kdelibs, kdebase og koffice.
apply-qt-patches | Sætter global ud af kraft | 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.
binpath | Kan ikke sættes udf af kraft | Sæt dette for at bruge miljøvariablen PATH under byggeprocessen. Du kan ikke dette ud af kraft i et modultilvalg. Standatdværdi er `/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin`. Miljøvariablen skal indeholde søgestier til udviklingsværktøjerne adskilte med kolon. Søgestierne `$KDEDIR/bin` og `$QTDIR/bin` tilføjes automatisk. Du kan bruge tilde (~) for eventuelle søgestier du tilføjer med dette tilvalg.
branch | Sætter global ud af kraft | Angiv dette for at tjekk 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". 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. 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 override-url.
build-dir | Sætter global ud af kraft | Brug dette for at skifte mappen som indeholder kildekoden at bygge. Der er tre forskellige måder at bruge det: Relativt til &kde;:&svn;-kildekodemappe (se tilvalget source-dir). 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 (/). Standardværdi er `build` Absolut søgesti. Hvis du angiver en søgesti som begynder med /, bruges søgestien direkte. For eksempel `/tmp/kde-obj-dir/` 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 `~/builddir` indstille byggemappen til `/home/brugernavn/builddir` Dette kan, måske noget uventet, ændres pr modul.
checkout-only | Sætter global ud af kraft | 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.
configure-flags | Tilføjer globale tilvalg (undtagen for qt-copy) | 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 sætter de globale indstillinger ud af kraft når det bruges for qt-copy.
colorful-output | Kan ikke sættes udf af kraft | Sæt dette tilvalg til false for at deaktivere farvelagt uddata fra &kdesvn-build;. Dette tilvalg er normalt true. Bemærk at &kdesvn-build; ikke sender farvekoderne ud til noget andet end en terminal (såsom xterm, &konsole; eller den normale Linux-konsol).
cxxflags | Tilføjer til globale tilvalg | Brug dette tilvalg for at angive hvilke flag som skal sendes til `./configure` som `CXXFLAGS` når byggesystemet for modulet laves. Dette tilvalg angives her i stedet for med configure-flags eftersom tilvalget også sætter miljøvariablen `CXXFLAGS` under byggprocessen.
dest-dir | Sætter global ud af kraft | 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.
disable-agent-check | Kan ikke sættes udf af kraft | 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.
do-not-compile | Sætter global ud af kraft | Brug dette tilvalg for at sætte miljøvariablen `DO_NOT_COMPILE` inden scriptet configure køres. Ifølge &kde;'s ofte stillede spørgsmål for udviklere, skal det gøre at alle topniveaumapper du sender med ikke bygges. Katalogerne skal adskilles med mellemrum. Bemærk at kildekoden for programmerne stadigvæk hentes. Du kan bruge direktivet checkout-only for at vælge mapper som du vil tjekke ud.
email-address | Kan ikke sættes udf af kraft | 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). For øjeblikket behøver kun email-on-compile-error tilvalget.
email-on-compile-error | Kan ikke sættes udf af kraft | 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. Se tilvalget email-address for at indstille adressen som kdesvn-build skal sende fra, eftersom standardværdien som oftest ikke er hvad du vil have.
inst-apps | Sætter global ud af kraft | Dette er modsætningen til tilvalget do-not-compile. Dette tilvalg gør at kun angivne topniveaumapper bygges. Katalogerna skal adskilles med mellemrum. Eventuelle ændringer får ingen virkning førend næste gang `make `-f` Makefile.cvs` køres, enten automatisk af scriptet, eller manuelt med tilvalgene `--refresh-build` eller `--recreate-configure`. Bemærk at kildekoden for programmerne stadigvæk hentes. Du kan bruge direktivet checkout-only for at vælge mapper som du vil tjekke ud.
install-after-build | Sætter global ud af kraft | 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 indstillingsfilen. Du kan også bruge kommandolinjeflaget `--no-install`.
kdedir | Kan ikke sættes udf af kraft | Dette tilvalg angiver mappen som &kde; installeres i efter det er bygget. Standardværdien er `~/kde`. Hvis du ændrer det til en mappe som kræver adgang som systemadministrator, bør du også læse om tilvalget make-install-prefix.
libpath | Kan ikke sættes udf af kraft | 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 `$KDEDIR/lib` og `$QTDIR/lib` tilføjes automatisk. Du kan bruge tilde (~) i alle søgestier du tilføjer med dette tilvalg.
log-dir | Sætter global ud af kraft | 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.
make-install-prefix | Sætter global ud af kraft | 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.
make-options | Sætter global ud af kraft | Angiv denne variabel for at sende kommandolinjeflag til kommandoen make. Dette er nyttigt for programmer såsom distcc. Programmet distcc lader dig opdele dit kompileringsarbejde på mere end en maskine. For at bruge det, skal du bruge flaget `-j` 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 `-j2` i mit tilfælde.
manual-build | Sætter global ud af kraft | Sæt tilvalgsværdien til true 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 `--no-build`.
manual-update | Sætter global ud af kraft | Sæt tilvalgsværdien til true 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.
module-base-path | Sætter global ud af kraft | 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. &kde;'s kildekodevisning er uvurderlig som hjælp til at vælge rette søgesti. Bemærk at &kdesvn-build; konstruerer den endelige søgesti efter følgende skabelon: `$svn-server`/home/kde/`$module-base-path`/`$module-name`. Standardværdien er enten trunk eller trunk/KDE, afhængig af modulnavnet.
niceness | Kan ikke sættes udf af kraft | 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.
no-rebuild-on-fail | Sætter global ud af kraft | Indstil denne tilvalgsværdi til true 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.
override-url | Sætter global ud af kraft | Hvis du angiver dette tilvalg, bruger kdesvn-build dets værdi som URL at sende til Subversion helt uforandret. 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 branch.
qtdir | Kan ikke sættes udf af kraft | 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 ``$(source-dir)`/build/qt-copy`, som bruger modulet qt-copy som indgår i &kde;:s kildekodearkiv. Du kan bruge tilde (~) til at repræsentere din hjemmemappe.
remove-after-install | Sætter global ud af kraft | 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. Mulige værdier for dette tilvalg er: none - Slet ikke bort noget (dette er standardværdien). builddir - Slet byggemappen men ikke kildekoden. all - Slet både kildekoden og byggemappen. 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.
set-env | Sætter global ud af kraft | 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:
    set-env ANDERS AND
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 indstillingsfilen. På den måde du angive mere end en miljøvariabel pr modul (eller globalt).
source-dir | Kan ikke sættes udf af kraft | 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 `~/kdesvn`. Hvis du angiver denne værdi, brug en absolut søgesti.
svn-server | Kan ikke sættes udf af kraft | Dette tilvalg bruges til at angive serveren som bruges ved udtjekning fra &svn;. Standard er det anonyme &svn;-arkiv, svn://anonsvn.kde.org/.
stop-on-failure | Sætter global ud af kraft | Sæt denne tilvalgsværdi til true 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.
tag | Sætter global ud af kraft | Brug dette tilvalg for at hente en specifik udgave af et modul. Bemærk: Der er høje odds for at du IKKE ØNSKER at bruge dette tilvalg. KDE-udgaver er tilgængelige på arkivform fra KDE's FTP-sted eller et af dets spejle. 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 Konstruct i stedet for, som virker ud fra de udgivne tar-bolde.
use-qt-builddir-hack | Sætter global ud af kraft | Selvom dette tilvalg sætter det globale tilvalg ud af kraft, giver det kun mening for qt-copy. Sæt dette tilvalg til true for at aktivere scriptets eksperimentelle 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 `$(qt-copy-build-dir)/qt-copy/lib`. Du skal også ændre tilvalget qtdir på tilsvarende måde. At bygge inkrementelt skulle stadigvæk virke i denne tilstand, eftersom tidsstempler bevaras efter kopieringen. Hvis du bruger tilvalget apply-qt-patches, udføres programrettelserne i byggemappen, ikke i kildekodemappen. Tilvalgets standardværdi er true.
use-unsermake | Sætter global ud af kraft | Sæt dette tilvalg til true 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 distribuerede byggesystem. Tilvalgets standardværdi er true (for de fleste moduler). 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 self, så bruger kdesvn-build stadigvæk unsermake, men gør ingenting særligt for at holde det opdateret.

## Kommandolinjeflag og miljøvariabler

Scriptet bruger ikke miljøvariabler. Hvis du behøver at sætte miljøvariabler for bygge- eller installationsprocessen, så se tilvalget set-env.

Scriptet accepterer følgende kommandolinjeflag:

`--help`

  vis kun simpel hjælp om scriptet.

`---version`

  vis programmets version.

`--author`

  vis forfatterens kontaktinformation.

`--color`

  aktivér farvelagt uddata.

`--no-color`

  deaktivér farvelagt uddata.

`--pretend` (eller `-p`)

  udfører IKKE noget, men opfør sig som om du gjorde det.

`--quiet` (eller `-q`)

  Vær ikke så støjende med uddata. Med dette flag meddeles kun det vigtigste.

`--really-quiet`

  Kun advarsler og fejl.

`--verbose`

  Beskriv i detalje hvad der sker, og hvad kdesvn-build gør.

`--svn-only`

  udfører kun opdatering af kildekoden.

`--build-only`

  udfører kun byggeprocessen.

`--ignore-modules`

  inkludér ikke moduler som sendes på resten af kommandolinjen under opdaterings- og byggeprocessen.

`--no-svn`

  spring over at kontakte &svn;-serveren.

`--no-build`

  spring over byggeprocessen.

`--no-install`

  installér ikke automatisk pakker efter de er bygget.

`--debug`

  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.

`--no-rebuild-on-fail`

  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.

`--refresh-build`

  genopret om byggesystemet og byg fra grunden.

`--reconfigure`

  kør scriptet configure igen uden at rense byggemappen.

`--recreate-configure`

  kør `make `-f` Makefile.cvs` igen for at oprette scriptet configure, og fortsæt med at bygge som sædvanligt. Dette tilvalg implicerer `--reconfigure`.

`--resume`

  som forsøger at fortsætte med at bygge fra stedet hvor scriptet sluttede sidste gangen. Scriptet begynder at bygge modulet efter det seneste modul som kompileredes sidst da scriptet kørtes, havd enten det lykkedes eller ej. Dette tilvalg implicerer `--no-svn`. Du bør ikke angive andre modulnavne på kommandolinjen.

`--resume-from`

  som er ligesom `--resume`, bortset fra at du angiver modulet hvor byggeprocessen skal begynde som næste parameter på kommandolinjen. Alternativet implicerer `--no-svn`. Du bør ikke angive andre modulnavne på kommandolinjen.

`--rc-file`

  som tolker næste kommandolinjeflag som filen at læse indstillingstilvalg fra. Standardværdien for denne parameter er ~/.kdesvn-buildrc.

`--prefix=</søgesti/till/kde>`

  som lader dig ændre mappen som &kde; installeres i fra kommandolinjen. Dette tilvalg implicerer `--reconfigure`.

`--build-system-only`

  stop efter at have kørt `make `-f` Makefile.cvs`. 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å `./configure `--help`` for hvert modul, og redigere dine flag til configure i overensstemmelse med dette.

`--install`

  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 `--install`, antages de alle at være moduler at installere.

`--<option-name>=`

  Du kan bruge dette tilvalg til at sætte et tilvalg i din indstillingsfil ud af kraft for hvert modul. For eksempel for at sætte tilvalget log-dir ud af kraft, skulle du angive `--log-dir=/søgesti/til/mappe`.

`--<modulnavn>,<tilvalgnavn>=`

  Du kan bruge dette flag til at sætte et tilvalg i indstillingsfilen for et vist modul ud af kraft. For eksempel for at sætte tilvalget use-unsermake ud af kraft for kdemultimedia, skal du angive `--kdemultimedia,use-unsermake=false`.

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

## Medvirkende og licens

&underFDL;