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

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

  <!ENTITY configure-flags '<link linkend="conf-configure-flags"
>configure-flags</link
>'>
  <!ENTITY 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 branch '<link linkend="conf-branch"
>branch</link
>'>
  <!ENTITY do-not-compile '<link linkend="conf-do-not-compile"
>do-not-compile</link
>'>
  <!ENTITY checkout-only '<link linkend="conf-checkout-only"
>checkout-only</link
>'>
  <!ENTITY svn-server '<link linkend="conf-svn-server"
>svn-server</link
>'>
  <!ENTITY make-install-prefix '<link linkend="conf-make-install-prefix"
>make-install-prefix</link
>'>
  <!ENTITY niceness '<link linkend="conf-niceness"
>niceness</link
>'>
  <!ENTITY set-env '<link linkend="conf-set-env"
>set-env</link
>'>
  <!ENTITY libpath '<link linkend="conf-libpath"
>libpath</link
>'>
  <!ENTITY binpath '<link linkend="conf-binpath"
>binpath</link
>'>

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

<book lang="&language;">

<bookinfo>
<title
>Skripti &kdesrc-build;; käsiraamat</title>

<authorgroup id="authors">
<author
><firstname
>Michael</firstname
><surname
>Pyne</surname
> <affiliation
><address
><email
>mpyne@kde.org</email
></address
></affiliation>
</author>
<author
><firstname
>Carlos</firstname
><surname
>Woelz</surname
> <affiliation
><address
><email
>carloswoelz@imap-mail.com</email
></address
></affiliation>
</author>


<othercredit role="translator"
><firstname
>Marek</firstname
> <surname
>Laane</surname
> <affiliation
><address
><email
>bald@smail.ee</email
></address
></affiliation
><contrib
>Tõlge eesti keelde</contrib
></othercredit
> 

</authorgroup>

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

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

<legalnotice
>&FDLNotice;</legalnotice>

<date
>2010-01-30</date>
<releaseinfo
>1.12</releaseinfo>

<abstract>
<para
>&kdesrc-build; on skript, mis ehitab ja paigaldab &kde; tarkvara otse &kde; projekti lähtekoodi hoidlatest.</para>
</abstract>

<keywordset>
<keyword
>KDE</keyword>
<keyword
>kdesdk</keyword>
<keyword
>SVN</keyword>
<keyword
>Subversion</keyword>
<keyword
>git</keyword>
<keyword
>gitorious</keyword>
<keyword
>KDE arendus</keyword>
<!-- Older names for the software -->
<keyword
>kdesvn-build</keyword>
<keyword
>kdecvs-build</keyword>
</keywordset>

</bookinfo>

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

<para
>&kdesrc-build; on skript, mis aitab kasutajatel paigaldada <ulink url="http://www.kde.org/"
>&kde;</ulink
> tarkvara otse <ulink url="http://subversion.tigris.org/"
>&subversion;i</ulink
> ja <ulink url="http://gitscm.org/"
>&git;i</ulink
> lähtekoodi hoidlatest. </para>

<tip
><para
>See tarkvara kandis varem nime kdesvn-build, mistõttu internetis või ka arvutisse paigaldatud dokumentatsioonis võib seda nimetust seniajani kohata.</para
></tip>

<para
>See käsiraamat kujutab endast ülevaadet, mis kirjeldab skripti &kdesrc-build; tegevuse järgmisi aspekte: </para>

<itemizedlist>
<listitem
><para
>Tähtsamad <link linkend="features"
>omadused</link
>.</para
></listitem>
<listitem
><para
><link linkend="getting-started"
>Ülevaade</link
> alustamiseks vajalikest sammudest.</para
></listitem>
<listitem
><para
><link linkend="configure-data"
>Seadistustefaili</link
> süntaks ja valikud.</para
></listitem>
<listitem
><para
><link linkend="cmdline"
>Käsureavõtmed</link
>.</para
></listitem>
</itemizedlist>

<para
>Samuti kirjeldatakse samme, mida tuleb ette võtta teiste tööriistadega (see tähendab samme, mida &kdesrc-build; ei soorita automaatselt). </para>

</chapter>
<chapter id="getting-started">
<title
>Alustamine</title>

<para
>Käesolevas peatükis selgitame, kuidas kasutada &kdesrc-build;'i moodulite väljavõtmiseks &kde; hoidlast ja nende ehitamiseks. Me selgitame ka &kde; &subversion;i põhimõttelist struktuuri ning samme, mida on vaja ette võtta enne skripti käivitamist. </para>

<para
>Kõiki peatükis vaadeldavaid teemasid käsitleb veelgi põhjalikumalt artikkel <ulink url="http://techbase.kde.org/Getting_Started/Build/KDE4"
> Building &kde; 4 from Source</ulink
>, mille leiab <ulink url="http://techbase.kde.org/"
>&kde; TechBase'i leheküljelt</ulink
>. Kui kompileerid &kde;-d esimest korda, tasuks seda lugeda kas või põgusalt. Sealt leiab põhjaliku info pakendamistööriistade ja nõuete kohta, levinud kompileerimisprobleemide ja -strateegiate kirjelduse ning juhiseid oma uue &kde; paigalduse kasutamiseks. </para>

<sect1 id="before-building">
<title
>Süsteemi ettevalmistamine &kde; ehitamiseks</title>

<sect2 id="before-building-users">
<title
>Uue kasutajakonto loomine</title>

<para
>Soovitatav on kasutada &kde; tarkvara ehitamiseks, paigaldamiseks ja kasutamiseks mõnda muud kasutajakontot, sest vaja läheb vähem õigusi ning samuti ei teki segadusi sinu distributsiooni pakettidega. Kui sul on juba &kde; paketid paigaldatud, oleks kõige mõistlikum luua spetsiaalne kasutaja uue &kde; ehitamiseks ja kasutamiseks. </para>

<tip
><para
>Süsteemse &kde; puutumata jätmine võimaldab vajaduse korral kasutada seda varuvariandina, kui kompileeritud &kde; peaks mis tahes põhjusel osutuma ebastabiilseks. </para
></tip>

<para
>Hiljem võid muidugi soovi korral paigaldada ka administraatori õigustes. Käesolevas käsiraamatus me seda siiski ei puuduta. Kui paigaldad süsteemselt, siis arvatavasti tead juba nagunii, mida ja kuidas teha. Kui mitte, siis tasuks uurida oma distributsiooni dokumentatsiooni või abimaterjale, et süsteem korrektselt ette valmistada ja süsteemne paigaldus õigesti läbi viia. </para>

</sect2>
<sect2 id="before-building-preparation">
<title
>Süsteemi valmisoleku kontrollimine &kde; ehitamiseks lähtekoodist</title>

<para
>Enne skripti &kdesrc-build; (või muude ehitamisstrateegiate) kasutamist tuleb paigaldada arendustööriistad ja teegid, mida &kde; vajab. Täieliku nimekirja toob ära <ulink url="http://techbase.kde.org/"
>KDE TechBase</ulink
>. </para>

<para
>Loetleme siin mõningad vajalikud asjad:</para>
<itemizedlist>

<listitem
><para
>Vajalik on &cmake;. Nõutav versioon sõltub sellest, millise &kde; 4 versioonis ehitamise ette võtad, vaata täpsemaid asjaolusid TechBase'ist.</para
></listitem>

<listitem
><para
>Samuti on vajalik &subversion;i klientprogramm, mis toetab turvalist HTTP-d (https). Vajaliku toetuse tagamiseks anna käsk <userinput
><command
>svn <option
>--version</option
></command
></userinput
> ja uuri tulemust. Kui väljund teatab, et suudab käsitleda https skeemi (kirjutamisõigusega ligipääsuks svn.kde.org-is) või svn skeemi (kirjutuskaitstud ligipääsuks anonsvn.kde.org-is), siis on asi korras.</para
></listitem>

<listitem
><para
>Kui ehitad &Qt; või mis tahes &kde; mooduleid, mis leiduvad <ulink url="http://gitorious.org/"
>Gitoriouses</ulink
>, siis on vajalik paigaldada ka <ulink url="http://gitscm.org/"
>Giti lähtekoodi juhtimise haldur</ulink
>.</para
></listitem>

<listitem
><para
>Vajalik on C++ arenduskeskkond. Soovitatav on GCC 3.4 või uuem.</para
></listitem>

</itemizedlist>

<note
><para
>Enamik operatsioonisüsteemi distributsioone pakub võimalust vähese vaevaga paigaldada vajalikud arendustööriistad. Uuri TechBase'i <ulink url="http://techbase.kde.org/Getting_Started/Build/KDE4"
>Getting Started</ulink
> lehekülje sektsiooni <quote
>Required Packages from your Distribution</quote
>, kust peaks selguma, kas sellised juhised on juba olemas.</para
></note>

<para
>Üks nõutavate teekide erand on &Qt; teek. &kdesrc-build; paigaldab tavaliselt &Qt; koopia sõltumata sellest, kas see on sul paigaldatud või mitte, nii et selle eelnev olemasolu pole vajalik. Kui sa ei soovi kasutada &Qt; koopiat, talita nii:</para>

<itemizedlist>
<listitem>
  <para
>Eemalda moodul qt-copy oma <link linkend="configure-data"
>seadistustefailist</link
>, sest seda ei lähe sul ju sel juhul vaja ning selle olemasolu seal pikendab lihtsalt ehitamisaega.</para>
</listitem>

<listitem>
  <para
>Muuda <link linkend="configure-data"
>seadistustefailis</link
> sätet <link linkend="conf-qtdir"
>qtdir</link
>, nii et see osutaks sinu süsteemi &Qt; peale. Enamasti on selleks keskkonnamuutuja $<envar
>QTDIR</envar
> määratlus.</para>
</listitem>

<listitem>
  <para
>Kui sul pole veel &Qt; paigaldatud, paigalda see, kaasa arvatud kõik asjakohased -dev- või -devel-paketid. Vajalik on vähemalt &Qt; 4.6, kui ehitad &kde; 4.</para>
</listitem>
</itemizedlist>

<para
>Osa neist tarkvarapakettidest on jagatud teekide, programmide või utiliitide ja arenduspakettideks. Sul läheb vaja vähemalt programmi- või teegi- ja arenduspaketti. Kahtluse korral paigalda kõik. Vajalikud teegid sõltuvad moodulitest, mida kavatsed ehitada, sest igal moodulil on oma nõuded. Täpsemalt kõneleb paigaldamiseks vajalikest tööriistadest ja võtetest ning nõutud tarkvarast <ulink url="http://techbase.kde.org/Getting_Started/Build/KDE4#Required_packages_from_your_distribution"
>&kde; TechBase</ulink
>. </para>

</sect2>

<sect2 id="before-building-prepare-script">
<title
>&kdesrc-build;'i häälestamine</title>

<sect3 id="get-kdesrc-build">
<title
>&kdesrc-build;'i paigaldamine</title>
<para
>Tõenäoliselt on skript &kdesrc-build; juba sinu süsteemi paigaldatud. Kui see aga nii ei ole, saad selle alla laadida <ulink url="http://kdesrc-build.kde.org/"
>&kdesrc-build;'i koduleheküljelt</ulink
> või &kde; lähtekoodi hoidlast.</para>

<note
><para
>&kdesrc-build; kuulub moodulisse kdesdk, mis on distributsioonidega enamasti juba vaikimisi kaasas. Kui oled &kdesrc-build;i alla laadinud, kontrolli, kas kasutad ikka allalaaditud versiooni. Seda saab kontrollida võtmega --version.</para
></note>

<orderedlist>
<listitem
><para
>&kdesrc-build;i allalaadimiseks koduleheküljelt mine lihtsalt <ulink url="http://kdesrc-build.kde.org/"
>&kdesrc-build;'i koduleheküljele</ulink
> ja tõmba sealt uusim versioon. See on pakitud arhiivi, mille saab lahti pakkida rakendusega &ark; või programmiga <command
>tar</command
>. Arhiivi kuulub skript &kdesrc-build; ning näidisseadistustefail (<filename
>kdesrc-buildrc-sample</filename
>).</para
></listitem>

<listitem
><para
>&kdesrc-build;i võib hankida ka lähtekoodi hoidlast aadressil <ulink url="http://websvn.kde.org/trunk/KDE/kdesdk/scripts/"
>http://websvn.kde.org/trunk/KDE/kdesdk/scripts/</ulink
>. See on &kde; tarkvaraarenduse komplekti skriptide kataloog, kus &kdesrc-build; pesitsebki. Klõpsates kirjele <filename
>kdesrc-build</filename
>, satud leheküljele, kus saad alla laadida uusima versiooni. Salvesta see oma kõvakettal meelepärasesse kohta. Soovi korral laadi alla ka <filename
>kdesrc-buildrc-sample</filename
>.</para
></listitem>
</orderedlist>

<para
>Igal juhul pead kontrollima, et fail <filename
>kdesrc-build</filename
> oleks käivitatav. Mugavuse huvides oleks hea, kui see asuks kataloogis, mida hõlmab keskkonnamuutuja <envar
>PATH</envar
>, vastasel juhul saad teate, et käsku ei leitud, või võid eksikombel käivitada varasema süsteemis leiduva versiooni.</para>
</sect3>

<sect3 id="setup-rcfile">
<title
>Seadistustefaili häälestamine</title>

<para
>Kuigi &kdesrc-build; ei nõua <link linkend="configure-data"
>seadistustefaili</link
> loomist, on selle abil töö märksa lihtsam. <link linkend="configure-data"
>Seadistustefailiga</link
> saad kontrollida, millised moodulid paigaldatakse, või eemaldada moodulid, mida sa ei soovi paigaldada. Vaikimisi paigaldab &kdesrc-build; tavapärase &kde; üsna üldiste paigaldusvõtmetega, mis ei pruugi sulle sobida. Seepärast ongi mõttekas kasutada <link linkend="configure-data"
>seadistustefaili</link
>. </para>

<para
><link linkend="configure-data"
>Seadistustefaili</link
> nimeks peab olema <filename
>.kdesrc-buildrc</filename
>. See peab asuma kodukataloogis (<filename class="directory"
>~/</filename
>) ja sisaldama kõiki konfiguratsiooniandmeid, mida skript tööks vajab, näiteks konfiguratsioonivõtmeid, kompileerimisvõtmeid, lähtetekstide asukohti, paigalduse sihtkohta (prefiksit), ehitatavate moodulite nimekirja &etc; Vaikimisi konfiguratsiooniandmeid pakub fail <filename
>kdesrc-buildrc-sample</filename
>, mille võidki kopeerida nimega <filename
>~/.kdesrc-buildrc</filename
> ja seejärel vastavalt oma vajadustele redigeerida. </para>

<para
>Rohkem infot <link linkend="configure-data"
>seadistustefaili</link
> süntaksi kohta annavad <xref linkend="configure-data"/> ja <xref linkend="kdesrc-buildrc"/>. </para>

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

<sect1 id="configure-data">
<title
>Konfiguratsiooniandmete määramine</title>

<para
>Skripti &kdesrc-build; kasutamiseks peab sinu kodukataloogis asuma fail nimega <filename
>.kdesrc-buildrc</filename
>, mis määrab üldised võtmed ning moodulid, mida soovid alla laadida ja ehitada. </para>

<note
><para
>&kdesrc-build; võimaldab kasutada erinevaid seadistustefaile, sellest kõneleb lähemalt <xref linkend="kdesrc-buildrc"/>. Kui tahad kasutada erinevaid seadistusi, tutvu palun selle osaga. Siinkohal eeldame, et seadistustefail paikneb asukohas <filename
>~/.kdesrc-buildrc</filename
>.</para
></note>

<para
>Kasuta globaalsete võtmete ja ehitatavate moodulite määramisel eeskujuna faili <filename
>kdesrc-buildrc-sample</filename
>. </para>

<para
>Vaikimisi seadistused peaksid üldiselt sobima &kde; ehitamiseks. Seadistused, mida võib olla mõttekas muuta, on järgmised: <itemizedlist>
<listitem
><para
><link linkend="conf-binpath"
>binpath</link
> võimaldab muuta kataloogide nimekirja, kust käske otsitakse. See võrdub shelli keskkonnamuutujaga <envar
>PATH</envar
>.</para
></listitem>

<listitem
><para
><link linkend="conf-kdedir"
>kdedir</link
> võimaldab muuta sihtkataloogi, kuhu &kde; paigaldatakse. Vaikimisi on selleks <filename class="directory"
>~/kde</filename
>, mis vastab üksikkasutaja paigaldusele.</para
></listitem>

<listitem
><para
><link linkend="conf-qtdir"
>qtdir</link
> võimaldab määrata kasutatava &Qt; paigalduse asukoha. Vaikimisi kasutatakse &Qt;-d, mis on kompileeritud &kdesrc-build;'iga, kasutades spetsiaalset moodulit qt-copy ja uusimat lähtekoodi (<filename class="directory"
>~/kdesrc/build/qt-copy</filename
>).</para>

<para
>See määrab ka asukoha, kuhu paigaldada qt-copy.</para
></listitem>

<listitem
><para
><link linkend="conf-svn-server"
>svn-server</link
> võimaldab määrata &url;-i, kust lähtekood alla laadida. See on kasulik juhul, kui oled arendaja, kellel on <ulink url="http://techbase.kde.org/Contribute/First_Steps_with_your_KDE_SVN_Account"
>&kde; &subversion;i konto</ulink
>.</para
></listitem>
</itemizedlist>
</para>

<para
>Globaalse sektsiooni järel tuleb ehitatavate moodulite nimekiri kujul module ... end module. Kontrolli, kas kirjasolevad moodulid on ikka need, mida soovid ehitada. Faili <filename
>kdesrc-buildrc-sample</filename
> vaikevõtmed peaksid sobima üsna hästi korraliku &kde; paigalduse tekitamiseks. Salvesta lõplik <filename
>.kdesrc-buildrc</filename
> oma kodukataloogi. </para>

<para
>Kui soovid faili <filename
>.kdesrc-buildrc</filename
> väga täpselt oma vajadustele kohandada, räägib konfiguratsioonivõtmetest lähemalt <xref linkend="kdesrc-buildrc"/>. </para>

</sect1>

<sect1 id="building-and-troubleshooting">
<title
>Skripti &kdesrc-build; kasutamine</title>

<para
>Nüüd oled valmis skripti käivitama. Logi terminaliaknas sisse selle kasutaja õigustega, kelle lõid &kde; kompileerimiseks, ning käivita skript: <screen
><prompt
>$</prompt
><command
>kdesrc-build</command
>
</screen>
</para>

<para
>Nüüd peaks skript hakkama lähtekoodi alla laadima ja kompileerima. Sõltuvalt sellest, kui palju mooduleid alla laadid, võib juhtuda, et &kdesrc-build; ei lõpeta esimesel korral &kde; kompileerimist edukalt. Kuid ära heida meelt! </para>

<para
>&kdesrc-build; logib kõigi käivitatud käskude väljundi. Vaikimisi paiknevad logid asukohas <filename class="directory"
>~/kdesrc/log</filename
>. Kui tahad näha, mis põhjustas viimase skripti &kdesrc-build; käsu korral moodulis vea, piisab enamasti sellest, kui uurida logi <filename class="directory"
>~/kdesrc/log/latest/<replaceable
>mooduli-nimi</replaceable
>/error.log</filename
>.</para>

<para
>Selles failis näed viga, mis põhjustas antud mooduli ehitamise nurjumise. Kui failis seisab kirjas, et mõned paketid puuduvad, ürita need paigaldada (kaasa arvatud vastavad -dev paketid), enne kui hakkad seda moodulit uuesti ehitama, ning kasuta pärast puuduvate pakettide paigaldamist võtit <link linkend="cmdline-reconfigure"
>--reconfigure</link
>.</para>

<para
>Kui aga tegemist on ehitamisveaga, on see arvatavasti &kde; lähtekoodi viga, mis usutavasti parandatakse mõne tunni või päeva jooksul. Kui seda ei juhtu, on mõttekas ehitamisveast teada anda postiloendis <email
>kde-devel@kde.org</email
> (eelnevalt on vaja ennast selle liikmeks registreerida).</para>

<para
>Rohkem näiteid asjadest, mis võivad valesti minna, ning nende lahendusi, aga ka mitmeid üldiseid näpunäiteid ja soovitusi &kde; ehitamiseks leiab veebist: <ulink url="http://techbase.kde.org/Getting_Started/Build/KDE4"
>Building &kde; 4 from Source</ulink
>. </para>

<note
><para
>Täpsemalt kõneleb &kdesrc-build;i logimisvõimalustest <xref linkend="kdesrc-build-logging"/>.</para
></note>

</sect1>

<sect1 id="environment">
<title
>Värske &kde; töökeskkonna määramine</title>

<para
>Eeldusel, et lõid &kde; ehitamiseks spetsiaalse kasutaja ja sul on juba paigaldatud &kde; versioon, on oma uue &kde; töölepanek mõnevõrra keerulisem, sest vana asemel peab ju käivituma uus &kde;. Selleks tuleb muuta keskkonnamuutujaid. </para>

<sect2 id="changing-profile">
<title
>Käivitusprofiili seadistuste muutmine</title>

<important
><para
>Failis <filename
>.bash_profile</filename
> on kirjas sisselogimisseadistused paljudes &Linux; distributsioonides kasutatava shelli <application
>bash</application
> jaoks. Kui kasutad mõnda muud shelli, võib olla vajalik siinkohal antud näidet veidi kohandada.</para
></important>

<para
>Ava või loo kodukataloogis lemmikredaktoriga fail <filename
>.bash_profile</filename
> ja lisa selle lõppu juhul, kui ehitad moodulit qt-copy (nagu vaikimisi): <programlisting>
QTDIR=(qtdir'i asukoht)   # Such as ~/kdesrc/build/qt-copy by default.
KDEDIR=(kdedir'i asukoht) # Such as ~/kde by default.
KDEDIRS=$KDEDIR
PATH=$KDEDIR/bin:$QTDIR/bin:$PATH
MANPATH=$QTDIR/doc/man:$MANPATH

# Act appropriately if LD_LIBRARY_PATH is not already set.
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
> Kui sa ei ehita moodulit qt-copy, vaid kasutad oma süsteemi &Qt;, siis: <programlisting
>KDEDIR=(kdedir'i asukoht)  # Such as ~/kde by default.
KDEDIRS=$KDEDIR
PATH=$KDEDIR/bin:$QTDIR/bin:$PATH

# Act appropriately if LD_LIBRARY_PATH is not already set.
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
>Kui sa ei tarvita spetsiaalset kasutajat, määra oma failis <filename
>.bash_profile</filename
> uuele keskkonnale teistsugune $<envar
>KDEHOME</envar
>: <programlisting
>export KDEHOME="${HOME}/.kde-svn"

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

<note>
<para
>Kui hiljem peaks K-menüü tühi olema või hoopis liiga täis, võib olla vajalik failis <filename
>.bash_profile</filename
> kindlaks määrata ka <acronym
>XDG</acronym
> keskkonnamuutuja: <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
>&kde; käivitamine</title>

<para
>Kui keskkonnamuutujad on üle vaadatud, et kasutataks õiget &kde;-d, tuleb kontrollida, et ka skript <command
>startkde</command
> oleks õige. </para>

<para
>Ava kodukataloogis tekstifail <filename
>.xinitrc</filename
> või loo see vajaduse korral. Lisa rida: <programlisting
><command
>exec</command
> <option
>${KDEDIR}/bin/startkde</option
>
</programlisting>
</para>

<important
><para
>Mõne distributsiooni korral võib olla vajalik sama samm ette võtta samuti kodukataloogis paikneva failiga <filename
>.xsession</filename
>. See on eriti vajalik siis, kui kasutusel on graafiline sisselogimishaldur, näiteks &kdm;, <application
>gdm</application
> või <application
>xdm</application
>.</para>
</important>

<para
>Nüüd käivita oma uus &kde;: virtuaalsete terminalide toetusega &BSD; ja &Linux; süsteemides kasutatakse klahvikombinatsioone <keycombo action="simul"
>&Ctrl;&Alt;<keycap
>F1</keycap
></keycombo
> ... <keycombo action="simul"
>&Ctrl;&Alt;<keycap
>F12</keycap
></keycombo
> lülitumiseks vastavalt virtuaalsele konsoolile 1 kuni 12. See võimaldab korraga panna tööle enam kui ühe töökeskkonna. Esimesed kuus on tekstiterminalid, viimased kuus graafilised kuvad. </para>

<para
>Kui sind ootab arvuti käivitamisel ees graafiline sisselogimishaldur, võid ometi kasutada uut &kde; keskkonda ka juhul, kui seda ei leidu halduri loendis. Enamik kuvahaldureid, sealhulgas &kdm;, pakuvad <quote
>kohandatud seansi</quote
> võimalust. Sel juhul laaditakse seansi seadistused sinu kodukataloogis asuvast failist <filename
>.xsession</filename
>. Kui oled seda juba muutnud, nagu eespool kirjeldatud, võimaldabki see sul laadida oma uue &kde; paigalduse. </para>

<para
>Kui see miskipärast siiski ei õnnestu, võib proovida veel üht asja, mis enamasti peaks aitama: vajuta <keycombo action="simul"
>&Ctrl;&Alt;<keycap
>F2</keycap
></keycombo
>, mis avab tekstiterminali. Logi sisse vajaliku kasutaja õigustes ja kirjuta: </para>

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

<tip>
<para
>Lähtekoodist paigaldatud &kde; ja sinu vana &kde; võivad töötada ka üheaegselt! Logi sisse tavalise kasutajana ning käivita oma stabiilne &kde; töölaud. Vajuta <keycombo action="simul"
>&Ctrl;&Alt;<keycap
>F2</keycap
></keycombo
> (või <keycap
>F1</keycap
>, <keycap
>F3</keycap
> jne.), mis avab tekstiterminali. Logi sisse &kde;&subversion;i kasutajana ja kirjuta:</para>

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

<para
>Oma tavalise kasutaja &kde; töölauale pääsed tagasi, kui vajutad juba töötava töölaua kiirklahvi. Tavaliselt on see <keycombo action="simul"
>&Ctrl;&Alt;<keycap
>F7</keycap
></keycombo
>, aga võimalik, et vajalik on kasutada näiteks <keycap
>F6</keycap
> või <keycap
>F8</keycap
>. Oma &kdesrc-build;iga ehitatud &kde; juurde naasmiseks tuleb teha sedasama, ainult et funktsiooniklahv peab olema numbrilt ühe võrra suurem. Kui näiteks sul on vaja vajutada <keycombo action="simul"
>&Ctrl;&Alt;<keycap
>F7</keycap
></keycombo
> tavalisele &kde; töölauale lülitumiseks, siis &kdesrc-build;i &kde; juurde viib tagasi <keycombo action="simul"
>&Ctrl;&Alt;<keycap
>F8</keycap
></keycombo
>.</para>
</tip>

</sect2>
</sect1>

</chapter>

<chapter id="features">
<title
>Skripti omadused</title>

<sect1 id="features-overview">
<title
>Omaduste ülevaade</title>

<para
>&kdesrc-build;i peamised omadused on järgmised: </para>

<itemizedlist>

<listitem
><para
><link linkend="changing-verbosity"
>Väljundi teadete tasemete</link
> toetus alates väga vaiksest kuni täieliku silumistasemeni. </para
></listitem>

<listitem
><para
>&kdesrc-build; võimaldab <ulink url="http://kdesrc-build.kde.org/"
>&kdesrc-build;i veebilehekülje</ulink
> ja &kde; FTP-serveri (FTP alates versioonist &kdesrc-build; 1.4) abiga mõningate moodulite kiiret väljavõtmist. Kui soovitud moodul on veebilehel juba pakendatud, laadib &kdesrc-build; alla hetktõmmise ja valmistab selle ette sinu arvutis kasutamiseks. </para>

<para
>See on sinu jaoks palju kiirem ning aitab vähendada koormust kde.org-i anonüümse &subversion;i serverites.</para>
</listitem>

<listitem
><para
>Teine asju kiirendav tegur on mooduli ehitamise alustamine kohe pärast seda, kui mooduli lähtekood on alla laaditud (alates versioonist 1.6). </para
></listitem>

<listitem
><para
>Suurepärane <link linkend="using-qt-copy"
>qt-copy mooduli</link
> toetus, sealhulgas vajaduse korral vigu parandavate ja optimeerivate paikade rakendamine qt-copy moodulile. </para
></listitem>

<listitem
><para
>&kdesrc-build;il on <link linkend="kdesrc-build-color"
>värviline väljund</link
>. </para
></listitem>

<listitem
><para
>&kdesrc-build; ei vaja töötamiseks graafilist kasutajaliidest (<acronym
>GUI</acronym
>), mis tähendab, et võid &kde; ehitada ilma alternatiivse graafilise keskkonna vajaduseta. </para
></listitem>

<listitem
><para
>Kõigi moodulite vaikevõtmete määramise (näiteks kompileerimise seadistused või seadistusvõtmed) määramise toetus. Neid võtmeid saab muuta ka iga konkreetse mooduli korral.</para>

<para
>&kdesrc-build; lisab vajaduse korral <link linkend="kdesrc-build-std-flags"
>standarsed lipud</link
>, mis vähendab sinu vaeva ja võimalust, et kirjutad neid käsitsi kogemata valesti. </para
></listitem>

<listitem
><para
>&kdesrc-build; võib teha väljavõtte mooduli konkreetse <link linkend="using-branches"
>haru või sildi</link
> järgi. Samuti on võimalik välja võtta mooduli konkreetne <link linkend="conf-revision"
>versioon</link
>. </para
></listitem>

<listitem
><para
>&kdesrc-build;võib automaatselt vahetada lähtekataloogi, et teha väljavõte mõnest teisest hoidlast või mõne teise haru või sildi järgi. See toimub automaatselt, kui muudad võtit, mis muudab hoidla &url;-i, kuid sa pead kasutama võtit <link linkend="cmdline-src-only"
>--src-only</link
>, et &kdesrc-build; teaks, et ta tohib ümber lülituda. </para
></listitem>

<listitem
><para
>&kdesrc-build; võib <link linkend="partial-builds"
>teha väljavõtte ainult osast moodulist</link
>, näiteks juhul, kui vajad mõnest suurest moodulist ainult üht programmi. </para
></listitem>

<listitem
><para
>&kdesrc-build; võib kiirendada mõningate moodulite esialgset allalaadimist, sest ta laadib, kui võimalik, automaatselt &kde; peeglitest alla mooduli hetktõmmise ja kasutab seda esialgse väljavõtte häälestamisel. See salvestab aega ja ribalaiust nii sinu süsteemile kui ka &kde; serveritele. </para
></listitem>

<listitem
><para
>Arendajatele: &kdesrc-build; <link linkend="ssh-agent-reminder"
>tuletab meelde</link
>, kui kasutad svn+ssh://, aga <application
>ssh-agent</application
> ei tööta, sest vastasel juhul küsib &ssh; parooli korduvalt. </para
></listitem>

<listitem
><para
>Võib saata kasutajale vigade kohta <link linkend="email-reports"
>e-postiga aruandeid</link
>. </para
></listitem>

<listitem
><para
>Võib <link linkend="deleting-build-dir"
>kustutada ehitamiskataloogi</link
> pärast mooduli paigaldamist, et hoida kokku ruumi, ehkki samas pikendab see edaspidi kompileerimisaega. </para
></listitem>

<listitem
><para
>&kdesrc-build;i kasutatavad kataloogide asukohad on seadistatavad (seda isegi mooduli kaupa). </para
></listitem>

<listitem
><para
>Võib kasutada &sudo;-d või mõnda muud kasutaja määratud käsku <link linkend="root-installation"
>moodulite paigaldamisel</link
>, mistõttu &kdesrc-build;i ei pea käivitama tingimata administraatori õigustes. </para
></listitem>

<listitem
><para
>&kdesrc-build; töötab vaikimisi <link linkend="build-priority"
>vähendatud prioriteediga</link
>, mis lubab arvutit edukalt kasutada ka ajal, mil &kdesrc-build; töötab. </para
></listitem>

<listitem
><para
>&kde; &subversion;i <link linkend="using-branches"
>siltide ja harude</link
> kasutamise toetus. </para
></listitem>

<listitem
><para
>&kdesrc-build; kasutab mitmeid viise eduka ehitamise <link linkend="building-successfully"
>tagamiseks</link
>. </para
></listitem>

<listitem
><para
>Määratud mooduli <link linkend="resuming"
>ehitamise taasalustamise</link
> toetus. Võimalik on isegi konkreetse ehitamise korral <link linkend="ignoring-modules"
>eirata teatavaid mooduleid</link
>. </para
></listitem>

<listitem
><para
>&kdesrc-build; võib kiirest sooritada mooduli <link linkend="partial-builds"
>osalise ehitamise</link
> otse käsurealt, kui vajad ainult osa mooduli uuendamist. </para
></listitem>

<listitem
><para
>&kdesrc-build; näitab <link linkend="build-progress"
>ehitamise edenemist</link
> &cmake;'i kasutamisel ning mõõdab alati ehitamise aega, nii et saad hiljem teada, kui palju selleks tegelikult kulus. </para
></listitem>

<listitem
><para
>Püüab automaatselt ümber ehitada mooduleid, mis kasutavad kasvavat make'i (tõsi, see ei pruugi alati õnnestuda). </para
></listitem>

<listitem
><para
>Pakub omalt poolt välja mõistliku valiku vaikevõtmeid &kde; elementaarse ühekasutajapaigalduse tekitamiseks anonüümse &subversion;i hoidla lähtekoodi põhjal. </para
></listitem>

<listitem
><para
>Võimaldab tildega seadistusvõtmeid laiendada. Nii võib näiteks määrata: <programlisting
>qtdir ~/kdesrc/build/qt-copy</programlisting>
</para
></listitem>

<listitem
><para
>Loob automaatselt ehitamissüsteemi, kus lähtekoodikataloog ja ehitamiskataloog erinevad, et lähtekoodikataloog oleks kindlasti puutumatu. </para
></listitem>

<listitem
><para
>Võimaldab määrata globaalsed võtmed kõigile väljavõetavale moodulile, samuti võtmed igale moodulile eraldi. </para
></listitem>

<listitem
><para
>Kuna auto-tööriistad ei suuda mõnikord käia kaasas lähtekoodipuu muudatustega, saab mooduli ümberehitamise peale sundida, luues vajaliku mooduli ehituskataloogis faili .refresh-me või käivitades &kdesrc-build;i võtmega <option
>--refresh-build</option
>. </para
></listitem>

<listitem
><para
>Võimaldab määrata mitmesuguseid ehitamise ajal kasutatavaid keskkonnamuutujaid, sealhulgas <envar
>KDEDIR</envar
>, <envar
>QTDIR</envar
>, <envar
>DO_NOT_COMPILE</envar
> ja <envar
>CXXFLAGS</envar
>. </para
></listitem>

<listitem
><para
>Käskude logimine. Logid dateeritakse ja nummerdatakse, nii et iga skripti käivitamise kohta on alati omaette logi. Samuti osutab spetsiaalne link nimega latest alati logikataloogi kõige uuemale logile. </para
></listitem>

<listitem
><para
>Kui ehitad &kde; kasutajale, mitte süsteemsena (viimaseks peab olema administraator), saab lasta skriptil enda eest paigaldamine ära teha. See kood ei ole küll saanud vajalikku tähelepanu ning kasutab ohtralt funktsiooni <function
>system()</function
> väljakutseid, mistõttu hetkel ei ole ilmselt soovitatav seda administraatorina tarvitada. </para
></listitem>

<listitem
><para
>Võimaldab kasutada <link linkend="conf-make-install-prefix"
>make-install-prefix</link
>, et anda käsule <userinput
><command
>make</command
> <option
>install</option
></userinput
> prefiks omaette käsuna, mis on kasulik näiteks &sudo; pruukimisel. </para
></listitem>

<listitem
><para
>Välja võib võtta ainult osa &kde; &subversion;i moodulist. Näiteks võib välja võtta ainult <application
>taglib</application
> moodulist <application
>kdesupport</application
> või ainult <application
>K3B</application
> moodulist <application
>extragear/multimedia</application
>. Skript võtab automaatselt välja <application
>kde-common</application
>, kui seda on ehitamiseks vaja. </para
></listitem>

<listitem
><para
>Võimalik on <quote
>teeselda</quote
> millegi tegemist. Käsureal võtit <option
>--pretend</option
> või <option
>-p</option
> andes pakub skript väga põhjaliku käivitatavate käskude kirjelduse ilma neid tegelikult käivitatamata. </para
></listitem>

</itemizedlist>

</sect1>

<sect1 id="kdesrc-build-logging">
<title
>&kdesrc-build;i ehitamislogi</title>

<sect2 id="logging-overview">
<title
>Logimise ülevaade</title>

<para
>Logimine on &kdesrc-build;i omadus, millega kõigi käskude väljund, mida &kdesrc-build; käivitab, salvestatakse faili, kus seda saab hiljem vajaduse korral uurida. Nimelt on sageli vaja just programmide väljundit, eriti kui ehitamine nurjub, sest sellel võib olla väga palju ja väga erinevaid põhjusi.</para>

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

<para
>Logid salvestatakse alati logimiskataloogi. Logimiskataloogi sihtkoha määrab võti <link linkend="conf-log-dir"
>log.dir</link
>, milleks vaikimisi on <filename class="directory"
><symbol
>${source-dir}</symbol
>/log</filename
> (kus <symbol
>${source-dir}</symbol
> on võtme <link linkend="conf-source-dir"
>source-dir</link
> väärtus. Allpool räägitaksegi sellest väärtusest kui <symbol
>${log-dir}</symbol
>).</para>

<para
><symbol
>${log-dir}</symbol
> all paikneb rida katalooge vastavalt ajale, mil &kdesrc-build; töötas. Kataloogide nimi kajastab kuupäeva ja käivitamise järjenumbrit. Näiteks 26. mail 2004. aasta teise &kdesrc-build;i käivitamise korral luuakse kataloog nimega <filename
>2004-05-26-02</filename
>, kus 2004-05-26 tähistab kuupäeva ja -02 on käivitamise järjenumber.</para>

<para
>Puhtalt mugavuse huvides loob &kdesrc-build; ka lingi viimase käivitamise logidele, mille nimeks on <filename
>latest</filename
>. Niisiis leiab &kdesrc-build;i viimase käivitamise logid alati asukohast <filename class="directory"
><symbol
>${log-dir}</symbol
>/latest</filename
>. </para>

<para
>Iga &kdesrc-build;i käivitamise kataloog sisaldab omakorda rida katalooge, üks iga &kde; mooduli kohta, mida &kdesrc-build; üritas ehitada. Samuti leidub kataloogis fail <filename
>build-status</filename
>, mis võimaldab määrata, milliste moodulite ehitamine õnnestus ja milliste mitte.</para>

<note
><para
>Kui moodulil endal on alammooduleid (näiteks extragear/multimedia, playground/utils või KDE/kdelibs), siis kajastub see ka logimiskataloogi struktuuris. Nii leiab näiteks KDE/kdelibs logi viimase &kdesrc-build;i käivitamise ajal asukohas <filename class="directory"
><symbol
>${log-dir}</symbol
>/latest/KDE/kdelibs</filename
>, mitte aga asukohas <filename class="directory"
><symbol
>${log-dir}</symbol
>/latest/kdelibs</filename
>. </para
></note>

<para
>Iga mooduli logimiskataloogis leiab rea faile kõigi toimingute kohta, mida &kdesrc-build; ette võtab. Kui &kdesrc-build; uuendab moodulit, näeb selliseid failinimesid, nagu <filename
>svn-co.log</filename
> (mooduli väljavõtmine) või <filename
>svn-up.log</filename
> (juba varem välja võetud mooduli uuendamine). Kui tööle pandi käsk <command
>configure</command
>, leiab kataloogist faili <filename
>configure.log</filename
>.</para>

<para
>Kui tekkis vigu, näeb nende selgitust mõnes samuti failides. Et saaksid kindlaks määrata, milline fail sisaldab viga. loob &kdesrc-build; lingi, mis osutab viga sisaldavale failile (näiteks faililt <filename
>build-1.log</filename
> failile <filename
>error.log</filename
>).</para>

<para
>Lühidalt öeldes tuleb selleks, et näha, miks viimane &kdesrc-build;i käivitamine ei suutnud moodulit ehitada, kõigepealt uurida faili <filename
><symbol
>${log-dir}</symbol
>/latest/<replaceable
>mooduli-nimi</replaceable
>/error.log</filename
>. </para>

<tip
><para
>Kui fail <filename
>error.log</filename
> on tühi (eriti pärast paigaldamist), siis vahest vigu ei esinenudki. Mõned &kde; ehitamissüsteemi tööriistad annavad mõnikord ekslikult veast teada ka siis, kui viga ei olnudki.</para>

<para
>Samuti võivad mõned käsud vältida &kdesrc-build;i väljundi ümbersuunamist ning teatavates oludes mitte sattuda logifaili (sagedamini siis, kui tehakse esimene &subversion;i väljavõte). Sellisel juhul ei väljastata viga mitte logifaili, vaid seda näitab hoopis &konsole; või terminal, kus pandi tööle &kdesrc-build;.</para>
</tip>

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

</chapter>

<chapter id="kdesrc-buildrc">
<title
>&kdesrc-build;i seadistamine</title>

<sect1 id="kdesrc-buildrc-overview">
<title
>&kdesrc-build;i seadistamise ülevaade</title>

<para
>Skripti kasutamiseks peab sul kodukataloogis olema fail <filename
>.kdesrc-buildrc</filename
>, mis kirjeldab mooduleid, mida soovid alla laadida ja ehitada. </para>

<para
>See algab globaalsete võtmetega umbes nii: </para>

<programlisting
>global
<replaceable
>võtme-nimi võtme-väärtus</replaceable>
<replaceable
>[...]</replaceable>
end global
</programlisting>

<para
>Sellele järgneb üks või enam moodulisektsiooni, mis näeb välja umbes nii: </para>

<programlisting
>module <replaceable
>mooduli-nimi</replaceable>
<replaceable
>võtme-nimi võtme-väärtus</replaceable>
<replaceable
>[...]</replaceable>
end module
</programlisting>

<para
><replaceable
>mooduli-nimi</replaceable
> peab olema &kde; &subversion;i hoidlas leiduva mooduli nimi (näiteks kdelibs või kdebase). Mõned võtmed tühistavad globaalsed võtmed, mõned täiendavad globaalseid võtmeid, mõningaid globaalseid võtmeid aga ei saagi millegagi tühistada. </para>

<para
>Järgnevalt toome ära levinumate võtmete nimekirja. Klõpsuga võtme nimele näeb selle kohta rohkem infot. Kõigi võtmete nägemiseks vaata osa <xref linkend="conf-options-table"/>. </para>

<itemizedlist>
<listitem
><para
><link linkend="conf-branch"
>branch</link
> teeb väljavõtte harust, mitte aga tüvest (trunk).</para
></listitem>
<listitem
><para
><link linkend="conf-build-dir"
>build-dir</link
> määrab ehitamiskataloogi.</para
></listitem>
<listitem
><para
><link linkend="conf-cmake-options"
>cmake-options</link
> määrab, milliste lippudega moodulit konfigureerida &cmake;'i kasutades.</para
></listitem>
<listitem
><para
><link linkend="conf-configure-flags"
>configure-flags</link
> määrab, milliste lippudega moodulit konfigureerida.</para
></listitem>
<listitem
><para
><link linkend="conf-cxxflags"
>cxxflags</link
> määrab muutuja <envar
>CXXFLAGS</envar
>.</para
></listitem>
<listitem
><para
><link linkend="conf-kdedir"
>kdedir</link
> määrab kataloogi, kuhu &kde; paigaldada.</para
></listitem>
<listitem
><para
><link linkend="conf-kde-languages"
>kde-languages</link
> määrab kataloogi, kuhu alla laadida ja paigaldada tõlkepaketid.</para
></listitem>
<listitem
><para
><link linkend="conf-make-options"
>make-options</link
> edastab võtmed programmile &make;.</para
></listitem>
<listitem
><para
><link linkend="conf-qtdir"
>qtdir</link
> määrab &Qt; asukoha.</para
></listitem>
<listitem
><para
><link linkend="conf-set-env"
>set-env</link
> määrab keskkonnamuutuja.</para
></listitem>
<listitem
><para
><link linkend="conf-source-dir"
>source-dir</link
> muudab asukohta, kuhu laaditakse alla lähtekood.</para
></listitem>
<listitem
><para
><link linkend="conf-svn-server"
>svn-server</link
> muudab serverit, kust lähtekood alla laaditakse.</para
></listitem>
</itemizedlist>

</sect1>
<sect1 id="conf-options-table">
<title
>Saadaolevate seadistamisvalikute tabel</title>

<para
>Mitmesuguste võtmete tabel, mis sisaldab järgmist teavet:</para>

<itemizedlist>

<listitem
><para
>Võtme nimi</para
></listitem>

<listitem
><para
>Kirjeldus, kuidas &kdesrc-build; reageerib mooduli ehitamisel, kui võti on määratud nii <link linkend="configure-data"
>seadistustefaili</link
> globaalses kui ka mooduli sektsioonis.</para
></listitem>

<listitem
><para
>Erikommentaarid võtme eesmärgi ja kasutamise kohta.</para
></listitem>

</itemizedlist>

<table id="option-table">
<title
>Võtmete tabel</title>
<tgroup cols="3">

<thead>
<row>
<entry
>Võtme nimi</entry>
<entry
>Mooduli ja globaalse võtme suhe</entry>
<entry
>Märkused</entry>
</row>
</thead>

<tbody>

<row>
<entry
>apidox</entry>
<entry
></entry>
<entry
><para
>Selle võtmega sai lubada KDE mooduli API dokumentatsiooni ehitamise. See eemaldati &kdesrc-build;i versioonist 1.6.3, sest KDE 4 seda enam ei toetanud. API dokumentatsioon on saadaval võrgus aadressil <ulink url="http://api.kde.org/"
> org</ulink
>. Lisaks saab ehitada ka KDE 4 API dokumentatsiooni, kasutades skripti, mille leiab moodulist kdesdk (kataloogis /scripts). Täpsemalt kõneleb sellest <ulink url="http://techbase.kde.org/Development/Tools/apidox"
>KDE TechBase</ulink
>. Vanematele moodulitele saab muidugi endiselt API dokumentatsiooni käsitsi ehitada.</para>
</entry>
</row>

<row>
<entry
>apply-qt-patches</entry>
<entry
></entry>
<entry
>See valik eemaldati kdesrc-buildi versioonis 1.10. Sama tulemuse saavutamise kohta vaata <xref linkend="using-qt-copy"/> ja võtit <link linkend="conf-repository"
>repository</link
>.</entry>
</row>

<row id="conf-async">
<entry
>async</entry>
<entry
>Ei ole tühistatav</entry>
<entry
><para
>Selle võtmega saab sisse lülitada asünkroonse režiimi, mille puhul lähtekoodi uuendamine ja ehitamine käib paralleelselt, mitte ei oodata kogu lähtekoodi allalaadimist, enne kui alustada ehitamist. Vaikimisi on asünkroonne režiim sisse lülitatud. Kui sa seda ei soovi, määra võtme väärtuseks <replaceable
>false</replaceable
>.</para>
<para
>Võti on kasutatav alates versioonist 1.6.</para
></entry>
</row>

<row id="conf-binpath">
<entry
>binpath</entry>
<entry
>Mooduli seadistus tühistab globaalse</entry>
<entry
><para
>Selle võtmega saab ehitamiseks määrata keskkonnamuutuja PATH. Seda ei saa moodulivõtmega tühistada. Vaikimisi on väärtuseks $<envar
>PATH</envar
>, mis määratakse skripti käivitamisel. Keskkonnamuutuja peab koolonitega eraldatult sisaldama sinu arendustööriistade asukohti. Asukohad <filename class="directory"
>$<envar
>KDEDIR</envar
>/bin</filename
> ja <filename class="directory"
>$<envar
>QTDIR</envar
>/bin</filename
> lisatakse automaatselt. Selle võtme juures võib iga asukoha määramisel tarvitada ka tildet (~).</para>
</entry>
</row>

<row id="conf-branch">
<entry
>branch</entry>
<entry
>Mooduli seadistus tühistab globaalse</entry>
<entry
><para
>Selle võtmega saab määrata &kde; haru väljavõtmise, mitte aga vaikimisi väljavõetava tüve (<replaceable
>trunk</replaceable
>), kus üldiselt käib põhiline arendustegevus. Näiteks &kde; 4.5 haru väljavõtmiseks määra võtme väärtuseks <replaceable
>4.5</replaceable
>.</para>
<para
>Kui &kdesrc-build; ei suuda antud võtmega haru korralikult alla laadida, võib olla vajalik käsitsi määrata allalaadimiskoha &url; võtmega <link linkend="conf-module-base-path"
>module-base-path</link
> või <link linkend="conf-override-url"
>override-url</link
></para>
<para
>Märkus: see valik toimib ka lähtekoodi moodulitega, mis kasutavad &subversion;i asemel &git;i.</para>
</entry>
</row>

<row id="conf-build-dir">
<entry
>build-dir</entry>
<entry
>Mooduli seadistus tühistab globaalse</entry>
<entry
>Selle võtmega saab muuta ehitamiseks kasutatava lähtekoodikataloogi asukohta. Seda saab määrata kolmel viisil: <orderedlist
> <listitem
><para
>Suhteline &kde; &subversion;i lähtekoodikataloogi suhtes (vaata <link linkend="conf-source-dir"
>võtit source-dir</link
>). See on vaikevalik ja valitakse juhul, kui annad kataloogi nime, mille alguses ei seisa tilde (~) või kaldkriips (/).</para
> <para
>Vaikeväärtus on <filename class="directory"
>build</filename
>.</para
></listitem
> <listitem
><para
>Absoluutne asukoht. Kui määrad asukoha, mille alguses seisab kaldkriips (/), kasutatakse täpselt määratud asukohta. Näide: <filename class="directory"
>/tmp/kde-obj-dir/</filename
>.</para
></listitem
> <listitem
><para
>Suhteline kodukataloogi suhtes. Kui määrad asukoha, mille alguses seisab tilde (~), arvestatakse seda asukohta sinu kodukataloogist lähtudes. Näide: <filename class="directory"
>~/builddir</filename
> määrab ehitamiskataloogiks <filename class="directory"
>/home/user-name/builddir</filename
>.</para
></listitem
> </orderedlist
> Mõnevõrra üllatuslikult saab seda võtit muuta ka igas moodulis eraldi. </entry>
</row>

<row id="conf-build-when-unchanged">
<entry
>build-when-unchanged</entry>
<entry
>Mooduli seadistus tühistab globaalse</entry>
<entry
><para
>Selle võtmega saab määrata, kas &kdesrc-build; peab alati püüdma ehitada moodulit, mille lähtekoodi pole uuendatud.</para>

<para
>Andes võtmele <option
>build-when-unchanged</option
> väärtuseks <replaceable
>true</replaceable
>, püüab &kdesrc-build; alati moodulit ehitada, isegi kui mooduli lähtekoodis pole mingeid uuendusi. See on vaikimisi sisse lülitatud, sest tagab tõenäoliselt korrektsema ehitamise.</para>

<para
>Andes võtmele <option
>build-when-unchanged</option
> väärtuseks <replaceable
>false</replaceable
>, püüab &kdesrc-build; moodulit ehitada ainult siis, kui mooduli lähtekoodi on uuendatud, või teistes olukordades, kus tõenäoliselt on vajalik ümberehitamine. See võib säästa aega, eriti kui kasutad skripti &kdesrc-build; igapäevaselt või veelgi sagedamini.</para>

<important
><para
>See võimalus on mõeldud ainult optimeerimiseks. Nagu optimeerimise puhul ikka, on tasakaalustavaks elemendiks paigalduse korrektsus. Näiteks muudatused moodulis qt-copy või kdelibs võivad muuta vajalikuks teiste moodulite ümberehitamise, ehkki lähtekood ei pruugi olla üldse muutunud.</para
></important>
</entry>
</row>

<row id="conf-checkout-only">
<entry
>checkout-only</entry>
<entry
>Mooduli seadistus tühistab globaalse</entry>
<entry
><para
>Selle võtmega saab määrata &subversion;i lähtekoodi väljavõtmise jupphaaval. Võtme väärtus kujutab endast tühikutega eraldatud väljavõetavate kataloogide nimekirja. Ehkki see võti tühistab globaalse võtme, pane tähele, et selle määramine globaalse võtmena pole just eriti mõttekas. </para>

<para
>Pane tähele, et see seadistus ei avalda mõju &git;i moodulitele &git;i lähtekoodi haldussüsteemi tegevuse tõttu.</para>

<para
>Vaata näiteks <xref linkend="checking-out-parts"/>.</para
></entry>
</row>

<row id="conf-cmake-options">
<entry
>cmake-options</entry>
<entry
>Täiendab globaalset võtit (v.a. qt-copy korral)</entry>
<entry
><para
>Selle võtmega saab määrata, millised lipud edastada &cmake;'ile mooduli ehitamissüsteemi loomisel. Kasutamisel globaalse võtmena rakendatakse seda kõigile moodulitele, mida skriptiga ehitatakse. Mooduli võtmena lisatakse see globaalsete võtmete lõppu. See võimaldab määrata globaalses sektsioonis üldised &cmake;'i võtmed.</para>

<para
>See võti ei käi qt-copy kohta (sest see ei kasuta &cmake;'i). Selle asemel tuleks kasutada <link linkend="conf-configure-flags"
>configure'i lippe</link
>.</para>

<para
>Et need võtmed edastatakse otse &cmake;'ile, tuleb need anda nii, nagu olekski nad kirjutatud otse &cmake;'i, näiteks:</para>

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

<para
>Selle segaduse tõttu püüab &kdesrc-build; igati tagada, et kui ülejäänud võtmed on korrektselt määratud, saaks selle üldse andmata jätta (teisisõnu määratakse <emphasis
>nõutavad</emphasis
> &cmake;'i parameetrid sinu eest automaatselt).</para
></entry>
</row>

<row id="conf-colorful-output">
<entry
>colorful-output</entry>
<entry
>Ei ole tühistatav</entry>
<entry
>Määra väärtuseks <replaceable
>false</replaceable
>, kui soovid keelata &kdesrc-build;i värvilise väljundi. Vaikimisi on väärtuseks <replaceable
>true</replaceable
>. Pane tähele, et &kdesrc-build; saadab värvikoodid ainult terminali (näiteks xterm, &konsole; või tavaline &Linux; konsool). </entry>
</row>

<row id="conf-configure-flags">
<entry
>configure-flags</entry>
<entry
>Mooduli seadistus tühistab globaalse</entry>
<entry
><para
>Selle võtmega saab määrata, millised lipud edastada käsule ./configure mooduli ehitamissüsteemi loomisel. Kasutamisel globaalse võtmena rakendatakse seda kõigile moodulitele, mida skriptiga ehitatakse. <emphasis
>See võti käib ainult qt-copy kohta</emphasis
>.</para>

<para
>KDE 4 moodulite konfigureerimisseadistuste muutmise kohta vaata <link linkend="conf-cmake-options"
>cmake-options</link
>. </para>
</entry>
</row>

<row id="conf-cxxflags">
<entry
>cxxflags</entry>
<entry
>Täiendab globaalset võtit</entry>
<entry
><para
>Selle võtmega saab määrata, milliseid lippe kasutada mooduli ehitamisel. See võti on siin võtme <link linkend="conf-configure-flags"
>configure-flags</link
> või <link linkend="conf-cmake-options"
>cmake-options</link
> asemel, sest see määrab ka ehitamise ajal keskkonnamuutuja <envar
>CXXFLAGS</envar
>.</para>

<para
>Pane tähele, et &kde; 4 ja kõigi teiste moodulite korral, mille puhul on kasutusel &cmake;, tuleb mooduli konfigureerimisel võtme CMAKE_BUILD_TYPE väärtuseks määrata "none". Seda saab teha võtmega <link linkend="conf-cmake-options"
>cmake-options</link
>.</para>
</entry>
</row>

<row id="conf-dest-dir">
<entry
>dest-dir</entry>
<entry
>Mooduli seadistus tühistab globaalse</entry>
<entry
>Selle võtmega saab muuta moodulile kettal antavat nime. Kui moodul on näiteks extragear/network, võib sellele käesoleva võtmega anda nimeks extragear-network. Pane tähele, et kuigi see muudab mooduli nime kettal, ei ole sugugi hea mõte kasutada nimes katalooge või kataloogide eraldajaid, sest see häiriks võtmete <link linkend="conf-build-dir"
>build-dir</link
> või <link linkend="conf-source-dir"
>source-dir</link
> kasutamist. </entry>
</row>

<row id="conf-disable-agent-check">
<entry
>disable-agent-check</entry>
<entry
>Ei ole tühistatav</entry>
<entry
>Kui kasutad &subversion;i lähtekoodi allalaadimiseks &ssh;-d (näiteks protokolli svn+ssh puhul), siis &kdesrc-build; püüab tavaliselt kontrollida, et ssh-agent haldaks tõepoolest mingeid &ssh; identiteete. Nii saab vältida seda, et &ssh; päriks iga mooduli korral paroolifraasi. Soovi korral võib selle kontrolli välja lülitada, andes võtmele <option
>disable-agent-check</option
> väärtuseks <replaceable
>true</replaceable
>. </entry>
</row>

<row id="conf-do-not-compile">
<entry
>do-not-compile</entry>
<entry
>Mooduli seadistus tühistab globaalse</entry>
<entry
><para
>Selle võtmega saab määrata kindlad kataloogid, mida mooduli korral ei ehitata. Ehitamata jäävad kataloogid tuleb eraldada tühikuga.</para>

<para
>Pane tähele, et programmide lähtekood laaditakse sellele vaatamata alla. Määramaks, milliseid katalooge alla laaditakse, kasuta võtit <link linkend="conf-checkout-only"
>checkout-only</link
>.</para>

<para
>Kui näiteks soovid jätta kdemultimedia moodulis kompileerimata rakendused &juk; ja &kscd;, lisagi kdemultimedia seadistustele "do-not-compile juk kscd".</para>

<para
>Vaata näiteks <xref linkend="not-compiling"/>.</para>
</entry>
</row>

<row id="conf-email-address">
<entry
>email-address</entry>
<entry
>Ei ole tühistatav</entry>
<entry>
<para
>Selle võtmega saab määrata e-posti aadressi, mida &kdesrc-build; kasutab, kui tal peaks tekkima vajadus e-kirja saata. Selle üle ei peaks muret tundma, kui sa ei kasuta mõnda e-posti võimalusega omadust (vaikimisi on need välja lülitatud). </para>

<para
>Praegu vajab seda võtit ainult võti <link linkend="conf-email-on-compile-error"
>email-on-compile-error</link
>.</para>
</entry>
</row>

<row id="conf-email-on-compile-error">
<entry
>email-on-compile-error</entry>
<entry
>Ei ole tühistatav</entry>
<entry>
<para
>Selle võtmega võib määrata e-posti aadressi, kuhu saata kiri, kui mooduli ehitamine nurjub. &kdesrc-build; ootab, kuni kõigi moodulite ehitamine on lõppenud ja koondab siis kõik tulemused raportisse. Raport saadetakse ainult siis, kui mooduli ehitamine nurjus. </para>

<para
>Võtmega <link linkend="conf-email-address"
>email-address</link
> saab määrata aadressi, mida &kdesrc-build; saatmisel kasutab. Kontrolli seda, sest vaikimisi ei ole see arvatavasti sugugi selline, nagu vaja. </para>
</entry>
</row>

<row>
<entry
>inst-apps</entry>
<entry
></entry>
<entry
>See valik eemaldati versioonis 1.10 </entry>
</row>

<row id="conf-install-after-build">
<entry
>install-after-build</entry>
<entry
>Mooduli seadistus tühistab globaalse</entry>
<entry
>Selle võtmega saab paketi paigaldada pärast edukat ehitamist. Vaikimisi on see sisse lülitatud. Kui soovid seda keelata, määra selle võtme väärtuseks <link linkend="configure-data"
>konfiguratsioonifailis</link
> <replaceable
>false</replaceable
>. Samuti võib tarvitada käsurealippu <link linkend="cmdline-no-install"
><option
>--no-install</option
></link
>. </entry>
</row>

<row id="conf-kdedir">
<entry
>kdedir</entry>
<entry
>Mooduli seadistus tühistab globaalse</entry>
<entry
>Selle võtmega määratakse kataloog, kuhu &kde; pärast ehitamist paigaldatakse. Vaikimisi on selleks <filename class="directory"
>~/kde</filename
>. Kui määrad siin kataloogi, mille ligipääs nõuab administraatori õigusi, tasuks tutvuda ka võtme <link linkend="conf-make-install-prefix"
>make-install-prefix</link
> kirjeldusega.</entry>
</row>

<row id="conf-kde-languages">
<entry
>kde-languages</entry>
<entry
>Ei ole tühistatav</entry>
<entry
><para
>See võti võimaldab &kde; kõrval alla laadida ja paigaldada lokaliseerimispaketid. See on eriti mõttekas, kui sa ei ela näiteks Ameerika Ühendriikides ja soovid, et &kde; oleks tõlgitud ka sinu emakeelde.</para>

<para
>Võtme kasutamisel tuleb tühikutega eraldatult määrata paigaldatavad keeled. Iga keelega on seotud kindel keelekood, mille leiab näiteks veebilehelt <ulink url="http://i18n.kde.org/teams/"
>http://i18n.kde.org/teams/</ulink
>. </para>

<para
>Valida võib ka ainult ühe keele. Vaikimisi ei laadita alla ühtegi keelt, mis ühtlasi tähendab, et &kde; on Ameerika inglise keeles.</para>

<para
>Näiteks prantsuse keele paigaldamiseks peaks võti välja nägema umbes nii: <userinput
><option
>kde-languages</option
> <replaceable
>fr</replaceable
></userinput
>. Aga ka pärast seda tuleb Süsteemi seadistustes prantsuse keele kasutamine sisse lülitada.</para>
</entry>
</row>

<row id="conf-libpath">
<entry
>libpath</entry>
<entry
>Mooduli seadistus tühistab globaalse</entry>
<entry
>Selle võtmega saab määrata ehitamise ajal kasutatava keskkonnamuutuja <envar
>LD_LIBRARY_PATH</envar
>. Seda ei saa moodulivõtmega tühistada. Vaikimisi on see tühi, kuid asukohad <filename class="directory"
>$<envar
>KDEDIR</envar
>/lib</filename
> ja <filename class="directory"
>$<envar
>QTDIR</envar
>/lib</filename
> lisatakse automaatselt. Võtme juures võib iga asukoha määramisel kasutada tildet (~). </entry>
</row>

<row id="conf-log-dir">
<entry
>log-dir</entry>
<entry
>Mooduli seadistus tühistab globaalse</entry>
<entry
>Selle võtmega saab muuta kataloogi, kus hoitakse skripti tekitatud logifaile. </entry>
</row>

<row id="conf-make-install-prefix">
<entry
>make-install-prefix</entry>
<entry
>Mooduli seadistus tühistab globaalse</entry>
<entry
>Selle võtmega saab tühikutega eraldatult määrata nimekirja, mida tõlgendatakse käsu ja selle võtmetena, mis lisatakse moodulite paigaldamiseks kasutatava käsu <userinput
><command
>make</command
> <option
>install</option
></userinput
> ette. See on kasulik näiteks pakettide paigaldamisel &sudo;'ga, kuid palun ole ettevaatlik, kui tegemist on administraatori õigustega.</entry>
</row>

<row id="conf-make-options">
<entry
>make-options</entry>
<entry
>Mooduli seadistus tühistab globaalse</entry>
<entry
>Selle muutujaga saab edastada käsule <command
>make</command
> käsureavõtmeid. See on kasulik sellistele programmidele nagu <ulink url="http://distcc.samba.org/"
><application
>distcc</application
></ulink
> või süsteemides, kus on enam kui üks protsessorituum. </entry>
</row>

<row id="conf-manual-build">
<entry
>manual-build</entry>
<entry
>Mooduli seadistus tühistab globaalse</entry>
<entry
>Määra võtme väärtuseks <replaceable
>true</replaceable
>, kui soovid, et ehitamisel ei ehitataks antud moodulit. &subversion;ist uuendamisel seda siiski uuendatakse. See on samaväärne käsureavõtmega <link linkend="cmdline-no-build"
><option
>--no-build</option
></link
>. </entry>
</row>

<row id="conf-manual-update">
<entry
>manual-update</entry>
<entry
>Mooduli seadistus tühistab globaalse</entry>
<entry
>Määra võtme väärtuseks <replaceable
>true</replaceable
>, kui soovid, et ehitamisel ei üritataks moodulit uuendada (ja seeläbi ka ehitada ega paigaldada). Kui määrad selle võtme moodulile, siis tähendab see sisuliselt selle kõrvalejätmist ehitamisest. </entry>
</row>

<row id="conf-module-base-path">
<entry
>module-base-path</entry>
<entry
>Mooduli seadistus tühistab globaalse</entry>
<entry
><para
>Selle võtmega saab tühistada &kdesrc-build;i vaikimisi kataloogiasukoha antud moodulile. Seda saab kasutada näiteks konkreetse haru või sildi väljavõtmiseks. Õige asukoha määratlemisel on kindlasti hindamatuks abiks <ulink url="http://websvn.kde.org/"
>&kde; lähtekoodi hoidla veebis</ulink
>.</para>

<para
>Pane tähele, et &kdesrc-build; loob lõpliku asukoha järgmise malli põhjal: <filename class="directory"
><varname
>$svn-server</varname
>/home/kde/<varname
>$module-base-path</varname
></filename
>. </para>

<para
>Vaikeväärtus on sõltuvalt mooduli nimest <filename class="directory"
>trunk/<varname
>$module</varname
></filename
> või <filename class="directory"
>trunk/KDE/<varname
>$module</varname
></filename
>.</para>

<tip
><para
>Võimaluse korral kasuta selle asemel võtmeid <link linkend="conf-branch"
>branch</link
> või <link linkend="conf-tag"
>tag</link
>. </para
></tip>
</entry>
</row>

<row id="conf-niceness">
<entry
>niceness</entry>
<entry
>Ei ole tühistatav</entry>
<entry
>Selle võtme väärtus on arv vahemikus 20 kuni 0. Mida suurem arv, seda väiksem on prioriteet, mida &kdesrc-build; endale omistab. Vaikeväärtus on 10. </entry>
</row>

<row id="conf-no-svn">
<entry
>no-svn</entry>
<entry
>Mooduli seadistus tühistab globaalse</entry>
<entry
>Kui võtme väärtuseks on määratud 'true', ei uuenda &kdesrc-build; automaatselt mooduli lähtekoodi. Siiski püütakse moodul ehitada, kui see on muidu ette nähtud.</entry>
</row>

<row>
<entry
>no-rebuild-on-fail</entry>
<entry
></entry>
<entry
>See valik eemaldati versioonis 1.10, sest ehitussüsteemi paranduste tõttu ei ole sel käitumisel enam mõtet.</entry>
</row>

<row id="conf-override-url">
<entry
>override-url</entry>
<entry
>Mooduli seadistus tühistab globaalse</entry>
<entry
>Selle võtme kasutamisel tarvitab &kdesrc-build; selle väärtust &url;-ina, mis edastatakse &subversion;ile <emphasis
>täiesti muutmatult</emphasis
>. Üldiselt tuleks seda kasutada siis, kui soovid alla laadida konkreetset väljalaset, kuid &kdesrc-build; ei suuda sinu soovidest võtme <link linkend="conf-branch"
>branch</link
> põhjal aru saada. </entry>
</row>

<row id="conf-prefix">
<entry
>prefix</entry>
<entry
>Mooduli seadistus tühistab globaalse</entry>
<entry
>See võti määrab, kuhu paigaldada moodul (tavaliselt kasutatakse seadistust <option
><link linkend="conf-kdedir"
>kdedir</link
></option
>). Selle võtmega saab mooduli paigaldada muusse kataloogi kui see, kuhu on paigaldatud KDE platvormi teegid, mis on abiks juhul, kui kasutad &kdesrc-build;i ainult rakenduste ehitamiseks. </entry>
</row>

<row id="conf-purge-old-logs">
<entry
>purge-old-logs</entry>
<entry
>Mooduli seadistus tühistab globaalse</entry>
<entry
><para
>See valik määrab, kas vanad logikataloogid automaatselt kustutada või mitte. Vaikeväärtus on <replaceable
>false</replaceable
>.</para>

<para
>Isegi kui sa ei ole määranud seda valikut tõeseks, võid käsitsi kõrvaldada vanad logikataloogid käsuga:</para>

<command
>kdesrc-build --no-src --no-build --purge-old-logs <replaceable
>kdelibs</replaceable
></command>

<para
>Eeltoodud käsus võib kasutada mis tahes mooduli nime, see ei pea olema kdelibs.</para>
</entry>
</row>

<row id="conf-qtdir">
<entry
>qtdir</entry>
<entry
>Mooduli seadistus tühistab globaalse</entry>
<entry
>Selle võtmega saab määrata ehitamisel kasutatava keskkonnamuutuja <envar
>QTDIR</envar
>. Seda ei saa moodulivõtmega tühistada. Kui see pole määratud, kasutatakse vaikimisi asukohta <filename class="directory"
><symbol
>$(source-dir)</symbol
>/build/qt-copy</filename
>, mis kasutab &kde; lähtekoodihoidlas leiduvat qt-copy moodulit. Kodukataloogi tähistamiseks võib kasutada tildet (~). </entry>
</row>

<row id="conf-remove-after-install">
<entry
>remove-after-install</entry>
<entry
>Mooduli seadistus tühistab globaalse</entry>
<entry
><para
>Kui sul napib kõvakettal ruumi, võib selle võtmega lasta automaatselt kustutada ehitamiskataloogi (või ka korraga nii lähtekoodi- kui ka ehitamiskataloogi) pärast mooduli edukat paigaldamist. </para>
<para
>Võtme võimalikud väärtused on järgmised: <itemizedlist>
<listitem
><para
>none - midagi ei kustutata (vaikimisi).</para
></listitem>
<listitem
><para
>builddir - kustutatakse ehitamiskataloog, aga mitte lähtekoodikataloog.</para
></listitem>
<listitem
><para
>all - kustutatakse nii lähtekoodi- kui ehitamiskataloog.</para
></listitem>
</itemizedlist>
</para>

<para
>Pane tähele, et selle võtme kasutamine mõjutab päris negatiivselt nii sinu tekitatavat võrgukoormust (kui kasutad väärtust <replaceable
>all</replaceable
>) kui ka &kde; kompileerimiseks kuluvat aega, sest &kdesrc-build; ei saa sel juhul kasutada inkrementehitamist.</para>
</entry>
</row>

<row id="conf-repository">
<entry
>repository</entry>
<entry
>Mooduli seadistus tühistab globaalse</entry>
<entry
><para
>See valik ilmus versioonis 1.10 ning seda kasutatakse &git;i hoidla määramiseks, kust laadida alla mooduli lähtekood. Seda valikut vajavad &Qt; (ja seega ka qt-copy) ning mitmed &kde; moodulid, mis tasapisi lähevad üle &git;i kasutamisele.</para
></entry>
</row>

<row id="conf-revision">
<entry
>revision</entry>
<entry
>Mooduli seadistus tühistab globaalse</entry>
<entry
>Kui võtmele on antud muu väärtus kui 0 (null), sunnib &kdesrc-build; &subversion;i uuendama, et saada mooduli täpselt nõutud versioon, isegi kui toimib mõni selline võti nagu <link linkend="conf-branch"
>branch</link
>. Kui mooduli versioon on juba nõutav, seda enam ei uuendata, kui just võtit ei muudeta või ei eemaldata seadistusest.</entry>
</row>

<row id="conf-run-tests">
<entry
>run-tests</entry>
<entry
>Mooduli seadistus tühistab globaalse</entry>
<entry
>Kui väärtuseks on määratud <replaceable
>true</replaceable
>, ehitatakse moodul testkomplekti käivitamise toetusega, mis käivitatakse osana ehitusprotsessist. &kdesrc-build; näitab lihtsat testitulemuste aruannet. See on abiks arendajatele või inimestele, kes tahavad olla kindlad, et nende süsteem on korrektselt üles ehitatud.</entry>
</row>

<row id="conf-set-env">
<entry
>set-env</entry>
<entry
>Mooduli seadistus tühistab globaalse</entry>
<entry
><para
>Selle võtme juures saab anda tühikuga eraldatult väärtuste nimekirja, mille esimene väärtus on määratav keskkonnamuutuja ja ülejäänud selle muutuja väärtused. Näiteks muutujale <envar
>RONALD</envar
> väärtuse McDonald andmine käib nii:</para>
<screen
><command
>set-env</command
> <envar
>RONALD</envar
> <userinput
>McDonald</userinput
></screen>
<para
>See võti on eriline selle poolest, et seda võib korrata ilma varasemaid set-env määratlusi <link linkend="configure-data"
>konfiguratsioonifaili</link
> samas sektsioonis tühistamata. Sel moel võid moodulis (või ka globaalselt) määrata mitu keskkonnamuutujat.</para>
</entry>
</row>

<row id="conf-source-dir">
<entry
>source-dir</entry>
<entry
>Mooduli seadistus tühistab globaalse</entry>
<entry
>Selle võtmega saab määrata kataloogi oma arvutis, kuhu salvestatakse &kde; &subversion;i lähtekood. Kui see pole määratud, kasutatakse vaikeväärtusena <filename class="directory"
>~/kdesrc</filename
>. Kodukataloogi tähistamiseks võib kasutada tildet (~). </entry>
</row>

<row id="conf-stop-on-failure">
<entry
>stop-on-failure</entry>
<entry
>Mooduli seadistus tühistab globaalse</entry>
<entry
>Määra selle võtme väärtuseks <replaceable
>true</replaceable
>, kui soovid, et skript peataks töö pärast vea tekkimist ehitamisel või paigaldamisel. Vaikimisi on see välja lülitatud. </entry>
</row>

<row id="conf-svn-server">
<entry
>svn-server</entry>
<entry
>Mooduli seadistus tühistab globaalse</entry>
<entry
><para
>Selle võtmega saab määrata serveri, kust &subversion; välja võetakse. Vaikimisi on see anonüümne &subversion;i hoidla <filename
>svn://anonsvn.kde.org/</filename
>.</para>
<note
><para
>Kui tegeled KDE arendamisega, kasuta &subversion;i hoidlat, mis pakuti sule välja arendaja konto saamiselt, mitte aga anonüümset hoidlat.</para
></note>
</entry>
</row>

<row id="conf-tag">
<entry
>tag</entry>
<entry
>Mooduli seadistus tühistab globaalse</entry>
<entry
><para
>Selle võtmega saab alla laadida mooduli konkreetse väljalaske.</para>
<para
><emphasis
>Märkus:</emphasis
> on üsna usutav, et <emphasis
>sa ei soovi</emphasis
> seda võtit kasutada. &kde; väljalasked asuvad tar-failidena <ulink url="ftp://ftp.kde.org/"
>&kde; FTP-saidil</ulink
> ning selle <ulink url="http://download.kde.org/download.php"
>peegelsaitidel</ulink
>.</para>
</entry>
</row>

<row>
<entry
>use-cmake</entry>
<entry
></entry>
<entry
>See võti eemaldati &kdesrc-build;i versioonis 1.4, sest kõigi &kde; 4 moodulite puhul on vajalik &cmake; ning &cmake;'i kasutamine ei ole lubatud ühegi teise mooduli puhul. </entry>
</row>

<row id="conf-use-idle-io-priority">
<entry
>use-idle-io-priority</entry>
<entry
>Ei ole tühistatav</entry>
<entry
>See valik, mis ilmus &kdesrc-build;i versioonis 1.12, annab ketta ja muule sisendi-väljundi kasutamisele madalama prioriteedi, mis enamasti parandab tunduvalt ülejäänud süsteemi reageerimist, ehkki pikendab mõnevõrra &kdesrc-build;i tööaega. Vaikimisi on see keelatud, ketta madalama prioriteedi lubamiseks määra väärtuseks <replaceable
>true</replaceable
>. </entry>
</row>

<row id="conf-use-qt-builddir-hack">
<entry
>use-qt-builddir-hack</entry>
<entry
>Mooduli seadistus tühistab globaalse</entry>
<entry
>See võti on eemaldatud &Qt; ehitamissüsteemi paranduste tõttu. </entry>
</row>

<row>
<entry
>use-stable-kde</entry>
<entry
></entry>
<entry
><para
>See valik eemaldati versioonis 1.10, mis piirab toetuse KDE 4-ga. </para>
</entry>
</row>

</tbody>

</tgroup>
</table>

</sect1>
</chapter>

<chapter id="cmdline">
<title
>Käsureavõtmed ja keskkonnamuutujad</title>

<sect1 id="supported-envvars">
<title
>Toetatud keskkonnamuutujad</title>

<para
>&kdesrc-build; ei kasuta keskkonnamuutujaid. Kui sul on vaja ehitamiseks või paigaldamiseks määrata keskkonnamuutujaid, uuri võtme <link linkend="conf-set-env"
>set-env</link
> kirjeldust. </para>

</sect1>

<sect1 id="supported-cmdline-params">
<title
>Toetatud käsureaparameetrid</title>

<para
>Skript tunnistab järgmisi käsureavõtmeid: </para>

<variablelist>

<varlistentry id="cmdline-async">
<term
><parameter
>--async</parameter
></term>
<listitem
><para
>Lülitab sisse <link linkend="conf-async"
>asünkroonse režiim</link
>, mis lubab lähtekoodi uuendada ja mooduleid ehitada ühel ja samal ajal. Vaikimisi on see sisse lülitatud, see vajab määramist ainult siis, kui keelad selle seadistuses. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-help">
<term
><parameter
>--help</parameter
></term>
<listitem
><para
>Näitab lihtsat abiinfot skripti kohta. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-version">
<term
><parameter
>--version</parameter
></term>
<listitem
><para
>Näitab programmi versiooni. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-author">
<term
><parameter
>--author</parameter
></term>
<listitem
><para
>Näitab autori kontaktinfot. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-color">
<term
><parameter
>--color</parameter
></term>
<listitem
><para
>Värvilise väljundi lubamine (vaikimisi interaktiivsete terminalide puhul). </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-nice">
<term
><parameter
>--nice=<replaceable
>väärtus</replaceable
></parameter
></term>
<listitem
><para
>See väärtus kohandab &kdesrc-build;i nõutavat arvuti protsessori kasutamise prioriteeti ning peab olema vahemikus 0 kuni 20. 0 on kõrgeim prioriteet (sest see on vähem <quote
>viisakas</quote
>), 20 madalaim. &kdesrc-build;i vaikeväärtus on 10. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-no-async">
<term
><parameter
>--no-async</parameter
></term>
<listitem
><para
>Keelab uuendamisel <link linkend="conf-async"
>asünkroonse režiimi</link
>. Uuendamine võetakse sel juhul enne ehitamist ette täielikult. See aeglustab protsessi tervikuma, aga kui sul esineb &kdesrc-build;i kasutamisel IPC vigu, võiks seda võtit tarvitada ning ühtlasi esitada ka <ulink url="http://bugs.kde.org/"
>veateate</ulink
>. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-no-color">
<term
><parameter
>--no-color</parameter
></term>
<listitem
><para
>Keelab värvilise väljundi. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-pretend">
<term
><parameter
>--pretend</parameter
> (või <parameter
>-p</parameter
>)</term>
<listitem
><para
>&kdesrc-build; sooritab uuendamise ja ehitamise, kuid tegeliku uuendamise ja ehitamise asemel annab teada, mida skript oleks ette võtnud, kui see oleks tegelikult toimunud (millised käsud käivitati, üldised sammud jne.).</para>

<para
>Märkus: käivitada võidakse siiski lihtsaid kirjutuskaitstud käske (näiteks failiteabe lugemine), et väljund oleks asjakohasem (näiteks korrektne matkimine, kas lähtekood võetakse välja või seda uuendatakse). </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-quiet">
<term
><parameter
>--quiet</parameter
> (või <parameter
>-q</parameter
>)</term>
<listitem
><para
>Väljund on väheminformatiivsem, näidatakse ainult kõige olulisemaid teateid. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-really-quiet">
<term
><parameter
>--really-quiet</parameter
></term>
<listitem
><para
>Väljund näitab ainult hoiatusi ja veateateid. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-verbose">
<term
><parameter
>--verbose</parameter
> (või <parameter
>-v</parameter
>)</term>
<listitem
><para
>Väljund näitab põhjalikult kõike, mis toimub ja mida &kdesrc-build; teeb. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-src-only">
<term
><parameter
>--src-only</parameter
> (või <parameter
>--svn-only</parameter
>)</term>
<listitem
><para
>Võetakse ette ainult lähtekoodi uuendamine (<parameter
>svn-only</parameter
> on toetatud ainult ühilduvuse nimel vanemate skriptidega). </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-build-only">
<term
><parameter
>--build-only</parameter
></term>
<listitem
><para
>Võetakse ette ainult ehitamine. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-ignore-modules">
<term
><parameter
>--ignore-modules</parameter
></term>
<listitem
><para
>Uuendamisse/ehitamisse ei kaasata ülejäänud käsureal antud mooduleid (see on abiks, kui soovid ehitada enamiku <link linkend="configure-data"
>seadistustefailis</link
> määratud moodulitest, mõned üksikud aga vahele jätta). </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-no-src">
<term
><parameter
>--no-src</parameter
> (või <parameter
>--no-svn</parameter
>)</term>
<listitem
><para
>Ei looda ühendust &subversion;i serveriga. (<parameter
>--no-svn</parameter
> on kasutusel ainult ühilduvuse nimel skripti vanemate versioonidega). </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-no-build">
<term
><parameter
>--no-build</parameter
></term>
<listitem
><para
>Ehitamine jäetakse vahele. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-no-install">
<term
><parameter
>--no-install</parameter
></term>
<listitem
><para
>Pakette ei paigaldata pärast ehitamist automaatselt. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-no-build-when-unchanged">
<term
><parameter
>--no-build-when-unchanged</parameter
></term>
<term
><parameter
>--force-build</parameter
></term>
<listitem
><para
>See võti keelab otseselt ehitamisprotsessi vahelejätmise (optimeerimise, mida kontrollib võti <link linkend="conf-build-when-unchanged"
>build-when-unchanged</link
>). See on kasulik selleks, et panna &kdesrc-build; ehitama, kui oled muutnud midagi, mida &kdesrc-build; ei suuda kontrollida.</para>

<para
><parameter
>--force-build</parameter
> täidab täpselt sama funktsiooni, aga on võib-olla paremini meelde jäetav.</para>
</listitem>
</varlistentry>

<varlistentry id="cmdline-debug">
<term
><parameter
>--debug</parameter
></term>
<listitem
><para
>Lülitab sisse silumisrežiimi. Praegu tähendab see seda, et lisaks logimisele logikataloogi saadetakse kogu väljund ka standardväljundisse (STDOUT). Samuti annavad paljud funktsioonid silumisrežiimis märksa enam infot oma tegevuse kohta. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-no-rebuild-on-fail">
<term
><parameter
>--no-rebuild-on-fail</parameter
></term>
<listitem
><para
>Ei üritata algusest peale ümber ehitada mooduleid, mille ehitamine nurjus. &kdesrc-build; ei ürita seda kunagi mooduli korral, mida on juba püütud algusest peale ehitada. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-refresh-build">
<term
><parameter
>--refresh-build</parameter
></term>
<listitem
><para
>Taasluuakse ehitamissüsteem ja alustatakse algusest peale. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-reconfigure">
<term
><parameter
>--reconfigure</parameter
></term>
<listitem
><para
><command
>cmake</command
>'i (&kde; moodulite puhul) või <command
>configure</command
>'i (&Qt; puhul) käivitamine uuesti ilma ehituskataloogi puhastamata. Seda ei ole tavaliselt tarvis, sest &kdesrc-build; tuvastab ise, kui muudad asjakohaseid valikuid, ning käivitab ehitamise automaatselt uuesti. Selle valikuga arvestatakse vaikimisi, kui kasutatakse parameetrit <parameter
><link linkend="cmdline-refresh-build"
>--refresh-build</link
></parameter
>. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-resume-from">
<term
><parameter
>--resume-from</parameter
></term>
<listitem
><para
>Selle võtmega taasalustatakse ehitamist alates määratud moodulist, mis ongi käsureal järgmine võti. See eeldab võtit <link linkend="cmdline-no-src"
><parameter
>--no-src</parameter
></link
>. Käsureal ei tohi määrata teisi moodulinimesid. </para>
<para
>Vaata ka: <xref linkend="cmdline-resume-after"/> ja <xref linkend="resuming-failed"/>. Seda käsureavõtit tasuks kasutada, kui oled parandatud ehitamisvea ja soovid, et &kdesrc-build; lõpetaks ehitamise.</para
></listitem>
</varlistentry>

<varlistentry id="cmdline-resume-after">
<term
><parameter
>--resume-after</parameter
></term>
<listitem
><para
>Selle võtmega taasalustatakse ehitamist alates pärast määratud moodulit, mis ongi käsureal järgmine võti. See eeldab võtit <link linkend="cmdline-no-src"
><parameter
>--no-src</parameter
></link
>. Käsureal ei tohi määrata teisi moodulinimesid. </para>
<para
>Vaata ka: <xref linkend="cmdline-resume-from"/> ja <xref linkend="resuming-failed"/>. Seda käsureavõtit tasuks kasutada, kui oled parandanud ehitamisvea ning samuti ehitanud ja paigaldanud ise mooduli ning soovid, et &kdesrc-build; alustaks uuesti järgmise mooduliga.</para
></listitem>
</varlistentry>

<varlistentry id="cmdline-rc-file">
<term
><parameter
>--rc-file</parameter
></term>
<listitem
><para
>Järgmist käsureal antud parameetrit tõlgendatakse failina, millest lugeda konfiguratsioonivõtmed. Vaikeväärtus on <filename
>kdesrc-buildrc</filename
> (välja võetud aktiivsesse kataloogi), kui see on olemas, teistel juhtudel <filename
>~/.kdesrc-buildrc</filename
>. Vaata ka <xref linkend="kdesrc-buildrc"/>. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-run">
<term
><parameter
>--run</parameter
></term>
<listitem
><para
>See võti tõlgendab järgmiste käsurea elementi programmina, mis tuleb käivitada, ning &kdesrc-build; lõpetab seejärel konfiguratsioonifaili lugemise, uuendab tavapäraselt keskkonda ja käivitab määratud programmi.</para>

<para
>Siiski ei sobi see enamasti shelli käivitamiseks &kdesrc-build;i keskkonnas, sest interaktiivsed shellid lähtestavad käivitusjadas tavaliselt vähemalt osa keskkonnamuutujaid (näiteks <envar
>PATH</envar
> ja <envar
>KDEDIRS</envar
>). </para>

<tip
><para
>Kui soovid näha keskkonda, mida &kdesrc-build; kasutab, tuleb anda käsk <command
>printenv</command
>:</para>
<informalexample>
<screen
>$ <command
>kdesrc-build</command
> <parameter
>--run</parameter
> <parameter
>printenv</parameter>
KDE_SESSION_VERSION=4
SDL_AUDIODRIVER=alsa
LANGUAGE=
XCURSOR_THEME=Oxygen_Blue
LESS=-R -M --shift 5
QMAIL_CONTROLDIR=/var/qmail/control
... jne.
</screen>
</informalexample
></tip>
</listitem>
</varlistentry>

<varlistentry id="cmdline-prefix">
<term
><parameter
>--prefix=&lt;/kde/asukoht&gt;</parameter
></term>
<listitem
><para
>Võimaldab muuta kataloogi, kuhu &kde; paigaldatakse. See eeldab võtit <link linkend="cmdline-reconfigure"
><parameter
>--reconfigure</parameter
></link
>, kuid siiski võib nõutav olla <link linkend="cmdline-refresh-build"
><parameter
>--refresh-build</parameter
></link
> kasutamine. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-revision">
<term
><parameter
>--revision</parameter
></term>
<listitem
><para
>See valik sunnib &kdesrc-build;i tegema konkreetse numbri järgi väljavõtte igast &subversion;i moodulist, jättes arvestamata kõik moodulitele eelnevalt määratud valikud <link linkend="conf-branch"
>branch</link
>, <link linkend="conf-tag"
>tag</link
> või <link linkend="conf-revision"
>revision</link
></para>

<para
>Seda valikut pole just kõige mõistlikum kasutada ning see on toetatud ainult ühilduvuse nimel vanemate skriptidega. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-build-system-only">
<term
><parameter
>--build-system-only</parameter
></term>
<listitem
><para
>See valik sunnib &kdesrc-build;i loobuma mooduli ehitamisest vahetult enne seda, kui oleks käivitatud käsk <command
>make</command
>. See on toetatud ainult ühilduvuse nimel vanemate versioonidega, &kde; praeguse ehitamissüsteemi puhul ei ole see sugugi mõttekas. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-install"
><term
><parameter
>--install</parameter
></term>
<listitem
><para
>Kui see on ainus käsureavõti, üritatakse paigaldada kõik edukalt ehitatud moodulid, mida sisaldab <filename
>log/latest/build-status</filename
>. Kui pärast võtit <option
>--install</option
> esineb veel käsureavõtmeid, tõlgendatakse neid paigaldatavate moodulitena (isegi kui neid ei õnnestunud eelmisel korral edukalt ehitada). </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-purge-old-logs"
><term
><parameter
>--purge-old-logs</parameter
></term>
<listitem
><para
>See valik sunnib &kdesrc-build;i kettaruumi säästmiseks kustutama pärast ehitamist ebavajalikud logikataloogid. Kustutatakse kõik logikataloogid, mida ei ole vaja failiga <filename
>log/latest</filename
> seotud linkidele. Vaikimisi on see keelatud. Valiku vaikimisi lubamise kohta vaata valikut <link linkend="conf-purge-old-logs"
>purge-old-logs</link
>. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-no-snapshots"
><term
><parameter
>--no-snapshots</parameter
></term>
<listitem
><para
>Selle valiku määramine sunnib &kdesrc-build;i alati eelistama mooduli &subversion;i esialgset väljavõtet mooduli &subversion;i hetktõmmisele. </para>

<note
><para
>Mooduli hetktõmmised <emphasis
>on</emphasis
> tõelised &subversion;i väljavõtted. Seda valikut ei ole vaja määrata, see on mõeldud kasutamiseks ainult probleemide ilmnemisel.</para
></note>
</listitem>
</varlistentry>

<varlistentry id="cmdline-global-option">
<term
><parameter
>--&lt;võtme-nimi&gt;=</parameter
></term>
<listitem
><para
>Selle võtmega saab kõigi moodulite jaoks tühistada <link linkend="configure-data"
>konfiguratsioonifailis</link
> leiduva võtme. Kui näiteks soovid tühistada võtit <link linkend="conf-log-dir"
>log-dir</link
>, siis see käib nii: <userinput
><parameter
>--log-dir=<filename class="directory"
><replaceable
>/kataloogi/asukoht</replaceable
></filename
></parameter
></userinput
>. </para
></listitem>
</varlistentry>

<varlistentry id="cmdline-module-option">
<term
><parameter
>--&lt;mooduli-nimi&gt;,&lt;võtme-nimi&gt;=</parameter
></term>
<listitem
><para
>Selle võtmega saab konkreetse mooduli jaoks tühistada <link linkend="configure-data"
>konfiguratsioonifailis</link
> leiduva võtme. </para
></listitem>
</varlistentry>

</variablelist>

<para
>Kõiki muid käsureavõtmeid tõlgendatakse uuendatavate ja ehitatavate moodulitena. Palun ära aja ehitamist segamini paigaldamisega. </para>

</sect1>

</chapter>

<chapter id="using-kdesrc-build">
<title
>&kdesrc-build;i kasutamine</title>

<sect1 id="using-kdesrc-build-preface">
<title
>Eessõna</title>

<para
>Tavaliselt on &kdesrc-build;i kasutamine pärast seda, kui läbi on töötatud <xref linkend="getting-started"/>, äärmiselt lihtne, piirdudes lihtsalt terminalis antava käsuga:</para>

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

<para
>&kdesrc-build; laadib seejärel alla &kde; lähtekoodi, püüab seda konfigureerida ja ehitada ning ka paigaldada.</para>

<para
>Loe edasi, kuidas &kdesrc-build; seda teeb, ja mida kõike selle tööriistaga veel annab ette võtta.</para>

</sect1>

<sect1 id="basic-features">
<title
>&kdesrc-build;i põhiomadused</title>

<sect2 id="using-qt-copy">
<title
>qt-copy toetus</title>
<para
>&kdesrc-build; toetab kasutajate elu lihtsustamiseks &kde; tarkvaras kasutatava &Qt; tööriistakomplekti ehitamist. Selle toetusega tegeleb spetsiaalne moodul qt-copy.</para>

<note
><para
>&Qt; arendatakse &kde; tarkvarast eraldi hoidlas asukohaga <ulink url="http://qt.gitorious.org/qt"
>http://qt.gitorious.org/qt</ulink
>.</para
></note>

<para
>&Qt; ehitamiseks tuleb kontrollida, et <link linkend="conf-qtdir"
>qtdir</link
> seadistuses on määratud kataloog, kuhu soovid &Qt; paigaldada, nagu räägib <xref linkend="configure-data"/>.</para>

<para
>Seejärel tuleks kontrollida, et qt-copy moodul on lisatud faili <filename
>.kdesrc-buildrc</filename
> enne kõiki teisi mooduleid. Kui kasutad näidisseadistustefaili, tuleb lihtsalt olemasoleva qt-copy mooduli kirje eest eemaldada kommentaarimärge.</para>

<para
>Nüüd tuleks kontrollida, kas võtmed <link linkend="conf-repository"
>repository</link
> ja <link linkend="conf-branch"
>branch</link
> on korrektselt määratud.</para>

<orderedlist>
<listitem
><para
>Esimene valik on ehitamine nii, et rakendataks ka soovitatavaid veaparandusi ja optimeerimispaiku (seda määrati varem valikuga apply-patches). Neid arendatakse eraldi hoidlas aadressiga <ulink url="http://gitorious.org/+kde-developers/qt/kde-qt"
>http://gitorious.org/+kde-developers/qt/kde-qt</ulink
>. Kui soovid ehitamisel rakendada paiku (enamik &kde; arendajaid seda soovib), siis tuleb valikule repository määrata väärtuseks <userinput
>git://gitorious.org/+kde-developers/qt/kde-qt.git</userinput
></para>
</listitem>

<listitem
><para
>Vastasel juhul määra standardse &Qt; ehitamiseks valiku repository väärtuseks <userinput
>git://gitorious.org/qt/qt.git</userinput
>.</para
></listitem>
</orderedlist>

<para
>Mõlemal juhul tuleb valiku branch väärtuseks määrata <userinput
>master</userinput
> (kui sa just ei soovi ehitada mõnda muud haru).</para>

<note
><para
>Mõnel juhul ei suuda lähtekoodi juhtimise tarkvara töötada, kui ta pannake tööle &kdesrc-build;ist, kuid töötab siiski kenasti käivitamisel käsurealt. Vea põhjused on praegu selgitamisel.</para
></note>

</sect2>

<sect2 id="kdesrc-build-std-flags">
<title
>&kdesrc-build;i lisatavad standardsed lipud</title>
<para
>Sinu aja säästmiseks lisab &kdesrc-build; sinu keskkonnale mõned standardsed asukohad: </para>

<itemizedlist>
<listitem
><para
>&kde; ja &Qt; teekide asukoht lisatakse automaatselt muutujale <envar
>LD_LIBRARY_PATH</envar
>. See tähendab, et nende kaasamiseks ei ole vaja enam muuta &libpath;'i. </para
></listitem>

<listitem
><para
>&kde; ja &Qt; arendusprogrammide asukoht lisatakse automaatselt muutujale <envar
>PATH</envar
>. See tähendab, et nende kaasamiseks ei ole vaja enam muuta &binpath;'i. </para
></listitem>

<listitem
><para
>&kde; pakutava <application
>pkg-config</application
> asukoht lisatakse automaatselt muutujale <envar
>PKG_CONFIG_PATH</envar
>. See tähendab, et nende lisamiseks ei ole enam vajalik kasutada võtit &set-env;. </para
></listitem>

<listitem
><para
>&kdedir; määratlus edastatakse ehitamise ajal automaatselt keskkonnamuutujale <envar
>KDEDIR</envar
> (see ei puuduta muutujat <envar
>KDEDIRS</envar
>). </para
></listitem>

<listitem
><para
>&qtdir; määratlus edastatakse ehitamise ajal automaatselt keskkonnamuutujale <envar
>QTDIR</envar
>. </para
></listitem>

</itemizedlist>

</sect2>

<sect2 id="build-priority">
<title
>&kdesrc-build;i ehitamisprioriteedi muutmine</title>
<para
>Tänapäeva operatsioonisüsteemides (sealhulgas &Linux; ja &BSD;) võivad programmid töötada erineva prioriteediga. See võimaldab süsteemil eraldada eri programmidele aega vastavalt nende tähtsusele. </para>

<para
>&kdesrc-build; prioriteet on üldiselt väike, nii et sinu süsteemi teised programmid saavad rahumeeli edasi töötada. Sel moel saab &kdesrc-build; kasutada protsessori lisavõimsust siis, kui seda jagub. </para>

<para
>&kdesrc-build;i prioriteet on siiski piisavalt kõrge, et talle pööratakse tähelepanu enne rutiinseid taustaprotsesse ja selliseid samuti protsessori jääkidest elatuvaid programme nagu <ulink url="http://setiathome.ssl.berkeley.edu/"
>Seti@Home</ulink
>. </para>

<para
>&kdesrc-build;i muutmiseks, et ta kasutaks püsivalt suuremat või väiksemat prioriteeti, tuleb muuta <link linkend="configure-data"
>konfiguratsioonifailis</link
> leiduvat viisakust (&niceness;). See määrab, kui <quote
>viisakas</quote
> on &kdesrc-build; teiste programmide suhtes. Teisisõnu, mida suurem viisakus, seda väiksem on &kdesrc-build;i prioriteet. Seepärast tuleb &kdesrc-build;i prioriteedi suurendamiseks viisakust vähendada (ning vastupidi). Viisakus võib olla vahemikus 0 (täiesti ebaviisakas, suurim prioriteet) kuni 20 (üliviisakas, väikseim prioriteet).</para>

<para
>&kdesrc-build;i prioriteeti võib ajutiselt muuta <link linkend="cmdline"
>käsureavõtmega</link
> &cmd-nice;. Võtmele antav väärtus määrabki viisakuse.</para>

<note
><para
>Mõningatel programmidel, mis on käivitatud administraatori õigustes, võib olla isegi negatiivne viisakuse väärtus, mis annab neile väga suure prioriteedi. Negatiivse või isegi nullväärtuse määramine &kdesrc-build;ile pole siiski kuigi hea mõte, sest see ei aita kuigi palju vähendada käitusaega, küll aga muudab muu tegevuse arvutis õige venivaks. </para
></note>

<informalexample>
<para
>&kdesrc-build;i käivitamine viisakusega 15 (tavalisest väiksem prioriteet):</para>

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

<para
>Soovi korral võib muuta <link linkend="configure-data"
>seadistustefaili</link
>, et muuta see püsivaks:</para>

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

<tip>
<para
>Valik <link linkend="conf-niceness"
>niceness</link
> mõjutab ainult arvuti protsessori(te) kasutamist. Üks tähtsamaid arvuti jõudlust mõjutavaid tegureid on see, kui ohtralt kasutab programm andmete sisestamist või väljastamist (<acronym
>I/O</acronym
>). Määramaks, kui palju programm võib <acronym
>I/O</acronym
>-d kasutada, toetavad tänapäeva &Linux; operatsioonisüsteemid samalaadset tööriista <application
>ionice</application
>. &kdesrc-build; toetab samuti tööriista <application
>ionice</application
> (kuid ainult selle täieliku sisse- või väljalülitamise mõttes) valikuga <link linkend="conf-use-idle-io-priority"
>use-idle-io-priority</link
>, mis on kasutusel alates &kdesrc-build;i versioonist 1.12. </para>
</tip>

</sect2>

<sect2 id="root-installation">
<title
>Paigaldamine administraatorina</title>
<para
>&kdesrc-build;i saab enesestmõistetavalt käivitada ka administraatori õigustes, näiteks kui soovid teha süsteemse paigalduse (mis ei ole siiski soovitatav). Aga sellest võib olla kasu ka &kde; ehitamisel ühele kasutajale: nimelt paigaldavad mõned moodulid, eriti kdebase, programme, mis vajavad töötamisel lühiajaliselt suuremaid õigusi. See ei ole aga võimalik, kui nad ei ole juba paigaldatud suuremate õigustega. </para>

<para
>&kdesrc-build;i võib kohe algusest peale käivitada administraatori õigustes, aga see pole siiski soovitatav, sest programmi ei ole seni selles osas põhjalikult üle vaadatud ja nii võib see kujutada turvariski. Seepärast oleks mõttekam programmi otseselt administraatori õigustes mitte käivitada.</para>

<para
>Sellest aitab üle saada &kdesrc-build;i võti &make-install-prefix;. Sellega saab määrata käsu, mida kasutatakse paigaldamisel teise kasutaja õigustes. Kõige soovitavam on kasutada seda käsku koostöös programmiga &sudo;, mis käivitab paigaldamiskäsu administraatori õigustes. </para>

<informalexample>
<para
>Näiteks kõigi moodulite paigaldamiseks &sudo; abil võib talitada nii:</para>

<screen
>global
  &make-install-prefix; <replaceable
>sudo</replaceable>
  # Teised võtmed
end global
</screen>

<para
>&make-install-prefix; kasutamiseks ainult ühe mooduli puhul peaks talitama nii: </para>

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

</sect2>

<sect2 id="build-progress">
<title
>Mooduli ehitamise edenemise näitamine</title>
<para
>See võimalus on alati olemas ning lülitatakse automaatselt sisse, kui vähegi võimalik. See näitab mooduli ehitamise ajal selle hinnangulist edenemist, andes teada, kui kaua tõenäoliselt veel kulub ehitamise lõpuni. </para>

</sect2>

</sect1>

<sect1 id="advanced-features">
<title
>Muud omadused</title>

<sect2 id="partial-builds">
<title
>Mooduli osaline ehitamine</title>
<para
>Võimalik on ehitada ka ainult osa mõnest &kde; moodulist, kui näiteks soovid kasutada ainult üht moodulisse kuuluvat programmi. &kdesrc-build;i abil on see õige lihtne. Selleks on isegi mitu võimalust. </para>

<sect3 id="checking-out-parts">
<title
>Mooduli üksikute osade väljavõte</title>

<para
>See on vahest parim viis. Kui see toimib, säästab see nii allalaadimise aega kui ka kettaruumi. Sel juhul laadib &kdesrc-build; alla ainult osa määratud moodulist. Seda tehakse võtit &checkout-only; kasutades, mis määrab kindlaks allalaaditavad kataloogid. </para>

<tip
><para
>Kui sa veel ei tea, mida moodul õieti sisaldab, tasuks esmalt uurida selle &subversion;i struktuuri näiteks <ulink url="http://websvn.kde.org/branches/KDE/4.5/"
>WebSVN-i</ulink
> vahendusel. </para
></tip>

<informalexample>
<para
>Ainult programmide &kuser; ja <application
>KSystemLog</application
> hankimiseks moodulist kdeadmin tuleb võtit &checkout-only; kasutada nii:</para>

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

</informalexample>

<important
><para
>Kataloogid ehitatakse selles järjekorras, nagu nad on parameetritena loetletud. Kui mõni kataloog vajab kompileerimiseks moodulist veel midagi, tuleb kontrollida, et mõlemad oleks määratud &checkout-only; real ja et sõltuvus paikneks enne kataloogi, mis seda vajab.</para>

<para
>Mõnikord võib rakendus vajada ka teisi katalooge, mille selgitamine ei pruugi olla nii lihtne. Seepärast vajab selline võimalus sageli lihtsalt proovimist katse-eksituse meetodil ning vajalike kataloogide lisamist võtmele. See võti sõltub mooduli ehitamissüsteemi toetusest, mistõttu see on kasulik ainult moodulite korral, mis koonsevad üksikute rakenduste kogust.</para>
</important>

<para
>Veel üks märkus antud võtme kohta. Selle väärtust muutes tuleks anda ka käsk <userinput
><command
>kdesrc-build</command
> <option
>&cmd-refresh-build;</option
> <option
><replaceable
>moodul</replaceable
></option
></userinput
>, mis tagab mooduli korrektse ümberseadistamise. Lisaks ei eemalda &kdesrc-build; kunagi olemasolevaid faile, kui eemaldad näiteks katalooge võtme &checkout-only; alt või lisad võtme moodulile, mille väljavõtte oled juba varem teinud.</para>

</sect3>

<sect3 id="not-compiling">
<title
>Kataloogide eemaldamine ehitamisest</title>
<para
>Allalaadimise piiramise asemel võib ka kõik alla laadida, kuid lasta ehitamissüsteemil jätta ehitamise ajal teatavad kataloogid välja. See võib olla kasulik näiteks juhul, kui mõne kataloogiga tekib pidevalt vigu ning see ei ole ülejäänud mooduli jaoks iseenesest vajalik. </para>

<para
>Seda saab määrata võtmega &do-not-compile;. See toimib sarnaselt äsja kirjeldatud võtmega &checkout-only; selles mõttes, et kujutab endast lihtsalt loendit kataloogidega, mis tuleb kompileerimisel arvestamata jätta.</para>

<important
><para
>Nagu &checkout-only;, nõuab ka see võti vähemalt mooduli ehitamissüsteemi ümberseadistamist pärast selle muutmist. Seda saab teha käsuga <userinput
><command
>kdesrc-build</command
> <option
>&cmd-reconfigure;</option
> <option
><replaceable
>moodul</replaceable
></option
></userinput
>. </para
></important>

<informalexample>
<para
>Kataloogi <filename class="directory"
>python</filename
> eemaldamine mooduli kdebindings ehitamisest:</para>

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

</informalexample>

<note
><para
>See funktsioon sõltub mõningatest standardsetest konventsioonidest, mida kasutab enamik &kde; mooduleid. Seepärast ei pruugi see toimida kõigi programmide puhul.</para
></note>

</sect3>

</sect2>

<sect2 id="using-branches">
<title
>Harude ja siltide toetus &kdesrc-build;is</title>

<sect3 id="branches-and-tags">
<title
>Mis on harud ja sildid?</title>

<para
>&subversion; toetab &kde; lähtekoodi ajalo haldamist. &kde; kasutab seda ära harude loomiseks arendamise käigus ning hoidla sildistamiseks teatava ajavahemiku järel uute väljalasete tarbeks. </para>

<para
>Näiteks võivad mõned &kmail;i arendajad töötada omaette harus mõne uue võimaluse kallal, et vältida võimalikke probleeme versioonis, mida kasutab enamik arendajaid. Selles harus käib arendus omaette, sõltumata sellest, kuidas kulgeb arendustegevus põhiharus (/trunk). </para>

<para
>Silt on aga nii-öelda hetkvõte lähtekoodihoidlast teataval ajahetkel. Seda kasutab &kde; haldusmeeskond väljalaskeks sobiva versiooni tähistamiseks, mis samal ajal võimaldab arendajatel jätkata tööd koodi kallal. </para>

<para
>&subversion; õieti ei erista koodi mõttes harusid, silte ega tüve (trunk). Need on mõeldud ainult arendajate elu lihtsustamiseks. Sel põhjusel on ka harude ja siltide toetus &kdesrc-build;is mõnevõrra raskendatud, aga siiski võimalik. </para>

</sect3>

<sect3 id="branch-support">
<title
>Harude ja siltide kasutamine</title>

<para
>Harude ja siltide toetust tagab rida võtmeid, mis ulatuvad konkreetse versiooni väljavõttest kuni kindlate &url;-ideni, kust kogenenumad kasutajad saavad vajalikke asju alla laadida. </para>

<para
>Kõige lihtsam ongi tarvitada võtmeid &branch; ja &tag;. Piisab, kui lisada neile võtmetele soovitud haru või sildi nimi, ning &kdesrc-build; püüab ise &kde; hoidlas üles leida koha, kust nõutu alla laadida. Enamiku &kde; moodulite puhul sellest täiesti piisab.</para>

<informalexample>
<para
>&kde; 4.5 (ehk 4.5 haru) mooduli kdelibs allalaadimine: </para>

<screen
>module kdelibs
  branch <replaceable
>4.5</replaceable>
  # teised võtmed...
end module
</screen>

<para
>&kde; 4.5.1 väljalaske mooduli kdemultimedia allalaadimine:</para>

<screen
>module kdemultimedia
  tag <replaceable
>4.5.1</replaceable>
  # teised võtmed...
end module
</screen>

</informalexample>

<tip
><para
>Võib kindlaks määrata ka haru globaalse väärtuse. Kuid sel juhul ei tohi unustada määramast konkreetset haru, kui soovid moodulit, mida ei leidu globaalses harus, või selle uuemat või vanemat versiooni! </para
></tip>
</sect3>

<sect3 id="advanced-branches">
<title
>Muud harudega seotud võtmed</title>

<para
>&kdesrc-build; toetab veel kaht võtit juhtudeks, kus &branch; ja &tag; ei suuda õiget asukohta tuvastada: &module-base-path; ja &override-url;. </para>

<itemizedlist>
<listitem
><para
>&module-base-path; aitab &kdesrc-build;il tuvastada mooduli asukoha puuduvad lülid. &kde; hoidlas on kõik asukohad kujul <filename class="directory"
>svnRoot/module-base-path/<replaceable
>moodulinimi</replaceable
></filename
>. Tavaliselt suudab &kdesrc-build; keskmise osa ise välja selgitada. Kui see aga miskipärast ei õnnestu, võib kasutada võtit &module-base-path;: </para>

<informalexample>
<screen
>module kdesupport
    # kdesupport toetab erinevaid silte antud KDE platvormi väljalaske
    # nõutava tarkvara hõlpsamaks korraldamiseks.
    module-base-path tags/kdesupport-for-4.5
end module
</screen>

<para
>See sunnib &kdesrc-build;i qt-copy alla laadima asukohast <filename
>svn://anonsvn.kde.org/home/kde/<replaceable
>tags/kdesupport-for-4.5</replaceable
></filename
>. </para>
</informalexample>
<tip
><para
>&kdesrc-build;i eelnevates versioonides käsitleti võtit &module-base-path; teistmoodi. Kui sul tekib probleeme võtme module-base-path vana definitsiooniga, siis tasuks arvatavasti kontrollida, kas tegelik asukoht on ikka selline, nagu eeldab &kdesrc-build;, kasutades võtit <link linkend="cmdline-pretend"
>--pretend</link
>. </para
></tip>
</listitem>

<listitem
><para
>Võti &override-url; aga nõuab, et määraksid täpse asukoha, kust alla laadida. Samas võimaldab see alla laadida kohtadest, kust &kdesrc-build; seda ise kindlasti ei teeks. Praegu peaks igale Subversioni lähtekoodi URL-ile piisama võtmest &module-base-path;. </para>

<important
><para
>&kdesrc-build; ei muuda mingil moel väärtust, mille annad võtmele &override-url;, nii et kui muudad võtme &svn-server; määratlust, tuleb ka seda uuendada. </para
></important>

</listitem>
</itemizedlist>

</sect3>

</sect2>

<sect2 id="building-successfully">
<title
>&kdesrc-build; ja edukas ehitamine</title>

<sect3 id="automatic-rebuilds">
<title
>Automaatne taasehitamine</title>

<para
>&kdesrc-build; sisaldas varem võimalusi mooduli automaatseks ümberehitamiseks pärast nurjumist (toonase ehitamissüsteemi vigade tõttu niisugune ümberehitamise katse võis isegi mõnikord toimida). Lülitumise tõttu &cmake;'ile ei taba ehitamissüsteemi enam niisugused vead, mistõttu ka &kdesrc-build; ei püüa mooduleid ehitada rohkem kui ühe korra. Esineb aga olukordi, kus &kdesrc-build; võtab automaatselt midagi ette:</para>

<itemizedlist>

<listitem
><para
>Kui muudad mooduli <link linkend="conf-configure-flags"
>configure'i lippe</link
> või <link linkend="conf-cmake-options"
>cmake'i valikuid</link
>, tuvastab &kdesrc-build; selle ning käivitab automaatselt uuesti moodulile configure'i või cmake'i.</para
></listitem>

<listitem
><para
>Kui ehitamissüsteemi ei ole (isegi kui &kdesrc-build; ei kustutanud seda), loob &kdesrc-build; selle automaatselt uuesti. See on abiks täieliku <link linkend="cmdline-refresh-build"
>--refresh-build</link
> sooritamisel konkreetsele moodulile ilma vajaduseta võtta sama ette teiste moodulite puhul.</para
></listitem>

</itemizedlist>

</sect3>

<sect3 id="manual-rebuilds">
<title
>Mooduli taasehitamine käsitsi</title>
<para
>Kui oled muutnud mooduli võtmeid või on mooduli lähtekood sedavõrd muutunud, et &kdesrc-build; ei tunne seda enam ära, võib olla vajalik mooduli taasehitamine käsitsi.</para>

<para
>Selleks piisab ka käsust <userinput
><command
>kdesrc-build</command
> <option
>--refresh-build</option
> <option
><replaceable
>moodul</replaceable
></option
></userinput
>. </para>

<para
>Kui soovid, et &kdesrc-build; ehitaks järgmise ehitamise uuendamise ajal mooduli automaatselt uuesti, võid luua spetsiaalse faili. Igal moodulil on oma ehitamiskataloog. Kui lood mooduli ehitamiskataloogis faili <filename
>.refresh-me</filename
>, ehitab &kdesrc-build; mooduli uuesti järgmise ehitamise ajal isegi siis, kui muidu võetakse ette märksa kiirem inkrementehitamine.</para>

<tip>
<para
>Vaikimisi on ehitamiskataloogiks <filename class="directory"
>~/kdesrc/build/<replaceable
>moodul</replaceable
>/</filename
>. Kui muudad võtme &build-dir; seadistusi, kasuta aga <filename class="directory"
>~/kdesrc/build</filename
>.</para>
</tip>

<informalexample>
<para
>Mooduli <replaceable
>kdelibs</replaceable
> taasehitamine <filename
>.refresh-me</filename
> abil:</para>
<screen
><prompt
>%</prompt
> <userinput
><command
>touch</command
> <filename class="directory"
>~/kdesrc/build/<replaceable
>kdelibs</replaceable
>.refresh-me</filename
></userinput>
<prompt
>%</prompt
> <userinput
><command
>kdesrc-build</command
></userinput
>
</screen>
</informalexample>
</sect3>

</sect2>

<sect2 id="changing-environment">
<title
>Keskkonnamuutujate seadistuste muutmine</title>
<para
>Tavaliselt kasutab &kdesrc-build; programmide käivitamisel uuenduste sooritamiseks ja ehitamiseks keskkonda, mis oli saadaval käivitamise ajal. See on abiks, kui käivitad &kdesrc-build;i käsurealt.</para>

<para
>Kuid võib esineda juhuseid, kus tekib vajadus määrata kindlaks keskkonnamuutujad, mille jaoks &kdesrc-build;il puudub vahetu võti. (Näiteks määramaks mis tahes nõutavat keskkonnamuutujat, kui &kdesrc-build; käivitatakse mõne taimeriga, näiteks &cron;.) See on võimalik võtmega &set-env;.</para>

<para
>Erinevalt enamikust võtmetest saab seda määrata mitu korda ning see tunnustab kaht kirjet, mida eraldab tühik. Esimene neist on määratava keskkonnamuutuja nimi ja teine selle väärtus.</para>

<informalexample>
<para
>Kõigile moodulitele <userinput
><envar
>DISTRO</envar
>=<replaceable
>BSD</replaceable
></userinput
> määramine:</para>
<screen
>global
  set-env <replaceable
>DISTRO</replaceable
> <replaceable
>BSD</replaceable>
end global
</screen>
</informalexample>

</sect2>

<sect2 id="resuming">
<title
>Ehitamise jätkamine</title>

<sect3 id="resuming-failed">
<title
>Nurjunud või katkestatud ehitamise jätkamine</title>

<para
>&kdesrc-build;ile võib anda korralduse alustada ehitamist mõnest muust moodulist kui tavaliselt. See võib olla mõttekas näiteks siis, kui mitme mooduli ehitamine on nurjunud või kui katkestasid ehitamise poole pealt. Seda saab määrata võtmetega &cmd-resume-from; ja &cmd-resume-after;.</para>

<note
><para
>Ükspuha kumba võtme kasutamisel lähtekoodi ei uuendata.</para
> </note>

<informalexample>
<para
>Ehitamise jätkamine alates moodulist kdebase:</para>

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

<informalexample>
<para
>Ehitamise jätkamine alates pärast moodulit kdebase (juhul kui oled ise käsitsi parandanud probleemi ja paigaldanud mooduli):</para>

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

</sect3>

<sect3 id="ignoring-modules">
<title
>Moodulite eiramine ehitamisel</title>

<para
>Nii nagu võib <link linkend="resuming-failed"
>jätkata ehitamist kindlast moodulist</link
>, võib ka kõike uuendada ja ehitada nagu tavaliselt, kuid eirata teatavaid mooduleid.</para>

<para
>Selleks on mõeldud võti &cmd-ignore-modules;. See annab &kdesrc-build;ile korralduse eirata uuendamisel ja ehitamisel kõiki määratud mooduleid.</para>

<informalexample>
<para
>extragear/multimedia ja kdereview eiramine:</para>
<screen
><prompt
>%</prompt
> <userinput
><command
>kdesrc-build</command
> <option
>--ignore-modules</option
> <replaceable
>extragear/multimedia kdereview</replaceable
></userinput
>
</screen>
</informalexample>

</sect3>
</sect2>

<sect2 id="changing-env-from-cmd-line">
<title
>Võtmete muutmine käsureal</title>

<sect3 id="changing-global-opts">
<title
>Globaalsete võtmete muutmine</title>
<para
><link linkend="configure-data"
>Seadistustefailist</link
> loetavate võtmete seadistusi saab muuta otse käsurealt. See tühistab seadistustefailis määratu ainult ajutiselt, mõjudes vaid nii kaua, kuni töötab käsk, millega muutus rakendati.</para>

<para
>&kdesrc-build; võimaldab anda võtmetele, mis on esitatud <replaceable
>võtmenimena</replaceable
>, argumente otse käsureal kujul <userinput
><option
>--<replaceable
>võtmenimi</replaceable
>=väärtus</option
></userinput
>. &kdesrc-build; tuvastab võtme ning otsib sellele vastet võtmete loendist. Kui nime ära ei tunta, näidatakse hoiatust, kui aga tuntakse, jäetakse meelde määratud väärtus ning jäetakse arvestamata samale võtmele seadistustefailis määratud väärtus.</para>

<informalexample>
<para
>Võtmele &source-dir; testimiseks väärtuse <filename
>/dev/null</filename
> määramine:</para>

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

</informalexample>

</sect3>

<sect3 id="changing-module-opts">
<title
>Mooduli võtmete muutmine</title>
<para
>Võtmeid võib muuta ka ainult kindla mooduli puhul. Süntaks on samasugune: --<replaceable
>moodul</replaceable
>,<replaceable
>võtmenimi</replaceable
>=<replaceable
>väärtus</replaceable
>. </para>

<para
>See tühistab igasuguse moodulile määratud samalaadse seadistuse <link linkend="configure-data"
>seadistustefailis</link
> ja rakendub ainult siis, kui võti edastatakse käsureal.</para>

<informalexample>
<para
>Teistsuguse ehitamiskataloogi määramine moodulile kdeedu:</para>

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

</informalexample>

</sect3>

</sect2>

</sect1>

<sect1 id="developer-features">
<title
>Võimalused &kde; arendajatele</title>

<sect2 id="ssh-agent-reminder">
<title
>&ssh; agendi kontrollimine</title>
<para
>&kdesrc-build; võib kontrollida, et &kde; arendajad, kes tarvitavad ligipääsuks &kde; lähtekoodihoidlale &ssh;-d, ei unustaks väljumisel kogemata &ssh; agenti tööle. See paneb &kdesrc-build;i sõna otseses mõttes hanguma, sest ta muudkui ootab, kuni arendaja kirjutab oma &ssh; parooli. Seepärast kontrollib &kdesrc-build; enne lähtekoodi uuendamist, kas agent töötab või mitte. </para>

<note
><para
>Seda tehakse ainult nende &kde; arendajate korral, kes kasutavad &ssh;-d, sest vaikimisi anonüümse väljavõtte jaoks ei ole mingit parooli vaja. &subversion; tuleb toime paroolidega ka &kde; arendajate teise võimaliku protokolli ehk https korral. </para
></note>

<para
>&ssh; agendi kontrollimise võib ka välja lülitada, eriti juhtudel, kus &kdesrc-build; kipub selle tegelikku olemasolu eirama. Agendi kontrollimise vältimiseks tuleb võtme <option
>disable-agent-check</option
> väärtuseks määrata <userinput
>true</userinput
>.</para>

<informalexample>
<para
>&ssh; agendi kontrollise keelamine:</para>
<screen
>global
  disable-agent-check true
end global
</screen>
</informalexample>

</sect2>

</sect1>

<sect1 id="other-features">
<title
>&kdesrc-build;i lisaomadused</title>

<sect2 id="changing-verbosity">
<title
>&kdesrc-build;i väljundi mahu muutmine</title>
<para
>&kdesrc-build;il on mitu võtit, millega saab kindlaks määrata skripti loodava väljundi mahu. Igal juhul näidatakse alati vigu.</para>

<itemizedlist>
<listitem
><para
>Võti <option
>--quiet</option
> (lühemal kujul <option
>-q</option
>) paneb &kdesrc-build;i peaaegu vaikima: näidatakse ainult olulisi teateid, hoiatusi ja vigu. Võimaluse korral näidatakse siiski ka ehitamise edenemise teavet.</para
></listitem>

<listitem
><para
>Võti <option
>--really-quiet</option
> sunnib &kdesrc-build;i näitama ainult olulisi hoiatusi ja vigu.</para
></listitem>

<listitem
><para
>Võti <option
>--verbose</option
> (lühemal kujul <option
>-v</option
>) muudab &kdesrc-build;i väljundi väga üksikasjalikuks.</para
></listitem>

<listitem
><para
>Võti <option
>--debug</option
> on mõeldud ainult silumiseks, pannes &kdesrc-build;i tööle nii, nagu oleks sisse lülitatud võti <option
>--verbose</option
>. Samuti saadavad käsud oma väljundi terminali ning lisaks on näha paljude funktsioonide silumisteave.</para
></listitem>
</itemizedlist>

</sect2>

<sect2 id="kdesrc-build-color">
<title
>Värviline väljund</title>
<para
>Käivitamisel &konsole;'ist või mõnest muust terminalist näitab &kdesrc-build; tavaliselt värvilist teksti.</para>

<para
>Selle saab keelata, kui anda käsureal võti <option
>--no-color</option
> või määrata <link linkend="configure-data"
>seadistustefailis</link
> võtme &colorful-output; väärtuseks <userinput
>false</userinput
>. </para>

<informalexample>
<para
>Värvilise väljundi keelamine seadistustefailis:</para>
<screen
>global
  colorful-output false
end global
</screen>
</informalexample>

</sect2>

<sect2 id="email-reports">
<title
>Teatamine ehitamise nurjumisest e-kirjaga</title>
<para
>&kdesrc-build; võib saata sinu valitud e-posti aadressile aruande, kui mõne mooduli ehitamine mis tahes põhjusel nurjub. Selleks tuleb sul määrata e-posti aadress, millelt &kdesrc-build; aruande saadab, ning aadress, kuhu aruanne vea korral saadetakse.</para>

<para
>Seejärel koostab &kdesrc-build; iga töökorra lõpul e-kirja, kui leidus mooduleid, mille ehitamine ei õnnestunud. E-kiri sisaldab lühidalt iga mooduli nurjumise kohta käivat logi. Ühe töökorra kohta saadetakse ainult üks e-kiri ka siis, kui nurjus näiteks 15 mooduli ehitamine. </para>

<para
>Vaikimisi ei ole see võimalus sisse lülitatud. Selle lubamiseks tuleb määrata võtmed &email-address; ja &email-on-compile-error;. Võti <option
>email-address</option
> määrab kindlaks aadressi, mille alt &kdesrc-build; kirja saadab, ning võti <option
>email-on-compile-error</option
> aadressi, kuhu kiri saadetakse. </para>

<tip>
<para
>&kdesrc-build; kasutab kirja saatmiseks Perli standardset moodulit Mail::Mailer. Perl 5.8 sisaldab seda, Perl 5.6 korral tuleb see eraldi paigaldada. Mail::Mailer toetab järgmisi programme: <application
>Sendmail</application
> (kaasa arvatud <application
>Sendmail</application
>iga ühilduvad e-posti kliendid), loomupärane <acronym
>SMTP</acronym
> ning <application
>qmail</application
>. </para>
</tip>

<informalexample>
<para
>Ehitamise veast teatava e-kirja saatmine aadressilt jama@kuskil.ee aadressile suva@kuskil.ee:</para>

<screen
>global
  email-address          jama@kuskil.ee    # Saatja: kõigi kdesrc-buildi e-kirjade aadress
  email-on-compile-error suva@kuskil.ee    # Saaja: ehitamisveast teatamise aadress
end global
</screen>
</informalexample>

</sect2>

<sect2 id="deleting-build-dir">
<title
>Ebavajalike kataloogide eemaldamine pärast ehitamist</title>
<para
>Sul ei ole küll kettal palju ruumi, aga tahad siiski tööle panna kõige-kõige uuema &kde;? &kdesrc-build; aitab vähendada kettakasutust ka &kde; ehitamisel &subversion;ist.</para>

<note
><para
>Arvesta, et &kde; ehitamine nõuab tublisti ruumi. &kdesrc-build;i kasutamisel tuleb ruumi osas silmas pidada järgmisi asju:</para
></note>

<orderedlist>
<listitem
><para
>Lähtekoodi väljavõte võtab päris palju ruumi. Ainuüksi vaikimisi moodulid hõivavad umbes 1.6 gigabaiti. Seda saab küll vähendada, kui ehitada ainult need moodulid, mida sul tõepoolest vaja läheb. &kdesrc-build; ei kustuta lähtekoodi kettalt isegi siis, kui kustutad vastava kirje <link linkend="configure-data"
>seadistustefailist</link
>, nii et kindlasti tuleks ise kustutada lähtekoodikataloogist kogu ebavajalik lähtekood. Pane tähele, et lähtekoodi failid laaditakse alla internetist, mistõttu neid <emphasis
>ei tasu</emphasis
> kustutada, kui sa neid ikkagi kasutad - vähemalt seni, kuni töötab &kdesrc-build;.</para>

<para
>Kui sul on juba nagunii paigaldatud &Qt;, ei ole erilist mõtet paigaldada qt-copy moodulit. Sellest loobumine hoiab kokku umbes 200 megabaiti.</para>

<para
>Tähele tasub panna üht iseärasust &subversion;i töös: iga hoidlast välja võetud faili kohta on kettal tegelikult kaks faili. &kdesrc-build; ei võimalda praegu minimeerida lähtekoodi suurust juhtudel, kus seda ei kasutata. </para>
</listitem>

<listitem>
<para
>&kdesrc-build; loob lähtekoodi ehitamiseks eraldi ehitamiskataloogi. Mõnikord peab &kdesrc-build; kopeerima lähtekoodikataloogi, et luua liba-ehitamiskataloog. Sel juhul kasutatakse ruumisäästlikke nimeviitu, nii et see ei vähenda kettaruumi. Ehitamiskataloog on reeglina palju suurem kui sama mooduli lähtekoodikataloog. Näiteks mooduli kdebase ehitamiskataloog on umbes 1050 megabaiti, samas kui lähtekoodi ennast on vaid 550 megabaidi jagu.</para>

<para
>Õnnekombel ei ole pärast mooduli edukat ehitamist ja paigaldamist enam mingit vajadust ehitamiskataloogi järele. &kdesrc-build; võib pärast mooduli paigaldamist automaatselt eemaldada ehitamiskataloogi (vaata lähemalt allpool olevaid näiteid). Pane siiski tähele, et see muudab &kdesrc-build;il võimatuks teostada aega kokkuhoidvat inkrementehitamist.</para>
</listitem>

<listitem
><para
>Lõpuks nõuab oma osa kettaruumist ka &kde; paigaldus. Reeglina on vajalik ruum väiksem kui ehitamiskataloogil, aga siin on raske tuua konkreetseid arve. </para
></listitem>
</orderedlist>

<para
>Kuidas siis vähendada &kde; ruuminõudeid? Üks võimalus on kasutada vastavaid kompileerimislippe, mis võimaldavad kiiruse arvel ruumi kokku hoida. Teine ja enamasti märksa tõhusam viis on eemaldada &kde; ehitamisest silumisteave. </para>

<warning
><para
>Enne silumisteabe eemaldamist peaksid oma sammu siiski väga tõsiselt kaaluma. Uhiuue tarkvara kasutamine sisaldab endas väga suurt tõenäosust, et see jookseb kokku palju kergemini kui stabiilne väljalase. Kui kasutad seda aga ilma silumisteabeta, on väga keeruline koostada veateateid ning sul tuleb tõenäoliselt silumisteave vähemalt krahhi üle elanud rakenduse puhul uuesti sisse lülitada ning rakendus uuesti ehitada, et saaksid aidata arendajatel viga parandada. Niisiis, silumisteabe eemaldamine jääb vaid sinu enda südametunnistusele! </para
></warning>

<informalexample>
<para
>Ehitamiskataloogi eemaldamine pärast mooduli paigaldamist. Lähtekoodikataloog jääb alles ning silumine on sisse lülitatud:</para>

<screen
>global
  configure-flags      --enable-debug
  remove-after-install builddir        # Ehitamiskataloogi eemaldamine pärast paigaldamist
end global
</screen>

<para
>Ehitamiskataloogi eemaldamine pärast ehitamist. Silumine on välja lülitatud ning suurust optimeeritakse.</para>

<screen
>global
  cxxflags             -Os             # Suuruse optimeerimine
  configure-flags      --disable-debug
  remove-after-install builddir        # Ehitamiskataloogi eemaldamine pärast paigaldamist
end global
</screen>
</informalexample>
</sect2>

</sect1>

</chapter>

<chapter id="kde-cmake">
<title
>&cmake; - &kde; 4 ehitamissüsteem</title>

<sect1 id="kde-cmake-intro">
<title
>&cmake;'i sissejuhatus</title>

<para
>2006. aasta märtsis võitis &cmake; mitmeid konkurente ning valiti &kde; 4 ehitamissüsteemiks, asendades muidu &kde; algusest peale kasutatud autotoolsi-põhise süsteemi.</para>

<para
>&cmake;'i sissejuhatuse leiab <ulink url="http://techbase.kde.org/Development/Tutorials/CMake"
>&kde; TechBase'ist</ulink
>. Põhimõtteliselt võib selle kokku võtta nii: selle asemel, et käivitada <userinput
><command
>make</command
> <option
>-f</option
> <filename
>Makefile.cvs</filename
></userinput
>, siis <command
>configure</command
> ja siis &make;, tuleb nüüd käivitada &cmake; ja siis &make;. </para>

<para
>&kdesrc-build; toetab &cmake;'i. Mõned &kdesrc-build;i omadused õieti kuuluvadki selle aluseks olevale ehitamissüsteemile, sealhulgas <link linkend="conf-configure-flags"
>configure-flags</link
> ja <link linkend="conf-do-not-compile"
>do-not-compile</link
>. Samaväärsete omaduste korral saab neid ka kasutada. Näiteks võtme configure-flags vaste on <link linkend="conf-cmake-options"
>cmake-options</link
> ning võti <link linkend="conf-do-not-compile"
>do-not-compile</link
> on alates &kdesrc-build;i versioonist 1.6.3 toetatud ka &cmake;'i puhul. </para>

</sect1>
</chapter>

<chapter id="credits-and-licenses">
<title
>Autorid ja litsents</title>

<para
>Tõlge eesti keelde: Marek Laane<email
>bald@smail.ee</email
></para
> 
&underFDL; </chapter>

</book>
