Referensmanual för konfigurationsfil
Filen ~/.config/jhbuildrc använder Pythons standardsyntax. Filen körs och variablerna som definieras i namnrymden används för att kontrollera hur JHBuild beter sig. En uppsättning av standardvärden infogas i namnrymden innan användarens konfigurationsfil körs.
Booleska konfigurationsvariabler ställs in enligt den syntax som visas i följande exempel:
use_local_modulesets = True
Konfigurationsvariabler som är strängar ställs in via en syntax som visas i följande exempel:
autogenargs = '--disable-static --disable-gtk-doc'
Konfigurationsvariabler som är listor ställs in via en syntax som visas i följande exempel:
skip = ['mozilla', 'pulseaudio']
Konfigurationsvariabler som är ordböcker ställs in via en syntax som visas i följande exempel:
repos['git.gnome.org'] = 'ssh://username@git.gnome.org/git/'
6.1. Konfigurationsvariabler
- alwaysautogen
-
Ett booleskt värde som är inställt på True (sant) kommer alltid att köra autogen.sh. Detta är ekvivalent med att ange flaggan --autogen till JHBuild. Standardvärdet är False (falskt).
- autogenargs
-
En sträng som innehåller argument som anges till skriptet autogen.sh för alla moduler. Kan åsidosättas för specifika moduler via uppslagsboken module_autogenargs.
- branches
-
En uppslagsbok som anger vilken gren som används för specifika moduler. Detta är användbart om du gör ändringar på en viss gren för en modul och vill att JHBuild ska använda den grenen istället för den som listats i moduluppsättningen.
Definitionen av grenar beror på VCS-modulen:
-
CVS: revision. T.ex. 'GREN-PROJEKT-0_8'
-
Bazaar: URI:n för modulgrenen. T.ex. 'http://bzr.example.net/projekt/gnome-2-28'
-
Git: en tupel, där första delen är ett valfritt arkiv (eller värdet None (inget)) och andra delen är grenens namn. T.ex. ('git://git.example.net/project', 'gnome-2-28')
Exempel 2 Enkelt exempelbranches['modulnamn'] = (None, 'grennamn')
-
Subversion: URI:n för modulgrenen. T.ex. 'svn://svn.example.net/projekt/gnome-2-28'
-
- builddir_pattern
-
Ett formateringsmönster i printf-stil som används för att generera namn för byggkataloger. Detta används bara när separata källkods- och byggträd används. %s i formateringssträngen kommer att ersättas med checkoutdir. Standardvärdet är '%s'.
- buildroot
-
En sträng som anger den överordnade katalogen som byggträd placeras i. Standardvärdet är ~/.cache/jhbuild/build. Att ställa in värdet till None (ingen) får byggen att utföras i källkodsträden.
- buildscript
-
En sträng som ange vilket byggskript som ska användas. Den rekommenderade inställningen är standardvärdet, terminal. Bör framför allt inte ställs in till gtk.
- build_policy
-
En sträng som anger vilka moduler som ska byggas. De tre möjliga alternativen är all, för att bygga alla moduler som begärs, updated för att endast bygga de moduler som har ändrats eller updated-deps för att bygga moduler som har ändrats eller som har beroenden som har ändrats. Standardvärdet är updated-deps.
- checkoutroot
-
En sträng som anger vilken katalog som källkodsträd ska packas upp i. Om värdet inte är buildroot (byggrot) kommer byggen att ske i denna katalog också. Standardvärdet är ~/checkout/gnome.
- checkout_mode
-
En sträng som anger hur utcheckningen görs för kataloger under versionshantering. Standardvärdet är update. Detta kan ställas in för varje modul via module_checkout_mode. Möjliga värden är update (uppdatera katalog med utcheckning i), clobber (töm katalog innan källkod checkas ut), export (töm katalogen, skapa sedan ett tar-arkiv av källkoden samt eventuella programfixar) och copy (checka ut i en annan katalog än den som kommer att byggas).
- cmakeargs
-
En sträng som innehåller argument som anges till cmake-anropet för alla moduler. Kan åsidosättas för specifika moduler via uppslagsboken module_cmakeargs. Standardvärdet är ''.
- copy_dir
-
En sträng som anger vilken katalog som ska kopieras till om värdet copy används för checkout_mode. Standardvärdet är utcheckningskatalogen.
- export_dir
-
En sträng som anger vilken katalog som ska kopieras till om värdet export används för checkout_mode. Standardvärdet är utcheckningskatalogen.
- cvs_program
-
En sträng som anger vilket program som ska användas för CVS-stöd. Detta kan vara git-cvsimport eller cvs. Standardvärdet är cvs.
- disable_Werror
-
Ett booleskt värde (standardvärdet är True (sant)) som styr om --disable-Werror kommer att skickas till automake-byggen. Många paket använder denna flagga som ett sätt att inaktivera ödesdigra kompilatorvarningar. Värdet True (sant) är valt som ett rimligt standardvärde för de som använder jhbuild som ett sätt att få en uppdaterad version av programvarupaket utan att komma in på sidospår på grund av byggfel i andras moduler. Att ställa in detta värde till False (falskt) kan vara vettigt för de som använder jhbuild som en del av ett kontinuerligt integrations- eller testsystem.
- dvcs_mirror_dir
-
En sträng som anger en lokal katalog för spegling. JHBuild kommer att skapa lokala speglingar av arkiv i den angivna katalogen. Speglingarna kan delas av flera arkivgrupper vilket sparar utrymme och tid eftersom hårda länkar kommer att användas för lokala kloner. Kommandona update och updateone kommer att skapa speglingar och hämta nya incheckningar från arkiven på nätet. Detta alternativ stöds endast av Git- och Bazaar-arkiv.
- exit_on_error
-
Ett booleskt värde som anger huruvida bygget ska avslutas omedelbart när en modul misslyckas med att bygga. Detta är framför allt användbart i icke-interaktivt läge för att förhindra ytterligare moduler från att bygga efter att en misslyckas. Att ställa in detta värde till True (sant) är ekvivalent med att ange flaggan --exit-on-error. Standardvärdet är False (falskt).
- extra_prefixes
-
En lista av strängar som anger i precedensordning listan över extra prefix. JHBuild ställer in många miljövariabler (så som LD_LIBRARY_PATH, PKG_CONFIG_PATH och XDG_DATA_DIRS) baserat på variabeln prefix. Att lägga till kataloger till extra_prefixes kommer att förorsaka att dessa prefix också kommer att inkluderas, vid en lägre precedens än den för JHBuild prefix, men vid en högre precedens än systemkatalogerna. Denna variabel är tom som standard förutom på system som installerar programvara i /usr/local då den innehåller denna katalog.
- help_website
-
En tupel som anger namn och URL för en hjälpwebbplats. Webbplatsen visas i tinderbox-html för misslyckade moduler. %(module)s i URL:en kommer att ersättas med modulnamnet. För att inaktivera ställ in help_website till None (ingen). Standardvärdet är ('Gnome Live!', 'http://live.gnome.org/JhbuildIssues/%(module)s').
- installprog
-
En sträng som anger vilket program som ska användas som ersättning för /usr/bin/install.
- ignore_suggests
-
Ett booleskt värde som anger huruvida mjuka beroenden ska hoppas över när beroendeträdet beräknas. Standardvärdet är False (falskt).
- interact
-
Ett booleskt värde som anger huruvida bygget ska interagera med användaren. Om detta värde ställs in på False (falskt) är det ekvivalent med att ange flaggan --no-interact. Standardvärdet är True (sant).
- makeargs
-
En sträng som listar ytterligare argument som ska anges till make. JHBuild kommer automatiskt att lägga till den parallella exekveringsflaggan (-j) baserat på antalet tillgängliga CPU-kärnor. Standardvärdet är ””.
- makecheck
-
Ett booleskt värde som anger huruvida make check ska köras efter make. Standardvärdet är False (falskt).
- makecheck_advisory
-
Ett booleskt värde som anger huruvida fel vid körning av make check endast ska vara rådgivande och inte orsakar byggfel. Standardvärdet är False (falskt).
- makeclean
-
Ett booleskt värde som anger huruvida make clean ska köras före make. Standardvärdet är False.
- makedist
-
Ett booleskt värde som anger huruvida make dist ska köras efter make. Standardvärdet är False. Denna inställning är ekvivalent med att ange flaggan --dist.
- makedistcheck
-
Ett booleskt värde som anger huruvida make distcheck ska köras efter make. Standardvärdet är False. Denna inställning är ekvivalent med att ange flaggan --distcheck.
- mesonargs
-
En sträng som innehåller argument som anges till meson-anropet för alla moduler. Kan åsidosättas för specifika moduler via uppslagsboken module_mesonargs. Standardvärdet är ''.
- module_autogenargs
-
En uppslagsbok som mappar modulnamn till strängar som anger argumenten som ska skickas till autogen.sh. Inställningen i module_autogenargs används istället för den globala autogenargs-inställningen. Om en viss modul inte listas i uppslagsboken kommer den globala autogenargs att användas.
- module_checkout_mode
-
En uppslagsbok som anger vilket utcheckningsläge som ska användas för moduler. Detta åsidosätter den globala inställningen checkout_mode.
- module_cmakeargs
-
En uppslagsbok som mappar modulnamn till strängar som anger argumenten som ska skickas till cmake. Inställningen i module_cmakeargs används istället för den globala cmakeargs-inställningen. Om en viss modul inte listas i uppslagsboken kommer den globala cmakeargs att användas.
- module_makeargs
-
En uppslagsbok som mappar modulnamn till strängar som anger argument som ska skickas till make. Inställningen module_makeargs ersätter värdet från makeargs. Om en viss modul inte finns listad i uppslagsboken kommer den globala makeargs att användas.
- module_makecheck
-
En uppslagsbok som mappar modulnamn till booleska värden som anger huruvida make check ska köras efter make. Inställningen module_makecheck ersätter värdet från makecheck. Om en viss modul inte finns listad i uppslagsboken kommer den globala makecheck att användas.
- module_mesonargs
-
En uppslagsbok som mappar modulnamn till strängar som anger argumenten som ska skickas till meson. Inställningen i module_mesonargs används istället för den globala mesonargs-inställningen. Om en viss modul inte listas i uppslagsboken kommer den globala mesonargs att användas.
- module_ninjaargs
-
En uppslagsbok som mappar modulnamn till strängar som anger argument som ska skickas till ninja. Inställningen module_ninjaargs ersätter värdet från ninjaargs. Om en viss modul inte finns listad i uppslagsboken kommer den globala ninjaargs att användas.
- module_nopoison
-
En uppslagsbok som mappar modulnamn till booleska värden. Om en modul är inställd på True (sant) kommer JHBuild att försöka att bygga modulberoenden även om den angivna modulen misslyckades. Inställningen module_nopoison ersätter värdet från nopoison. Om en viss modul inte listas i uppslagsboken kommer den globala nopoison att användas.
- module_extra_env
-
En uppslagsbok som mappar modulnamn till ordböcker med extra miljövariabler som skickas till exekverande kommandon för modulen.
- module_static_analyzer
-
Uppslagsbok som mappar modulnamn till booleska värden som indikerar huruvida statisk analys ska genomföras medan modulen byggs. Detta låter det globala konfigurationsalternativet static_analyzer åsidosättas.
- modules
-
En lista av strängar som ange vilka moduler som ska byggas. Listan av moduler som faktiskt byggts kommer att expanderas rekursivt till att inkludera alla beroenden om inte kommandot buildone används. Standardvärdet är ['meta-gnome-desktop'].
- moduleset
-
En sträng eller lista av strängar som anger namn(en) för de moduluppsättningar som ska användas. Detta kan antingen vara filnamnet för en moduluppsättning inkluderad med JHBuild (exklusive sökvägen och filändelsen), eller en fullständig HTTP URL till en externt hanterad moduluppsättning. HTTP-URL-moduluppsättningar cachas lokalt. Om en modul med samma namn finns i mer än en moduluppsättning kommer den senast listade att ha högre prioritet. Moduluppsättningar som tillhandahålls av JHBuild uppdateras för att matcha aktuell GNOME-utvecklingsversion.
- modulesets_dir
-
En sträng som anger katalogen som innehåller moduluppsättningarna som ska användas. Standardvärdet är katalogen modulesets/ i JHBuild-källkoden.
- nice_build
-
Kör byggen under prioriteten SCHED_IDLE i Linux och nice för andra Unix:ar. Detta kan dramatiskt förbättra skrivbordsinteraktiviteten för parallella byggen medan de har försumbar inverkan på bygghastighet.
- ninjaargs
-
En sträng som listar ytterligare argument som ska skickas till ninja. Standardvärdet är ''.
- nobuild
-
Ett booleskt värde som om det är inställt på True (sant) kommer JHBuild inte att bygga moduler utan enbart hämta och packa upp källkoden. Standardvärdet är False (falskt).
- nonetwork
-
Ett booleskt värde som anger huruvida nätverksåtkomst är tillåten. Detta påverkar utcheckning eller uppdatering av CVS-moduler, hämtning av tar-arkiv och uppdatering av moduluppsättningar. Att ställa in denna på True (sant) är ekvivalent med att ange flaggan --no-network. Standardvärdet är False (falskt).
- nonotify
-
Ett booleskt värde som anger huruvida aviseringar ska skickas ut via aviseringsdemonen. Om denna är inställd på False (falskt) kommer aviseringar att skickas ut. Standardvärdet är True (sant).
- nopoison
-
Ett booleskt värde som om det är inställt på True (sant) kommer att få JHBuild att försöka bygga moduler även om en eller flera av modulens beroenden misslyckas med att bygga. Detta alternativ är ekvivalent med flaggan --no-poison. Standardvärdet är False (falskt).
- notrayicon
-
Ett booleskt värde som anger huruvida en ikon ska visas i systemfältet med hjälp av Zenity. Om detta är inställt på False (falskt) kommer en ikon att visas. Standardvärdet är True (sant).
- noxvfb
-
Ett booleskt värde som om det är inställt på True (sant) kommer att få JHBuild att köra grafiska tester på den riktiga X-servern snarare än att använda Xvfb. Denna flagga är ekvivalent med att ange --no-xvfb. Standardvärdet är False (falskt).
- partial_build
-
Ett booleskt värde som om det är inställt på True (sant) kommer att få JHBuild att inte bygga modulberoenden om motsvarande systempaket finns installerade och i tillräckligt ny version. Standardvärdet är True (sant).
- prefix
-
En sträng som anger prefixet att installera moduler i. prefix måste vara en absolut sökväg. Denna katalog måste vara skrivbar. Standardvärdet är ”~/jhbuild/install”.
- pretty_print
-
Ett booleskt värde som anger huruvida underprocessers utmatning ska formateras snyggt. Endast CVS-utmatning har stöd för snygg formatering. Inaktivera om snygg formatering förorsakar problem. Standardvärdet är True (sant).
- print_command_pattern
-
En sträng som visas innan JHBuild kör ett kommando. %(command)s i strängen kommer att ersättas med kommandot som ska köras. %(cwd)s i strängen kommer att ersättas med aktuell arbetskatalog. Standardvärdet är '%(command)s'.
- progress_bar
-
Ett booleskt värde som anger huruvida en förloppsindikator ska visas i tyst läge. Standardvärdet är True (sant).
- quiet_mode
-
Ett booleskt värde som om det är inställt på True (sant) inaktiverar utmatningen av kommandon som körs. Standardvärdet är False (falskt).
- repos
-
En uppslagsbok som anger en alternativ arkivplats för ett visst arkiv. Denna konfigurationsvariabel är användbar för en modulutvecklare. Som standard kommer JHBuild att checka ut kod från arkiv via en anonym arkivplats. Uppslagsboksnycklarna är korta arkivnamn och värdena är strängar med de alternativa arkivplatserna. Till exempel:
repos['git.gnome.org'] = 'ssh://username@git.gnome.org/git/'
- skip
-
En lista över moduler som ska hoppas över. Denna kommandoradsflagga, --skip, utökar listan. Denna lista är tom som standard. Om listan innehåller det speciella värdet '*' kommer JHBuild att hoppa över alla moduler som inte uttryckligen listas i variabeln modules. Detta kan vara användbart om du vill bygga moduler utan deras implicita beroenden.
- static_analyzer
-
Ett booleskt värde som om det är inställt på True (sant) kör ett statiskt analysverktyg för varje modul medan den byggs. Standardvärdet är False (falskt).
- static_analyzer_outputdir
-
Rotkatalogen under vilken statiska analysrapporter kommer att sparas (om static_analyzer är True (sant)). Standardvärdet är /tmp/jhbuild_static_analyzer.
- static_analyzer_template
-
Kommandomall för den statiska analysatorn. Denna får enligt printf-stil parametrarna outputdir (värdet från konfigurationsvariabeln static_analyzer_outputdir) och module (namnet på modulen som byggs för närvarande) ersatta. Det resulterande kommandot används som prefix till make när en modul byggs. Standardvärdet är scan-build.
- sticky_date
-
En sträng som om den är satt och om det stöds av det underliggande versionshanteringssystemet kommer att få JHBuild att uppdatera källkodsträdet till det angivna datumet innan bygge. Ett datum enligt ISO-format krävs, t.ex. 'åååå-mm-dd'. Standardvärdet är None (inget).
- svn_program
-
En sträng som anger vilket program som ska användas för subversion-utmatning. Denna kan vara svn, git-svn eller bzr. Standardvärdet är svn.
- system_libdirs
-
En lista av strängar som anger systembibliotekssökvägar. Dessa används när standardvärdet för vissa miljövariabler ställs in, till exempel PKG_CONFIG_PATH.
- tarballdir
-
En sträng som om den är inställd kommer att få tar-arkiv att hämtas till den angivna katalogen istället för checkoutroot. Detta är användbart om du har flera JHBuild-miljöer eller regelbundet rensar ur checkoutroot och vill reducera använd bandbredd. Standardvärdet är '~/.cache/jhbuild/downloads'.
- tinderbox_outputdir
-
En sträng som anger vilken katalog som används för att lagra jhbuild tinderbox-utmatning. Denna sträng kan åsidosättas av flaggan --output. Standardvärdet är None (ingen), så antingen måste kommandoradsflaggan eller denna variabel användas i konfigurationsfilen.
- trycheckout
-
Ett booleskt värde som om det är inställt på True (sant) får JHBuild att automatiskt försöka lösa fel genom att 1) köra autogen.sh igen eller 2) checka ut en nyare version av en modul från versionshanteringssystemet. Denna inställning är ekvivalent med att ange flaggan --try-checkout.
- use_local_modulesets
-
Ett booleskt värde som anger att de moduluppsättningar som checkats ut samtidigt med JHBuild-källkoden ska användas, istället för att hämta dem i farten från GNOME:s versionshanteringssystem. Standardvärdet är False (falskt).
- xvfbargs
-
En sträng som listar argument som ska skickas till Xvfb om grafiska tester ska köras.
- conditions
-
En mängd villkor (strängar) som kan påverka modulerna som byggs och flaggorna som används för att bygga dem. Du bör använda conditions.add() och conditions.discard() för att modifiera listan du vill göra ändringar i.
Originaluppsättningen av villkor som bestäms på OS-basis och kan modifieras via kommandoradsargumentet --conditions=. Ändringarna som görs via --conditions syns när jhbuildrc läses in så du kan ställa in andra variabler baserat på det aktuella värdet för uppsättningen men --conditions kommer att tillämpas igen efter att nya ändringar görs från jhbuildrc.
6.2. Andra strukturer i konfigurationsfilen
Förutom variablerna ovan finns det andra inställningar som kan finnas i konfigurationsfilen:
- os.environ
-
En uppslagsbok som representerar miljön. Denna miljö skickas vidare till processer som JHBuild startar.
Ett par inflytelserika miljövariabler är CPPFLAGS, CFLAGS INSTALL och LDFLAGS. Till exempel:
os.environ['CFLAGS'] = '-O0 -g'
- addpath(miljövariabel, sökvägsnamn)
-
Detta kommer att lägga till en katalog till miljövariabeln PATH. addpath kommer att korrekt hantera fallet när miljövariabeln är tom från början (att ha ett extra kolon i början eller slutet på en miljövariabeln kan få oförutsedda konsekvenser).
- prependpath(miljövariabel, sökvägsnamn)
-
Efter att ha behandlat konfigurationsfilen kommer JHBuild att förändra vissa sökvägar baserat på variabler så som prefix (t.ex. genom att lägga till $prefix/bin i början av PATH).
Funktionen prependpath fungerar som addpath förutom att miljövariabeln modifieras efter att JHBuild har gjort sina ändringar i miljön.