Kapitel 4. Anpassa kdesrc-build

Översikt av kdesrc-build anpassning

För att använda skriptet måste du ha en fil i din hemkatalog som heter .kdesrc-buildrc, som beskriver modulerna som du vill ladda ner och bygga, och eventuella alternativ eller inställningsparametrar att använda för dessa moduler.

Inställningsfilens layout

Allmän inställning

Inställningsfilen börjar med allmänna alternativ, angivna enligt följande:

global
alternativ-namn alternativ-värde
[...]
end global

Modulinställning

Den följs därefter av en eller flera modulsektioner, angivna på ett av följande två sätt:

  • module modul-namn
    alternativ-namn alternativ-värde
    [...]
    end module
    
  • module-set module-set-name
      repository kde-projects eller git://host.org/path/to/repo.git
      use-modules modulnamn
    
    # Andra alternativ kan också anges
    alternativnamn alternativvärde
    [...]
    end module-set
    

Viktigt

Observera att det andra sättet, med moduluppsättningar, bara fungerar för Git-baserade moduler.

För Git-moduler måste modul-namn vara en modul i KDE:s Git-arkiv (till exempel kdeartwork eller kde-wallpapers), även om det går att undvika det om du anger webbadressen i Git manuellt.

För Git-moduler kan modulnamnet vara i stort sett vad du vill, under förutsättning att det inte är en dubblett av något annat modulnamn i inställningen. Kom ihåg att källkod- och byggkatalogens layout kommer att baseras på modulnamnet om du inte använder väljaren dest-dir.

För Git moduluppsättningar måste dock modulnamn motsvara verkliga Git-moduler i det valda arkivet. Se git-repository-base eller use-modules för mer information.

Behandling av alternativvärden

I allmänhet används hela radens innehåll efter alternativnamn som alternativvärde.

En modifikation som kdesrc-build utför är att följden ${alternativnamn} ersätts med värdet av det alternativet från den globala inställningen. Det låter dig referera till värden på befintliga alternativ, inklusive alternativ som redan ställts in av kdesrc-build.

För att se ett exempel på detta i användning, se Exempel 2.1, ”Anpassa Make för att använda alla tillgängliga processorer, med undantag”.

options-moduler

Det finns en sista typ av post i inställningsfilen, options-grupper, som kan anges var som helst där module eller module-set kan användas.

options modul-namn
alternativ-namn alternativ-värde
[...]
end options

En options-grupp kan ha inställda alternativ precis som en moduldeklaration, och är kopplad till en befintlig modul. Alla alternativ som ställs in på detta sätt används för att överskrida alternativ inställda för den tillhörande modulen.

Viktigt

Den tillhörande modulens namn måste stämma med namnet som anges i deklarationen av options. Var försiktig så att inte ett felstavat namn skrivs in.

Detta är användbart för att göra det möjligt att deklarera en hel module-set med moduler, som alla använder samma alternativ, och därefter använda options-grupper för att göra individuella ändringar.

Gruppen options kan också gälla namngivna moduluppsättningar. Det låter expertanvändare använda en gemensam inställningsfil (som inkluderar deklarationer av module-set) som grundinställning, och sedan göra ändringar av alternativen som används av sådana moduluppsättningar i inställningsfiler med kommandot include för att referera till grundinställningen.

Exempel 4.1. Exempel på användning av alternativ

I det här exemplet väljer vi att bygga alla moduler från KDE:s multimediaprogramvara. Dock vill vi använda en annan version av programmet KMix (kanske för att prova en felrättning). Det fungerar på följande sätt:

module-set kde-multimedia-set
  repository kde-projects
  use-modules kde/kdemultimedia
  branch master
end module-set

# kmix är en del av kde/kdemultimedia group, även om vi aldrig namngav
# kmix tidigare i den här filen, räknar kdesrc-build ut ändringen.
options kmix
  branch KDE/4.12
end options

När kdesrc-build nu körs, byggs alla KDE:s multimediaprogram från grenen master i källkodsarkivet, men KMix byggs från den äldre grenen KDE/4.12. Genom att använda options, behövde man inte lista alla de andra programmen i KDE:s multimedia individuellt för att ge dem rätt grenalternativ.


Notera

Observera att funktionen är bara tillgänglig i kdesrc-build från version 1.16, eller genom att använda utvecklingsversionen av kdesrc-build efter 2014-01-12.

Inkludera andra inställningsfiler

Inne i inställningsfilen kan du referera till andra filer genom att använda nyckelordet include med en fil, vilket fungerar som om den refererade filen hade infogats i inställningsfilen på det stället.

Du skulle exempelvis kunna göra något liknande:

global
    include ~/common-kdesrc-build-options

    # Infoga specifika alternativ här.

end global

Notera

Om du inte anger fullständig sökväg för filen som ska inkluderas, eftersöks filen med början i katalogen som innehåller källkodsfilen. Det fungerar också rekursivt.

Ofta använda inställningsalternativ

Följande är en lista med alternativ som ofta används. Klicka på alternativet för att ta reda på mer om det. För att visa den fullständiga listan med alternativ, se ”Tabell av tillgängliga inställningsalternativ”.

  • cmake-options för att ange vilka flaggor en modul ska ställas in med vid användning av CMake.

  • branch, för att checka ut från en gren istället för master.

  • configure-flags för att ange vilka flaggor Qt™ ska ställas in med.

  • kdedir, för att ange katalogen där KDE ska installeras.

  • make-options, för att skicka väljare till byggprogrammet Make (såsom antal processorer att använda).

  • qtdir, för att ange sökvägen till Qt™.

  • source-dir, för att ändra vart källkoden laddas ner.