Referenční příručka k souboru nastavení
Soubor ~/.config/jhbuildrc používá standardní syntax jazyka Python. Soubor je spuštěn a výsledné proměnné definované ve jmenném prostoru se použijí k řízení činností, které JHBuild provádí. Než se uživatelská verze souboru spustí, je do jmenného prostoru vložena sada výchozích hodnot.
Pravdivostní proměnné v nastavení se definují pomocí syntaxe ukázané v následujícím příkladu:
use_local_modulesets = True
Řetězcové proměnné v nastavení se definují pomocí syntaxe ukázané v následujícím příkladu:
autogenargs = '--disable-static --disable-gtk-doc'
Seznamové proměnné v nastavení se definují pomocí syntaxe ukázané v následujícím příkladu:
skip = ['mozilla', 'pulseaudio']
Slovníkové proměnné v nastavení se definují pomocí syntaxe ukázané v následujícím příkladu:
repos['git.gnome.org'] = 'ssh://uzivatelske_jmeno@git.gnome.org/git/'
6.1. Proměnné nastavení
- alwaysautogen
-
Pravdivostní hodnota. Když je nastavená na True, spustí se vždy autogen.sh, což odpovídá předání volby --autogen. Výchozí je False.
- autogenargs
-
Řetězec obsahující argumenty předávané pro všechny moduly skriptu autogen.sh. Pro konkrétní moduly může být přepsán pomocí slovníku module_autogenargs.
- branches
-
Slovník určující, která větev se má použít pro které konkrétní moduly. To se hodí, když děláte nějaké změny ve větvi modulu a chcete aby JHBuild sestavil danou tuto větev místo větve uvedené v sadě modulů.
Definice větví závisejících na modulu VCS:
-
CVS: revize. Např. 'BRANCH-PROJECT-0_8'
-
Bazaar: adresa URI větve modulu. Např. 'http://bzr.example.net/project/gnome-2-28'
-
Git: dvojice s první částí tvořenou volitelným repozitářem (nebo hodnotou None) a druhou částí tvořenou názvem větve. Např. ('git://git.example.net/project', 'gnome-2-28')
Příklad 2 Jednoduchý příkladbranches['nazev_modulu'] = (None, 'nazev_vetve')
-
Subversion: adresa URI větve modulu. Např. 'svn://svn.example.net/project/gnome-2-28'
-
- builddir_pattern
-
Vzor pro formátování pomocí printf použitý ke generování názvů složek pro sestavení. To se využije, jen když používáte oddělené stromy pro zdrojové kódy a pro sestavení. %s ve formátovacím řetězci bude nahrazeno hodnotou z checkoutdir. Výchozí je '%s'.
- buildroot
-
Řetězec určující rodičovskou složku pro umístění stromu sestavení. Výchozí hodnota je ~/.cache/jhbuild/build. Nastavení na None způsobí, že sestavení bude provedeno ve stromu zdrojových kódů.
- buildscript
-
Řetězec určující, který sestavovací skript použít. Doporučuje se výchozí nastavení terminal. Zejména nenastavujte na gtk.
- build_policy
-
Řetězec určující, které moduly se mají sestavit. Tři možné volby jsou all pro sestavení všech požadovaných modulů, updated pro sestavení pouze modulů, ve kterých jsou změny, a updated-deps pro sestavení modulů, ve kterých jsou změny, nebo které mají závislosti, ve kterých jsou změny. Výchozí hodnota je updated-deps.
- checkoutroot
-
Řetězec určující složku, do které se má rozbalit strom se zdrojovými kódy. Pokud není nastaveno buildroot, objeví se v této složce i sestavení. Výchozí hodnota je ~/checkout/gnome.
- checkout_mode
-
A string specifying how the checkout is performed for directories in version control. Defaults to update. This can be set per module using module_checkout_mode. Possible values are update (update checkout directory), clobber (wipe out directory before checking out the sources), export (wipe out directory then create a tarball of the sources containing any patches) and copy (checkout in a directory different from the one it will build).
- cmakeargs
-
A string containing arguments passed to the cmake invocation of all modules. Can be overridden for particular modules using the module_cmakeargs dictionary. Defaults to ''.
- copy_dir
-
Řetězec určující složku, do které se má kopírovat, když se používá režim kopírování checkout_mode. Výchozí je složka pro stahování z repozitářů.
- export_dir
-
A string specifying the directory to export to, if the export checkout_mode is in use. Defaults to the checkout directory.
- cvs_program
-
Řetězec určující, který program se má použít pro podporu CVS. Může to být git-cvsimport nebo cvs. Výchozí je cvs.
- disable_Werror
-
Pravdivostní hodnota (výchozí je True), která řídí předání volby --disable-Werror do sestavení pomocí automake. Řada balíčků používá tento příznak jako způsob, jak zabránit kritickým varováním kompilátoru. Hodnota True je vybrána jako rozumná výchozí pro ty, kteří používají JHBuild k získání aktuální verze softwarových balíčků, aniž by se chtěli zabývat selháním sestavení v modulech jiných lidí. Nastavení této hodnoty na False může mít smysl pro ty, kteří používají JHBuild jako součást průběžné integrace nebo jako testovací systém.
- dvcs_mirror_dir
-
Řetězec určující složku s místní zrcadlovou kopií. JHBuild vytvoří místní zrcadlovou kopii repozitářů v této složce. Zrcadlové kopie mohou být sdílené více skupinami repozitářů, čímž se ušetří místo a čas, protože v místních klonech se používají pevné odkazy. Příkazy update a updateone vytvoří zrcadlové kopie a získají nová zařazení z repozitářů on-line. Tato volba je podporovaná jen repozitáři Git a Bazaar.
- exit_on_error
-
Pravdivostní hodnota určující, že se má skončit okamžitě po té, co selže sestavení modulu. To má význam hlavně v neinteraktivním režimu, aby se zabránilo v sestavení dalších modulů, když sestavení nějakého modulu selže. Nastavení této hodnoty na True odpovídá předání volby --exit-on-error. Výchozí hodnota je False.
- extra_prefixes
-
Seznam řetězců určující, v zadaném pořadí, seznam zvláštních prefixů. JHBuild nastavuje řadu proměnných prostředí (jako třeba LD_LIBRARY_PATH, PKG_CONFIG_PATH a XDG_DATA_DIRS) podle proměnné prefix. Přidání složek do extra_prefixes způsobí, že tyto prefixy budou zahrnuty také, s nižší prioritou než z proměnné prefix, ale s vyšší prioritou než jsou systémové složky. Ve výchozím stavu je tato proměnná prázdná vyjma systémů, které instalují software do složky /usr/local, kdy obsahuje právě tuto složku.
- help_website
-
Dvojice určující název webové stránky s nápovědou a její adresu URL. Webová stránka se zobrazí v souboru HTML vygenerovaném pomocí tinderbox pro moduly, jejich sestavení selže. %(module)s adrese URL bude nahrazeno názvem modulu. Pro zakázání nastavte help_website na None. Výchozí hodnota je ('Gnome Live!', 'http://live.gnome.org/JhbuildIssues/%(module)s').
- installprog
-
Řetězec určující program, který se použije jako náhrada pro /usr/bin/install.
- ignore_suggests
-
Pravdivostní hodnota určující, jestli při výpočtu stromu závislostí ignorovat měkké závislosti. Výchozí hodnota je False.
- interact
-
Pravdivostní hodnota určující, jestli se má komunikovat s uživatelem. Nastavení na hodnotu False odpovídá předání volby --no-interact. Výchozí hodnota je True.
- makeargs
-
Řetězec uvádějící dodatečné argumenty, které se předají příkazu make. JHBuild automaticky připojuje volbu pro paralelní provádění (-j) vycházející z počtu jader dostupných v procesoru. Výchozí hodnota je ''.
- makecheck
-
Pravdivostní hodnota určující, jestli po make spustit make check. Výchozí hodnota je False.
- makecheck_advisory
-
Pravdivostní hodnota určující, jestli selhání při běhu make check má být jen informativní a nezpůsobit selhání celého sestavení. Výchozí hodnota je False.
- makeclean
-
Pravdivostní hodnota určující, jestli se má před make nejdříve spustit make clean. Výchozí hodnota je False.
- makedist
-
Pravdivostní hodnota určující, jestli se má po příkazu make spustit make dist. Výchozí hodnota je False. Toto nastavení odpovídá předání volby --dist.
- makedistcheck
-
Pravdivostní hodnota určující, jestli se má po příkazu make spustit make distcheck. Výchozí hodnota je False. Toto nastavení odpovídá předání volby --distcheck.
- mesonargs
-
A string containing arguments passed to the meson invocation of all modules. Can be overridden for particular modules using the module_mesonargs dictionary. Defaults to ''.
- module_autogenargs
-
Slovník mapující názvy modulů na řetězce určující argumenty, které se předají skriptu autogen.sh. Nastavení v module_autogenargs se použije místo globálního nastavení autogenargs. Pokud některý modul ve slovníku není uveden, použije se globální autogenargs.
- module_checkout_mode
-
Slovník určující režimy stahování použité jednotlivými moduly. Přepíše globální nastavení checkout_mode.
- module_cmakeargs
-
Slovník mapující názvy modulů na řetězce určující argumenty, které se předají příkazu cmake. Nastavení v module_cmakeargs se použije místo globálního nastavení cmakeargs. Pokud některý modul ve slovníku není uveden, použije se globální cmakeargs.
- module_makeargs
-
Slovník mapující názvy modulů na řetězce určující argumenty, které se předají příkazu make. Nastavení v module_makeargs se použije místo globálního nastavení makeargs. Pokud některý modul ve slovníku není uveden, použije se globální makeargs.
- module_makecheck
-
Slovník mapující názvy modulů na pravdivostní hodnoty určující, jestli se má po příkazu make spustit make check. Nastavení v module_makecheck nahradí hodnoty z nastavení makecheck. Pokud některý modul ve slovníku není uveden, použije se globální makecheck.
- module_mesonargs
-
Slovník mapující názvy modulů na řetězce určující argumenty, které se předají příkazu meson. Nastavení v module_mesonargs se použije místo globálního nastavení mesonargs. Pokud některý modul ve slovníku není uveden, použije se globální mesonargs.
- module_ninjaargs
-
Slovník mapující názvy modulů na řetězce určující argumenty, které se předají příkazu ninja. Nastavení v module_makeargs se použije místo globálního nastavení makeargs. Pokud některý modul ve slovníku není uveden, použije se globální makeargs.
- module_nopoison
-
Slovník mapující názvy modulů na pravdivostní hodnoty. Když je modul nastaven na True, pokusí se JHBuild sestavit závislé moduly, i když zadaný modul selže. Nastavení v module_nopoison nahradí hodnoty z nastavení nopoison. Pokud některý modul ve slovníku není uveden, použije se globální nopoison.
- module_extra_env
-
Slovník mapující názvy modulů na slovníky s dodatečnými proměnnými prostředí, které se předají při spuštění příkazů pro modul.
- module_static_analyzer
-
Slovník mapující názvy modulů na pravdivostní hodnoty, které určují, jestli se má při sestavování modulu provést statická analýza. Umožňuje přepsat globální volbu nastavení static_analyzer.
- modules
-
Seznam řetězců určujících moduly k sestavení. Seznam skutečně sestavených modulů bude rekurzivně rozvinut, aby pokryl všechny závislosti, vyjma situace, kdy je použit příkaz buildone. Výchozí hodnota je ['meta-gnome-desktop'].
- moduleset
-
Řetězec (nebo seznam řetězců) specifikující název sady modulů (nebo názvy sad modulu), které se mají použít. Název může být dán buď název souboru se sadou modulů, která je součástí JHBuildu (cestu a příponu vynechejte) nebo plnou adresou HTTP URL k externě spravované sadě modulů. Externí sada modulů bude uložena v mezipaměti. Pokud se modul se stejným názvem objeví ve více sadách modulů, získá přednost poslední uvedený. Sady modulů zahrnuté přímo v JHBuildu jsou aktualizované, aby odpovídaly aktuálnímu vývojovému vydání GNOME.
- modulesets_dir
-
Řetězec určující složku, která obsahuje sadu modulů, která se má použít. Výchozí hodnotou je složka modulesets/ ve zdrojích systému JHBuild.
- nice_build
-
Spustí sestavení s prioritou SCHED_IDLE v Linuxu, případně nice v jiných Unixových systémech. Tím se významně zvýší odezva uživatelského prostředí při paralelním sestavování, zatímco na propustnost sestavení to má zanedbatelný vliv.
- ninjaargs
-
Řetězec uvádějící dodatečné argumenty, které se předají příkazu ninja. Výchozí je ''.
- nobuild
-
Pravdivostní hodnota. Když je nastavená na True, nebude JHBuild sestavovat moduly, jen stáhne a rozbalí zdrojové kódy. Výchozí hodnota je False.
- nonetwork
-
Pravdivostní hodnota určující, jestli se má přistupovat k síti. Ovlivňuje stahování a aktualizace modulů CVS, stahování archivů tarball a aktualizace sad modulů. Nastavení na True odpovídá předání volby --no-network. Výchozí hodnota je False.
- nonotify
-
Pravdivostní hodnota určující, jestli se mají vysílat upozornění pomocí démona upozornění. Když je nastaveno na False, jsou upozornění vysílána. Výchozí hodnota je True.
- nopoison
-
Pravdivostní hodnota. Když je nastavená na True, pokusí se JHBuild sestavit moduly, i když selže sestavení jednoho nebo více modulů závislostí. Tato volba odpovídá argumentu --no-poison. Výchozí hodnota je False.
- notrayicon
-
Pravdivostní hodnota určující, jestli se má v systémové liště zobrazit pomocí Zenity ikona. Když je nastavené na False, zobrazí se ikona. Výchozí hodnota je True.
- noxvfb
-
Pravdivostní hodnota. Když je nastavená na True, spustí JHBuild grafické testy na skutečném X serveru, místo aby použil Xvfb. Tato volba odpovídá předání --no-xvfb. Výchozí hodnota je False.
- partial_build
-
Pravdivostní hodnota, která, když je nastavená na True, přiměje JHBuild, aby nesestavoval moduly závislostí v případě, že je nainstalován odpovídající systémový balíček a je v dostačující verzi. Výchozí hodnota je True.
- prefix
-
Řetězec určující prefix cesty, do které se mají instalovat moduly. Musí se jednat o absolutní cestu a složka musí být zapisovatelná. Výchozí hodnota je '~/jhbuild/install/'.
- pretty_print
-
Pravdivostní hodnota určující hezké formátování výstupu z podřízeného procesu. Hezké formátování podporuje jen výstup CVS. Pokud toto formátování způsobuje problémy, vypněte jej. Výchozí hodnota je True.
- print_command_pattern
-
Řetězec, který se zobrazí, než JHBuild provede příkaz. %s(command)s bude v řetězci nahrazeno příkazem, který má být proveden. %(cwd)s bude nahrazeno aktuální pracovní složkou. Výchozí hodnotu je '%(command)s'.
- progress_bar
-
Pravdivostní hodnota určující, jestli se má během tichého režimu zobrazovat ukazatel průběhu. Výchozí hodnota je True.
- quiet_mode
-
Pravdivostní hodnota, která když je nastavená na True, zakáže výpisy z běžícího příkazu. Výchozí hodnota je False.
- repos
-
Slovník určující cesty k alternativním repozitářům. Tato proměnná nastavení je užitečná pro vývojáře modulů. Ve výchozím stavu JHBuild stáhne zdrojové kódy z repozitářů pro anonymní přístup. Klíči slovníku jsou krátké názvy repozitářů a hodnotami jsou cesty alternativních repozitářů. Například:
repos['git.gnome.org'] = 'ssh://uzivatelske_jmeno@git.gnome.org/git/'
- skip
-
Seznam modulů, které se mají přeskočit. Volba příkazového řádku --skip seznam rozvine. Ve výchozím stavu je tento seznam prázdný. Pokud seznam obsahuje speciální hodnotu '*', přeskočí JHBuild všechny moduly, které nejsou výslovně uvedené v proměnné modules. To se může hodit, když chcete sestavit moduly bez jejich přirozených závislostí.
- static_analyzer
-
Pravdivostní hodnota. Když je nastavená na True, spustí se statická analýza pro jednotlivé moduly, tak jak jsou sestavovány. Výchozí hodnota je False.
- static_analyzer_outputdir
-
Kořenová složka, do které budou ukládány výstupní zprávy statické analýzy (když je static_analyzer nastaveno na True). Výchozí hodnota je /tmp/jhbuild_static_analyzer.
- static_analyzer_template
-
Šablona příkazu pro statickou analýzu. Může mít parametry outputdir (hodnota proměnné nastavení static_analyzer_outputdir) a module (název právě sestavovaného modulu), které se nahradí ve stylu printf. Výsledný příkaz je použit jako prefix k příkazu make při sestavení modulu. Výchozí hodnota je scan-build.
- sticky_date
-
Řetězec, který když je nastaven, a když to podporuje systém správy verzí v pozadí, zajistí, že JHBuild před sestavením aktualizuje strom se zdrojovými kódy na konkrétní datum. Datum je požadováno ve formátu ISO, např. 'rrrr-mm-dd'. Výchozí hodnota je None.
- svn_program
-
Řetězec určující program, který se použije pro podporu systému subversion. Možné hodnoty jsou svn, git-svn a bzr. Výchozí hodnota je svn.
- system_libdirs
-
Seznam řetězců určující cesty k systémovým knihovnám. Použije se, když se nastavují výchozí hodnoty některých proměnných prostředí, jako je třeba PKG_CONFIG_PATH.
- tarballdir
-
Řetězec, který když je nastaven, způsobí stažení archivu tarball do zadané složky, místo do checkoutroot. To se hodí, když máte více prostředí JHBuild nebo pravidelně čistíte checkoutroot a nechcete stahovat pořád dokola to stejné. Výchozí je '~/.cache/jhbuild/downloads'.
- tinderbox_outputdir
-
Řetězec určující složku pro uložení výstupu z jhbuild tinderbox. Tento řetězec může být přepsán volbou --output. Výchozí volbou je None, takže buď je potřeba zadat volbu v příkazové řádce nebo tuto proměnnou v souboru s nastavením opravdu nastavit.
- trycheckout
-
Pravdivostní hodnota. Když je nastavená na True, bude se JHBuild automaticky pokoušet vyřešit selhání, a to 1) opětovným spuštěním autogen.sh a 2) stažením novější verze modulu ze správy verzí. Toto nastavení odpovídá předání volby --try-checkout.
- use_local_modulesets
-
Pravdivostní hodnota, která říká, že se má použít sada modulů stažená mimo zdrojové kódy v JHBuildu, místo aby se stahovala za běhu ze systému správy verzí projektu GNOME. Výchozí hodnota je False.
- xvfbargs
-
Argumenty uvádějící řetězce, které se předají Xvfb při spuštění grafických testů.
- conditions
-
Množina podmínek (řetězců), které ovlivní moduly, které jsou sestavovány a volby, které jsou použity při jejich sestavení. Když chcete provést změny, měli byste pro úpravu seznamu použít conditions.add() a conditions.discard().
Originální množina podmínek je dána podle operačního systému a lze ji změnit pomocí argumentu příkazového řádku --conditions=. Změny provedené pomocí --conditions jsou viditelné, když je vytvářen jhbuild, takže můžete nastavit jiné proměnné podle aktuální hodnoty množiny, ale --conditions budou znovu použity po té, co dojde k nějaké změně v jhbuildrc.
6.2. Další struktury souboru nastavení
Mimo proměnných zmíněných výše, existují další nastavení, která mohou být nastavena v souboru s nastavením:
- os.environ
-
Slovník představující prostředí. Toto prostředí se předává do procesů, které JHBuild vytváří.
Mezi proměnné prostředí mající vliv patří CPPFLAGS, CFLAGS, INSTALL a LDFLAGS. Naříklad:
os.environ['CFLAGS'] = '-O0 -g'
- addpath(envvar, pathname)
-
Tímto se přidá složka do proměnné prostředí PATH. addpath bude správně fungovat, v případech, kdy je proměnná prostředí na počátku prázdná (zbloudilá dvojtečka na začátku nebo na konci může mít nečekané následky).
- prependpath(envvar, pathname)
-
Po zpracování souboru s nastavením změní JHBuild některé cesty pomocí proměnných, jako je třeba prefix (např. přidá $prefix/bin na začátek do proměnné PATH).
Funkce prependpath funguje podobně jako addpath, akorát, že proměnné prostředí jsou změněny až po té, co v prostředí provede změny JHBuild.