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 2Enkelt exempel
    branches['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.