Référence du fichier de configuration

The ~/.config/jhbuildrc file uses standard Python syntax. The file is run, and the resulting variables defined in the namespace are used to control how JHBuild acts. A set of default values are inserted into the namespace before running the user's configuration file.

Les variables de configuration booléennes sont définies avec une syntaxe correspondant à l'exemple suivant :

use_local_modulesets = True

Les variables de configuration « chaînes de caractères » sont définies avec une syntaxe correspondant à l'exemple suivant :

autogenargs = '--disable-static --disable-gtk-doc'

Les variables de configuration contenant des listes sont définies avec une syntaxe correspondant à l'exemple suivant :

skip = ['mozilla', 'pulseaudio']

Les variables de configuration contenant des dictionnaires sont définies avec une syntaxe correspondant à l'exemple suivant :

repos['git.gnome.org'] = 'ssh://username@git.gnome.org/git/'

V.I. Variables de configuration

alwaysautogen

A boolean value if set to True, always run autogen.sh. This is equivalent to passing --autogen option to JHBuild. Defaults to False.

autogenargs

Une chaîne contenant des paramètres passés au script autogen.sh de tous les modules. Peut être surchargée par des modules précis en utilisant le dictionnaire module_autogenargs.

branches

Un dictionnaire précisant la branche utilisée pour un module particulier. C'est utile si vous effectuez certaines modifications sur la branche d'un module et que vous souhaitez que JHBuild construise cette branche au lieu de celle qui est indiquée dans le jeu de modules.

La définition des branches dépend du gestionnaire de version du module :

  • CVS : révision. Par ex. 'BRANCH-PROJECT-0_8'

  • Bazaar : URI de la branche du module. Par ex. 'http://bzr.example.net/project/gnome-2-28'

  • Git : tuple dont la première partie est un dépôt (facultatif, peut contenir la valeur None) et la seconde partie le nom de la branche. Par ex. ('git://git.example.net/project', 'gnome-2-28')

    Exemple 2 Exemple simple
    branches['modulename'] = (None, 'branchname')
  • Subversion: URI of module branch. E.g. 'svn://svn.example.net/project/gnome-2-28'

builddir_pattern

Un motif de formatage du style printf utilisé pour générer les noms des répertoires de construction. Ceci est uniquement valable lors de l'utilisation d'arborescences source et de construction séparées. L'expression %s dans la chaîne de formatage est remplacée par checkoutdir. La valeur par défaut est '%s'.

buildroot

A string specifying the parent directory to place build trees. Defaults to ~/.cache/jhbuild/build. Setting the value to None causes builds to be performed within the source trees.

buildscript

Une chaîne indiquant le script de construction à utiliser. La valeur recommandée est la valeur par défaut, terminal. En particulier, n'indiquez pas gtk.

build_policy

Une chaîne indiquant les modules à construire. Les trois options possibles sont all pour construire tous les modules référencés, updated pour ne construire que les modules qui ont subi des modifications ou updated-deps pour construire les modules modifiés ou qui ont des dépendances qui ont été modifiées. La valeur par défaut est updated-deps.

checkoutroot

Une chaîne indiquant le répertoire dans lequel décompresser les arborescences source. À moins que buildroot ne soit défini, la construction s'opère également dans ce répertoire. La valeur par défaut est ~/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

A string specifying the directory to copy to, if the copy checkout_mode is in use. Defaults to the checkout directory.

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

Une chaîne indiquant le programme à utiliser pour la prise en charge de CVS. Cela peut être git-cvsimport ou cvs. La valeur par défaut est cvs.

disable_Werror

A boolean value (default True) which controls if --disable-Werror will be passed to automake builds. Many packages use this flag as a way to disable fatal compiler warnings. The value of True is selected as a reasonable default for those using jhbuild as a means to get an up-to-date version of software packages without being side-tracked by build failures in other people's modules. Setting this value to False may make sense for those using jhbuild as part of a continuous integration or testing system.

dvcs_mirror_dir

Une chaîne précisant un répertoire de miroir local. JHBuild créera des miroirs locaux des dépôts dans le répertoire précisé. Les miroirs peuvent être partagés par plusieurs groupes de dépôts, économisant ainsi de l'espace et du temps parce que des liens en dur seront utilisés pour les clones locaux. Les commandes update et updateone créeront les miroirs et récupéreront les nouveaux commits des dépôts en ligne. Cette option n'est prise en charge que pour les dépôts Git et Bazaar.

exit_on_error

A boolean value specifying whether to exit immediately when a module fails to build. This is primarily useful in noninteractive mode, in order to prevent additional modules from building after one fails. Setting this value to True is equivalent to passing the --exit-on-error option. Defaults to False.

extra_prefixes

A list of strings specifying, in precedence order, the list of extra prefixes. JHBuild sets many environment variables (such as LD_LIBRARY_PATH, PKG_CONFIG_PATH and XDG_DATA_DIRS) based on the prefix variable. Adding directories to extra_prefixes will cause these prefixes to be included as well, at a lower precedence than the JHBuild prefix, but at a higher precedence than system directories. This variable is empty by default except on systems that install software in /usr/local, in which case it contains this directory.

help_website

A tuple specifying a help website name and URL. The website is displayed in the tinderbox html for failed modules. %(module)s in the URL will be replaced with the module name. To disable, set help_website to None. Defaults to ('Gnome Live!', 'http://live.gnome.org/JhbuildIssues/%(module)s').

installprog

A string specifying a program to use as replacement for /usr/bin/install.

ignore_suggests

Une valeur booléenne indiquant s'il faut ignorer les dépendances faibles lors de la génération de l'arbre des dépendances. La valeur par défaut est False.

interact

Une valeur booléenne indiquant si l'interaction avec l'utilisateur est autorisée. La définition de cette valeur à False équivaut à passer l'option --no-interact à JHBuild. La valeur par défaut est True.

makeargs

A string listing additional arguments to be passed to make. JHBuild will automatically append the parallel execution option (-j) based upon available CPU cores. Defaults to ''.

makecheck

Une valeur booléenne indiquant s'il faut exécuter make check après make. La valeur par défaut est False.

makecheck_advisory

Une valeur booléenne indiquant si les échecs d'exécution de la commande make check doivent être considérés comme des avertissements ou s'ils produisent un échec de la construction. La valeur par défaut est False.

makeclean

Une valeur booléenne indiquant s'il faut exécuter make clean après make. La valeur par défaut est False.

makedist

Une valeur booléenne indiquant s'il faut exécuter make dist après make. La valeur par défaut est False. Ce réglage équivaut à passer l'option --dist à JHBuild.

makedistcheck

Une valeur booléenne indiquant s'il faut exécuter make distcheck après make. La valeur par défaut est False. Ce réglage équivaut à passer l'option --distcheck à JHBuild.

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

Un dictionnaire faisant correspondre les noms de modules à des chaînes donnant des paramètres à passer à autogen.sh. Le paramètre dans module_autogenargs est utilisé à la place du paramètre global autogenargs. Si un module particulier n'est pas dans le dictionnaire, c'est le paramètre global autogenargs qui est utilisé.

module_checkout_mode

Un dictionnaire indiquant le mode d'extraction à employer pour les modules. Ce paramètre écrase le paramètre global checkout_mode.

module_cmakeargs

A dictionary mapping module names to strings specifying the arguments to be passed to cmake. The setting in module_cmakeargs is used instead of the global cmakeargs setting. If a particular module isn’t listed in the dictionary, the global cmakeargs will be used.

module_makeargs

Un dictionnaire faisant correspondre les noms de modules à des chaînes indiquant les paramètres à passer à make. Le paramètre dans module_makeargs est utilisé à la place du paramètre global makeargs. Si un module particulier n'est pas dans le dictionnaire, c'est le paramètre global makeargs qui est utilisé.

module_makecheck

Un dictionnaire faisant correspondre les noms de modules à des valeurs booléennes indiquant s'il faut exécuter make check après make. Le paramètre dans module_makecheck remplace la valeur de makecheck. Si un module particulier n'est pas dans le dictionnaire, c'est le paramètre global makecheck qui est utilisé.

module_mesonargs

A dictionary mapping module names to strings specifying the arguments to be passed to meson. The setting in module_mesonargs is used instead of the global mesonargs setting. If a particular module isn’t listed in the dictionary, the global mesonargs will be used.

module_ninjaargs

A dictionary mapping module names to strings specifying the arguments to pass to ninja. The setting in module_ninjaargs replaces the value of ninjaargs. If a particular module isn't listed in the dictionary, the global ninjaargs will be used.

module_nopoison

Un dictionnaire faisant correspondre les noms de modules à des valeurs booléennes. Si la valeur pour un module vaut True, JHBuild essaye de construire les modules dépendants même si le module indiqué échoue. Le paramètre dans module_nopoison remplace la valeur de nopoison. Si un module particulier n'est pas dans le dictionnaire, c'est le paramètre global nopoisons qui est utilisé.

module_extra_env

Un dictionnaire faisant correspondre les noms de modules à des dictionnaires contenant des variables d'environnement supplémentaires à passer lors de l'exécution de commandes pour le module.

module_static_analyzer

Dictionary mapping module names to boolean values indicating whether static analysis should be performed while building that module. This allows the global static_analyzer configuration option to be overridden.

modules

A list of strings specifying the modules to build. The list of modules actually built will be recursively expanded to include all the dependencies unless the buildone command is used. Defaults to ['meta-gnome-desktop'].

moduleset

Une chaîne ou une liste de chaînes indiquant le ou les noms des jeux de modules à utiliser. Cela peut être le nom de fichier d'un jeu de modules inclus dans JHBuild (sans chemin ni extension) ou un URL HTTP complet d'un jeu de modules géré en externe. Les jeux de modules ayant un URL HTTP sont placés dans un cache local. Si le nom d'un module figure dans plus d'un jeu de modules, le dernier jeu de modules dans la liste est prioritaire. Les jeux de modules fournis avec JHBuild sont mis à jour au gré de la progression du développement de GNOME.

modulesets_dir

Une chaîne indiquant le répertoire contenant les jeux de modules à utiliser. Par défaut, c'est le répertoire modulesets/ dans les sources de JHBuild.

nice_build

Lance les constructions avec la priorité SCHED_IDLE sur Linux, nice sur les autres Unix. Cela peut améliorer drastiquement la réactivité du bureau pour les constructions en parallèle tout en ayant un impact négligeable sur la vitesse de construction.

ninjaargs

A string listing additional arguments to be passed to ninja. Defaults to ''.

nobuild

A boolean value, if set to True JHBuild will not build modules, but just download and unpack the sources. The default value is False.

nonetwork

Une valeur booléenne indiquant si l'accès au réseau est autorisé. Cela affecte l'extraction ou la mise à jour de modules CVS, le téléchargement d'archives tar et la mise à jour des jeux de modules. Définir cette valeur à True équivaut à passer l'option --no-network. La valeur par défaut est False.

nonotify

Une valeur booléenne indiquant s'il faut émettre des notifications au moyen du démon de notification. Si la valeur vaut False, les notifications sont émises. La valeur par défaut est True.

nopoison

Une valeur booléenne qui, si elle est définie à True, indique à JHBuild d'essayer la construction des modules même si la construction d'une ou de plusieurs dépendances a échoué. Cette option est équivalente au paramètre --no-poison. La valeur par défaut est False.

notrayicon

A boolean value specifying whether to show an icon in the system tray using Zenity. If set to False, an icon is shown. Defaults to True.

noxvfb

A boolean value, if set to True JHBuild will run any graphical tests on the real X server, rather than using Xvfb. This option is equivalent to passing --no-xvfb. The default value is False.

partial_build

Une valeur booléenne qui si elle est définie à True indique à JHBuild de ne pas construire les modules des dépendances si les paquets systèmes correspondant sont installés. La valeur par défaut est True.

prefix

A string specifying the prefix to install modules to. prefix must be an absolute path. This directory must be writable. Defaults to '~/jhbuild/install/'.

pretty_print

Une valeur booléenne indiquant s'il s'agit d'améliorer la mise en forme de la sortie des sous-processus. Seules les sorties CVS gèrent la mise en forme améliorée. Cette option peut être désactivée si la mise en forme améliorée pose des problèmes. La valeur par défaut est True.

print_command_pattern

Une chaîne affichée avant que JHBuild n'exécute une commande. %(command)s dans la chaîne sera remplacé par la commande à exécuter. %(cwd)s dans la chaîne sera remplacé par le répertoire courant. La valeur par défaut est '%(command)s'.

progress_bar

Une valeur booléenne indiquant s'il faut afficher une barre de progression lorsque JHBuild fonctionne en mode silencieux. La valeur par défaut est True.

quiet_mode

Une valeur booléenne. Si définie à True, elle désactive la sortie des commandes qui s'exécutent. La valeur par défaut est False.

repos

Un dictionnaire indiquant un emplacement de dépôt alternatif pour un dépôt spécifique. Cette variable de configuration est utile aux développeurs de modules. Par défaut, JHBuild extrait le code à partir des dépôts en utilisant des emplacements anonymes. Les clés du dictionnaire sont des noms de dépôts courts et les valeurs sont des chaînes d'emplacement des dépôts alternatifs. Par exemple :

repos['git.gnome.org'] = 'ssh://username@git.gnome.org/git/'
shallow_clone

A boolean value specifying if JHBuild should prefer smaller version control downloads. Equivalent to git clone --depth 1 or bzr co --light. Defaults to False.

skip

A list of modules to skip. This --skip command line option extends the list. This list is empty by default. If the list contains the special value '*', JHBuild will skip all modules not explicitly listed in the modules variable. This may be useful if you want to build modules without their implicit dependencies.

static_analyzer

A boolean value: if set to True, run a static analysis tool on each module as it’s being built. Defaults to False.

static_analyzer_outputdir

Root directory below which static analysis reports will be saved (if static_analyzer is True). Defaults to /tmp/jhbuild_static_analyzer.

static_analyzer_template

Command template for the static analyzer. This has the parameters outputdir (the value of the static_analyzer_outputdir configuration variable) and module (the name of the module currently being built) substituted into it printf-style. The resulting command is used as a prefix to make when building a module. Defaults to scan-build.

sticky_date

Une chaîne de caractères. Si définie et si le gestionnaire de versions sous-jacent le prend en charge, JHBuild met à jour l'arborescence source selon son état à la date indiquée. La date doit être fournie au format ISO, par ex. 'aaaa-mm-jj'. La valeur par défaut est None.

svn_program

Une chaîne indiquant le programme à utiliser pour la prise en charge de Subversion. Cela peut être svn, git-svn ou bzr. La valeur par défaut est svn.

system_libdirs

A list of strings specifying the system library paths. This is used when setting the default values of some environment variables, such as PKG_CONFIG_PATH.

tarballdir

A string if set, tarballs will be downloaded to the specified directory instead of checkoutroot. This is useful if you have multiple JHBuild environments or regularly clear out checkoutroot and want to reduce bandwidth usage. Defaults to '~/.cache/jhbuild/downloads'.

tinderbox_outputdir

Une chaîne indiquant le répertoire de stockage de la sortie de jhbuild tinderbox. Cette chaîne peut être remplacée par l'option --output. La valeur par défaut est None, ce qui signifie qu'il faut obligatoirement définir cette option soit dans la ligne de commande, soit dans le fichier de configuration.

trycheckout

Une option booléenne qui, si elle est définie à True, indique à JHBuild d'essayer de résoudre automatiquement les échecs en 1) exécutant une nouvelle fois autogen.sh et 2) extrayant une nouvelle version du module à partir du contrôle de version. Ce paramètre équivaut à passer l'option --try-checkout.

use_local_modulesets

Une valeur booléenne indiquant d'utiliser des jeux de modules qui ont été extraits parallèlement au code source de JHBuild, au lieu de les télécharger au fur et à mesure, à partir du dépôt du gestionnaire de versions de GNOME. La valeur par défaut est False.

xvfbargs

Une chaîne contenant des paramètres à passer à Xvfb si des tests graphiques sont effectués.

conditions

A set of condition (strings) that can influence the modules that are built and the options that are used for building them. You should use conditions.add() and conditions.discard() to modify the list if you want to make changes.

The original set of conditions is determined on a per-OS basis and can be modified using the --conditions= commandline argument. The changes made by --conditions are visible at the time that jhbuildrc is sourced, so you can set other variables based on the current value of the set, but --conditions will be applied again after any changes made by jhbuildrc.

V.II. Autres structures du fichier de configuration

En plus des variables ci-dessus, d'autres paramètres peuvent être définis dans le fichier de configuration :

os.environ

Un dictionnaire représentant l'environnement. Cet environnement est transmis aux processus générés par JHBuild.

Certaines variables d'environnement ont un impact certain, comme CPPFLAGS, CFLAGS, INSTALL et LDFLAGS. Par exemple :

os.environ['CFLAGS'] = '-O0 -g'
addpath(var_env, chemin)

Cela ajoute un répertoire à la variable d'environnement PATH (chemin). addpath gère correctement le cas où la variable d'environnement est initialement vide (un deux-points isolé au début ou à la fin d'une variable d'environnement peut avoir des conséquences inattendues).

prependpath(var_env, chemin)

Après le traitement du fichier de configuration, JHBuild modifie certains chemins sur la base de variables telles que prefix (par ex. en ajoutant $prefix/bin au début de la variable PATH).

La fonction prependpath fonctionne comme addpath, sauf que la variable d'environnement est modifiée après que JHBuild ait modifié l'environnement.