Standaard functionaliteiten van kdesrc-build

qt-ondersteuning

kdesrc-build ondersteunt het bouwen van de Qt™ toolkit die door KDE software wordt gebruikt als handreiking aan de gebruikers. Deze ondersteuning wordt afgehandeld door een speciale module genaamd qt.

Opmerking

Qt™ wordt ontwikkeld in een separate repository van KDE de software is te vinden op http://code.qt.io/cgit/qt/.

Om Qt™ te kunnen bouwen, moet u er op letten dat qtdir verwijst naar de map waar u Qt™ wilt installeren zoals is beschreven in de paragraaf met de naam “Instellen van de configuratiegegevens”.

Let er op dat de qt module aanwezig is in uw .kdesrc-buildrc, voor enig andere module in het bestand. Als u het voorbeeld configuratiebestand gebruikt, dan hoeft u enkel de al aanwezige qt module entry te uncommenten.

Nu moet u controleren dat de opties repository en branch juist zijn ingesteld:

  1. De eerste optie is om Qt™ te bouwen met behulp van een mirror in de KDE broncoderepositories (zonder verdere wijzigingen, het is gewoon een cloon van de officiële broncode). Dit wordt sterk aanbevolen vanwege problemen die u kunt ondervinden met het clonen van de complete Qt™ module uit de officiële repository.

    U kunt de optie repository voor de qt module instellen op kde:qt om deze mogelijkheid te gebruiken.

  2. In het andere geval, kunt u om de standaard Qt™ te bouwen, uw optie repository instellen op git://gitorious.org/qt/qt.git. Merk op dat u problemen kunt ondervinden met de initiële cloon van Qt™ uit dezerepository.

In beide gevallen, moet u de branch-optie instellen op master (tenzij u een andere branch wilt gebruiken).

Standaard flags toegevoegd door kdesrc-build

Opmerking: deze sectie is niet van toepassing op modules waarvoor u een aangepaste toolchain hebt geconfigureerd, met bijv. cmake-toolchain.

Om het u makkelijker te maken en tijd te besparen, voegt kdesrc-build enkele standaard paden toe aan uw omgeving:

  • De paden naar de KDE en de Qt™ libraries worden automatisch aan de variabele LD_LIBRARY_PATH toegevoegd. Dit betekent dat u libpath niet hoeft te bewerken om ze toe te voegen.

  • De paden naar de ontwikkel-hulpprogramma's van KDE en de Qt™ worden automatisch aan de variabele PATH toegevoegd. Dit betekent dat u binpath niet hoeft te bewerken om ze toe te voegen.

  • Het pad naar de door KDE geleverde pkg-config worden automatisch aan de variabele PKG_CONFIG_PATH toegevoegd. Dit betekent dat u set-env niet hoeft te gebruiken om ze toe te voegen.

  • De instellingen voor kdedir wordt automatisch doorgegeven aan de omgevingsvariabele KDEDIR tijdens het bouwen. (KDEDIRS wordt niet permanent gewijzigd).

  • De instellingen voor qtdir wordt automatisch doorgegeven aan de omgevingsvariabele QTDIR tijdens het bouwen.

Het wijzigen van de bouwprioriteit van kdesrc-build

Programma's kunnen verschillende prioriteiten hebben in besturingssystemen zoals Linux® en BSD. Hierdoor kan het systeem computertijd toewijzen aan de verschillende programma's overeenkomstig met hoe belangrijk ze zijn.

kdesrc-build zal zichzelf normaal gesproken een lage prioriteit geven zodat de rest van de programma's op uw systeem onaangetast zijn en normaal zullen werken. Door deze techniek te gebruiken, zal kdesrc-build alleen extra CPU-capaciteit gebruiken als dat beschikbaar is.

kdesrc-build houdt een hogere prioriteit dan batch-processen en CPU-donatie programma's zoals Seti@Home.

Om kdesrc-build zodanig te wijzigen dat het permanent een hogere (of lagere) prioriteit heeft, moet u de niceness-instelling in het configuratiebestand wijzigen. De instelling niceness regelt hoe nice kdesrc-build is naar andere programma's. Met andere woorden, door het hebben van een hogere niceness, geeft kdesrc-build een lagere prioriteit. Dus door kdesrc-build een hogere prioriteit te geven, reduceert u de niceness (en vice versa). De niceness kan gaan van 0 (helemaal niet nice, hoogste prioriteit) tot 20 (super nice, laagste prioriteit).

U kunt ook de prioriteit van kdesrc-build tijdelijk wijzigen me de hulp van --nice commandoregeloptie. De gebruikte optiewaarde moet precies hetzelfde zijn als voor niceness.

Opmerking

Root kan sommige programma's gebruiken met een negatieve waarde voor nice, met voor dergelijke programma's de bijbehorende nog hogere prioriteit. Een negatieve (of zelfs 0) niceness voor kdesrc-build instellen is geen goed idee, omdat het niet helpt om de CPU-tijden significant korter te maken, maar het zorgt er wel voor dat uw computer erg traag lijkt in het geval dat u uw computer wilt gebruiken.

Om kdesrc-build met een prioriteit van 15 (een lagere prioriteit dan normaal) te laten werken:

% kdesrc-build --nice=15

Maar u kunt ook het configuratiebestand bewerken om de wijziging permanent te maken:

niceness 15

Tip

De niceness-optie heeft alleen effect op het gebruik van de processor(s) van de computer. Een ander belangrijke factor die invloed heeft op de performance van de computer is hoeveel data input of output (I/O) een programma gebruikt. Om te regelen hoeveel I/O een programma kan gebruiken, hebben moderne Linux® besturingssystemen een vergelijkbaar hulpmiddel genaamd ionice. kdesrc-build ondersteunt ionice, (maar alleen om het compleet IN- of UIT- te schakelen) door de optie use-idle-io-priority te gebruiken, vanaf kdesrc-build versie 1.12.

Installatie als de Root

U wilt wellicht kdesrc-build gebruiken voor de installatie met root-privileges. Maar dit is wellicht voor de niet aanbevolen systeembrede installatie. Maar dit is ook handig voor gebruik bij een aanbevolen single user KDE bouw. Dat is omdat sommige modules (met name kdebase) programma's installeert die tijdens gebruik kort hogere permissies nodig hebben. Zij kunnen niet op deze permissie-niveau's werken tenzij ze met de verhoogde permissies zijn geïnstalleerd.

U zou kdesrc-build gewoon direct als root kunnen opstarten, maar dit wordt niet aanbevolen, omdat het programma niet voor dat gebruik is uitgetest. Al hoe wel het zou veilig moeten zijn om het programma op die manier te gebruiken, is het beter om het gebruik als root zoveel mogelijk te vermijden.

Om dit probleem op te lossen, heeft kdesrc-build de optie make-install-prefix. U kunt deze optie gebruiken om een te gebruiken commando te specificeren dat de installatie als een andere gebruiker uitvoert. De aanbevolen manier om dit commando te gebruiken is met de hulp van het programma Sudo, wat het installatieproces zal starten als root.

Bijvoorbeeld, om met gebruik van Sudo alle modules te installeren, kan u het volgende doen:

global
  make-install-prefix sudo
  # Other options
end global

Om make-install-prefix te gebruiken voor een enkele module, moet u het volgende doen:

module svn-module-name
  make-install-prefix sudo
end module

De voortgang van het bouwen van een module tonen

Deze functionaliteit is altijd beschikbaar, en is indien mogelijk automatisch ingeschakeld. Wat dit doet is het tonen van de geschatte voortgang van het bouwproces tijdens het bouwen van een module; op die manier kunt u weten hoelang het nog duurt om een module te bouwen.