Grundläggande funktioner i kdesrc-build

stöd för qt

kdesrc-build stöder att bygga Qt™-verktygslådan som används an KDE-programvara som en bekvämlighet för användaren. Stödet hanteras av en särskild modul som kallas qt.

Notera

Qt™ utvecklas i ett separat arkiv från KDE-programvara, lokaliserat på http://code.qt.io/cgit/qt/.

För att bygga Qt™ måste du försäkra dig om att inställningen qtdir pekar på katalogen där du vill att Qt™ ska installeras, som beskrivs i ”Ange inställningsinformation”.

Därefter måste du försäkra dig om att modulen qt läggs till i kdesrc-buildrc, innan några andra moduler i filen. Om du använder exemplet på inställningsfil, kan du helt enkelt ta bort kommentarerna från den befintliga posten för modulen qt.

Nu bör du kontrollera att alternativet repository och alternativen branch är lämpligt inställda:

  1. Det första möjligheten är att bygga Qt™ med användning av en spegelplats som underhålls i KDE:s källkodsarkiv (inga andra ändringar har lagts till, det är helt enkelt en klon av den officiella källan). Det rekommenderas starkt på grund av att det ibland uppstår problem med att klona hela Qt™-modulen från det officiella arkivet.

    Alternativet repository kan ställas in till kde:qt för modulen qt, för att använda den möjligheten.

  2. Annars, för att bygga standard-Qt™, ställ in alternativet repository till git://gitorious.org/qt/qt.git. Observera att det kan uppstå problem att skapa den ursprungliga klonen av Qt™ från detta arkiv.

I båda fall ska alternativet branch ställas in till master (om du inte vill bygga en annan gren).

Standardflaggor tillagda av kdesrc-build

Observera: avsnittet gäller inte för moduler där du har ställt in en egen verktygskedja, t.ex. genom att använda cmake-toolchain.

För att spara tid, lägger kdesrc-build till några standardsökvägar i miljön åt dig:

  • Sökvägen till KDE- och Qt™-biblioteken läggs till i variabeln LD_LIBRARY_PATH automatiskt. Det betyder att du inte behöver redigera libpath för att inkludera dem.

  • Sökvägen till program för utvecklingsstöd i KDE och Qt™ läggs till i variabeln PATH automatiskt. Det betyder att du inte behöver redigera binpath för att inkludera dem.

  • Sökvägen till pkg-config som tillhandahålls av KDE läggs till i variabeln PKG_CONFIG_PATH automatiskt. Det betyder att du inte behöver använda set-env för att lägga till dem.

  • Inställningen av kdedir skickas automatiskt vidare till miljövariabeln KDEDIR under byggprocessen. (KDEDIRS påverkas inte).

  • Inställningen av qtdir skickas automatiskt vidare till miljövariabeln QTDIR under byggprocessen.

Ändra byggprioritet i kdesrc-build

Program kan köra med olika prioritetsnivåer på operativsystem, inklusive Linux® och BSD. Det tillåter systemet att tilldela tid för de olika programmen enligt hur viktiga de är.

kdesrc-build tilldelar normalt sig själv låg prioritet så att resten av programmen på systemet är opåverkade och kan köra normalt. Genom att använda den här tekniken, använder kdesrc-build extra processorkraft när den är tillgänglig.

kdesrc-build behåller fortfarande prioritetsnivån nog hög så att det kör innan rutinmässiga bakgrundsprocesser och innan program som donerar processorkraft såsom Seti@Home.

För att ändra kdesrc-build så att det använder en högre (eller lägre) prioritetsnivå permanent, måste du justera inställningen av niceness i inställningsfilen. Alternativet niceness styr hur snällt kdesrc-build är mot andra program. Med andra ord, att ha en högre niceness ger kdesrc-build lägre prioritet. Så för att ge kdesrc-build en högre prioritet, reducera niceness (och tvärtom). niceness kan gå från 0 (inte alls snällt, högsta prioritet) till 20 (supersnällt, lägsta prioritet).

Du kan också tillfälligt ändra prioritet hos kdesrc-build genom att använda kommandoradsväljaren --nice. Väljarens värde är exakt samma som för niceness.

Notera

Det är möjligt för vissa program som körs av systemadministratören att ha ett negativt snällhetsvärde, vilket motsvarar ännu högre prioritet för sådana program. Att ange en negativ niceness (eller till och med 0) för kdesrc-build är inte en god idé, eftersom det inte förbättrar körtiden nämnvärt, men gör att datorn verkar mycket slö om du ändå behöver använda den.

För att köra kdesrc-build med snällhetsgrad 15 (en lägre prioritet än normal) skriv:

% kdesrc-build --nice=15

Eller kan du redigera inställningsfilen för att göra ändringen permanent:

niceness 15

Tips

Alternativet niceness påverkar bara användning av datorns processor(er). En annan stor effekt på datorns prestanda har att göra med hur mycket in- och utmatning av data (I/O) som ett program använder. För att bestämma hur mycket I/O ett program kan använda, stöder moderna Linux®-operativsystem ett liknande verktyg som kallas ionice. kdesrc-build stöder ionice (men bara för att aktivera eller inaktivera det helt och hållet), med alternativet use-idle-io-priority, sedan kdesrc-build version 1.12.

Installera som systemadministratör

Du kanske också vill att kdesrc-build ska köra installationen med rättigheter som systemadministratör. Det kan gälla för systeminstallation, som inte rekommenderas. Det är dock också användbart när den rekommenderade installationen som enanvändare av KDE används. Det beror på att vissa moduler (i synnerhet kdebase) installerar program som tillfälligt behöver förhöjda rättigheter när de kör. De kan inte uppnå dessa rättighetsnivåer om de inte installeras med förhöjda rättigheter.

Du skulle helt enkelt kunna köra kdesrc-build som systemadministratör direkt, men det rekommenderas inte, eftersom programmet inte har granskats för den sortens användning. Även om det bör vara säkert att köra programmet på det sättet, är det bättre att undvika att köra som systemadministratör när det är möjligt.

För att hantera detta, tillhandahåller kdesrc-build alternativet make-install-prefix. Du kan använda alternativet för att ange ett kommando som används för att utföra installationen som en annan användare. Det rekommenderade sättet att använda kommandot är med programmet Sudo, som kör installationskommandot som systemadministratör.

För att till exempel installera alla moduler genom att använda Sudo, skulle du kunna göra något liknande:

global
  make-install-prefix sudo
  # Övriga alternativ
end global

För att använda make-install-prefix för bara en enda modul, skulle det här fungera:

module något-modul-namn
  make-install-prefix sudo
end module

Visa förloppet för en byggprocess av en modul

Funktionen är alltid tillgänglig, och automatiskt aktiverad om möjligt. Vad den gör är att visa ett uppskattat byggförlopp medan en modul byggs, på så sätt vet du hur mycket längre det kommer att ta att bygga en modul.