Référence du fichier de configuration

Le fichier ~/.jhbuildrc utilise la syntaxe Python standard. Le fichier est exécuté et les variables résultantes définies dans l'espace de noms sont utilisées pour contrôler le comportement de JHBuild. Un ensemble de valeurs par défaut sont insérées dans l'espace de noms avant d'exécuter le fichier de configuration de l'utilisateur.

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/'

VI.I. Variables de configuration

alwaysautogen

Une valeur booléenne. Si défini à True (vrai), exécute toujours autogen.sh avant make, même si un makefile existe. Cela équivaut à passer l'option --always-autogen à JHBuild. La valeur par défaut est 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

A dictionary specifying which branch to use for specific modules. This is useful if you are making some changes on a branch of a module and want JHBuild to build that branch instead of the one listed in the module set.

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 Simple example
    branches['modulename'] = (None, 'branchname')
  • Subversion : URI de la branche du module. Par ex. 'svn://svn.example.net/project/gnome-2-28'

builddir_pattern

A printf style formatting pattern used to generate build directory names. This is only used when using separate source and build trees. The %s in the format string will be replaced with checkoutdir. Defaults to '%s'.

buildroot

Une chaîne indiquant le répertoire parent contenant les arborescences de construction. La valeur par défaut est None, ce qui signifie que la construction s'effectue dans les arborescences source.

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

A string specifying which modules to build. The three possible options are all, to build all modules requested, updated to build only modules which have changed, or updated-deps to build modules which have changed or which have dependencies which have changed. Defaults to 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

Une chaîne indiquant la méthode d'extraction des répertoires dans la gestion de versions. La valeur par défaut est update (mise à jour). Cette valeur peut être définie pour chaque module avec module_checkout_mode. Les valeurs possibles sont : update (mettre à jour le répertoire extrait), clobber (effacer le répertoire avant d'extraire les sources), export (effacer le répertoire puis créer une copie non versionnée des sources) et copy (extraire dans un répertoire différent de celui où il sera construit).

copy_dir

Une chaîne indiquant le répertoire de copie, si le mode d'extraction « copy » est employé (checkout_mode). Par défaut, c'est le répertoire d'extraction lui-même.

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.

dvcs_mirror_dir

A string specifying a local mirror directory. JHBuild will create local mirrors of repositories at the specified directory. The mirrors can be shared by multiple repository groups, saving space and time because hard-links will be used for local clones. The commands update and updateone will create the mirrors and fetch new commits from the online repositories. This option is only supported by Git and Bazaar repositories.

installprog

Une chaîne indiquant un programme à utiliser en remplacement de /usr/bin/install. Si présente, sa valeur par défaut correspond au script d'encapsulation install-check fourni par JHBuild. Ce script optimise l'installation des en-têtes afin de réduire le temps nécessaire aux recompilations.

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

Une chaîne énumérant des paramètres supplémentaires à passer à make. La valeur par défaut est ''.

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.

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_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_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.

modules

Une liste de chaînes indiquant les modules à construire. La liste des modules réellement construits est étendue récursivement afin d'inclure toutes les dépendances, sauf si la commande buildone est utilisée. La valeur par défaut est ['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

Run builds under the SCHED_IDLE priority on Linux, nice on other Unix. This can dramatically improve desktop interactivity for parallel builds while having only a negligible impact on build throughput.

nobuild

Une valeur booléenne qui si elle est définie à True indique à JHBuild de ne pas construire les modules, mais uniquement de les télécharger et de décompresser les sources. La valeur par défaut est 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

A boolean value specifying whether to emit notifications using the notification daemon. If set to False, notifications are emitted. Defaults to 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, notifications are emitted. Defaults to True.

noxvfb

Une valeur booléenne qui, si elle est définie à True, indique à JHBuild d'exécuter tout test graphique avec le serveur X réel au lieu d'utiliser Xvfb. Cette option est équivalente au paramètre --no-xfvb. La valeur par défaut est False.

partial_build

A boolean value, if set to True JHBuild will not build dependency modules if corresponding system packages are installed and sufficient version. Defaults to True.

prefix

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

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

A string displayed before JHBuild executes a command. %(command)s in the string will be replaced with the command about to be executed. %(cwd)s in the string will be replaced with the current working directory. Defaults to '%(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/'
skip

Une liste de modules à ignorer. L'option de ligne de commande --skip étend cette liste. Par défaut, cette liste est vide.

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.

tarballdir

Une chaîne de caractères ; si définie, les archives tar sont téléchargées dans ce répertoire au lieu de checkoutroot. C'est utile si vous avez plusieurs environnements JHBuild ou que vous nettoyez régulièrement checkoutroot et que vous souhaitez restreindre la consommation de bande passante.

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_lib64

Une valeur booléenne qui indique s'il faut installer les bibliothèques dans les répertoires lib64. Lorsque c'est le cas, --libdir=\${exec_prefix}/lib64 est transmis à « configure ». Lorsque JHBuild fonctionne sur un système Linux x86_64, ppc64 ou s390x, cette valeur vaut True par défaut, sinon elle est définie à False.

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.

VI.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).

addpath prend en charge de manière particulière la variable d'environnement ACLOCAL_FLAGS dont la liste de chemins doit être de la forme -I chemin.

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.