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
-
Un dictionnaire pouvant servir à surcharger 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')
Subversion : URI de la branche du module. Par ex. '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 le nom du répertoire source. La valeur par défaut est '%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
-
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 all.
- 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/gnome2.
- 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.
- 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.
- 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
-
Une valeur booléenne indiquant s'il faut émettre des notifications au moyen du démon de notification. Si la valeur vaut True, les notifications ne sont pas émises. La valeur par défaut est False, sauf sur Win32 où 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
-
Une valeur booléenne indiquant s'il faut afficher une icône dans la zone de notifications via Zenity. Si la valeur vaut True, les notifications ne sont pas émises. La valeur par défaut est False, sauf sur Win32 où la valeur par défaut est 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.
- prefix
-
Une chaîne définissant le préfixe d'installation des modules. Ce répertoire doit être accessible en écriture. La valeur par défaut est '/opt/gnome2'.
- 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.
- 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.