Referencia del archivo de configuración
El archivo ~/.jhbuildrc usa la sintaxis estándar de Python. Se ejecuta el archivo, y las variables resultantes, definidas en el espacio de nombres, se usan para controlar como actúa JHBuild. Se inserta un conjunto de valores predeterminados en el espacio de nombres antes de ejecutar el archivo de configuración del usuario.
Las variables de configuración booleanas se establecen usando una sintaxis como se demuestra en el siguiente ejemplo:
use_local_modulesets = True
Las variables de configuración de tipo cadena se establecen usando una sintaxis como se demuestra en el siguiente ejemplo:
autogenargs = '--disable-static --disable-gtk-doc'
Las variables de configuración de tipo lista se establecen usando una sintaxis como se demuestra en el siguiente ejemplo:
skip = ['mozilla', 'pulseaudio']
Las variables de configuración de tipo diccionario se establecen usando una sintaxis como se demuestra en el siguiente ejemplo:
repos['git.gnome.org'] = 'ssh://username@git.gnome.org/git/'
6.1. Variables de configuración
- alwaysautogen
-
Si se establece a True, siempre ejecuta autogen.sh antes de make, aunque exista un makefile. Esto es equivalente a pasar la opción --always-autogen a JHBuild. El valor predeterminado es False.
- autogenargs
-
Una cadena que contiene los argumentos pasados al script autogen.sh de todos los módulos. Se pueden omitir para algunos módulos concretos usando el diccionario module_autogenargs.
- ramas
-
Un diccionario que se puede usar para omitir la rama usada en un módulo concreto. Esto es útil si hace algunos cambios en la rama de un módulo y quiere que JHBuild construya esa rama en lugar de la listada en el conjunto de módulos.
La definición de ramas depende del módulo VCS:
CV: revisión. Ej. «RAMA-PROYECTO-0_8»
Bazaar: URI de la rama del módulo. Ej. 'http://bzr.example.net/project/gnome-2-28'
Git: tupla, siendo la primera parte un repositorio opcional (o el valor Ninguno) y la segunda parte el nombre de la rama. Ej. ('git://git.example.net/project', 'gnome-2-28')
Subversion: URI de la rama del módulo. Ej. 'svn://svn.example.net/project/gnome-2-28'
- builddir_pattern
-
Un patrón de formateo al estilo de printf usado para generar nombres de carpetas de construcción. Esto se usa solamente cuando se usan repositorios y árboles de construcción por separado. En la cadena de formato, el %s se reemplazará con el nombre de la carpeta origen. De manera predeterminada es «%s».
- buildroot
-
Una cadena que especifica la carpeta padre donde colocar los árboles de construcción. El predeterminado es None, que hace que las construcciones se ejecuten dentro de los árboles de fuentes
- buildscript
-
Una cadena que especifica el script de construcción que usar. El valor recomendado es el predeterminado, terminal. En particular, no lo configure como gtk.
- build_policy
-
Una cadena que especifica los módulos que construir. Las tres opciones son all, para construir todos los módulos solicitados, updated, para construir solamente los módulos que han cambiado, o updated-deps para construir los módulos que han cambiado o que tienen dependencias que han cambiado. El valor predeterminado es all.
- checkoutroot
-
Una cadena que especifica la carpeta donde descomprimir los árboles de fuentes. A menos que buildroot esté configurado, las construcciones se harán también en esta carpeta. El valor predeterminado es ~/checkout/gnome2.
- checkout_mode
-
Una cadena que especifica cómo se realiza la descarga de carpetas en el control de versiones. El predeterminado es update. Esto se puede configurar para cada módulo usando module_checkout_mode. Los valores posibles son update (actualizar carpeta de descarga), clobber (vaciar la carpeta antes de descargar las fuentes), export (vaciar la carpeta y crear una copia no versionada de las fuentes) y copy (descargar en una carpeta diferente de en la que se construirá).
- copy_dir
-
Una cadena que especifica la carpeta que copiar, si el modo de copia checkout_mode está en uso. El predeterminado es la carpeta de descarga.
- cvs_program
-
Una cadena que especifica qué programa usar para soporte de CVS. Éste puede ser git-cvsimport o cvs. El predeterminado es cvs.
- installprog
-
Una cadena que especifica qué programa se usará como reemplazo de /usr/bin/install; si está disponible, se utilizará install-check como predeterminado, proporcionado por JHBuild. install-check optimiza la instalación de cabeceras, para reducir el tiempo de las reconstrucciones.
- ignore_suggests
-
Valor booleano que indica si se ignorarán las dependencias suaves cuando se calcule el árbol de dependencias. Su valor predeterminado es False.
- interact
-
Un valor booleano que especifica si se interactúa con el usuario. Establecer este valor a False es equivalente a pasar la opción --no-interact. El valor predeterminado es True.
- makeargs
-
Una cadena que lisa argumentos adicionales para pasarlos a make. De forma predeterminada es True.
- makecheck
-
Valor booleano que indica si se ejecuta make check antes de make. De forma predeterminada está a False.
- makecheck_advisory
-
Un valor booleano que especifica si los fallos producidos al ejecutar make check deben ser sólo informativos y no provocar un fallo de la construcción. El valor predeterminado es False.
- makeclean
-
Valor booleano que indica si se ejecuta make clean después de make. De forma predeterminada está a False.
- makedist
-
Un valor booleano que especifica si se ejecutará make dist antes de make. El valor predeterminado es False. Esta configuración es equivalente a pasar la opción --dist.
- makedistcheck
-
Un valor booleano que especifica si se ejecutará make distcheck antes de make. El valor predeterminado es False. Esta configuración es equivalente a pasar la opción --distcheck.
- module_autogenargs
-
Un diccionario que mapea nombres de módulos en cadenas que contienen argumentos para pasárselos a autogen.sh. La configuración de module_autogenargs se usa en lugar de la configuración global de autogenargs. Si un módulo en particular no está listado en el diccionario, se usará la variable global autogenargs.
- module_checkout_mode
-
Un diccionario que especifica el modo de descarga a usar para los módulos. Ésto omite la configuración global checkout_mode.
- module_makeargs
-
Un diccionario que mapea nombres de módulos en cadenas que contienen argumentos para pasárselos a make. El valor de module_makeargs reemplaza el valor de makeargs. Si un módulo en particular no está listado en el diccionario, se usará la variable global makeargs.
- module_makecheck
-
Un diccionario que mapea nombres de módulos en valores booleanos especificando si se ejecutará make check después de make. El valor de module_makecheck reemplaza el valor de makecheck. Si un módulo en particular no está listado en el diccionario, se usará la variable global makecheck.
- module_nopoison
-
Un diccionario que mapea nombres de módulos en valores booleanos. Si un módulo está establecido a True, JHBuild intentará construir los módulos dependientes aunque falle el módulo especificado. La configuración de module_nopoison reemplaza el valor de nopoison. Si un módulo en particular no está listado en el diccionario, se usará la variable global nopoison.
- module_extra_env
-
Un diccionario que mapea nombres de módulos a diccionarios con variables de entorno adicionales para pasar cuando se ejecutan comandos del módulo.
- modules
-
Una lista de cadenas especificando los módulos que construir. La lista de los módulos actualmente construidos se expandirá recursivamente para incluir todas las dependencias, salvo que se use el comando buildone. Su valor predeterminado es ['meta-gnome-desktop'].
- moduleset
-
Una cadena o una lista de cadenas que contiene los nombres de los conjuntos de módulos que se usarán. También puede ser el nombre de archivo de un conjunto de módulos incluido en JHBuild (excluyendo la ruta y la extensión), o un URL completo a un conjunto de módulos administrado externamente. Los URL se almacenan localmente en la caché. si un módulo con el mismo nombre aparece en más de un conjunto de módulos, tendrá prioridad la última lista configurada. Los conjuntos de módulos proporcionados con JHBuild se actualizan para que coincididan con la versión liberada de desarrollo de GNOME.
- modulesets_dir
-
Una cadena que especifica la carpeta que contiene el conjunto de módulos que usar. La predeterminada es la carpeta modulesets/ en las fuentes de JHBuild.
- nobuild
-
Un valor booleano que, si está establecido a True, hace que JHBuild no construya los módulos, sino que sólo descargue y descomprima las fuentes. El valor predeterminado es False.
- nonetwork
-
Un valor booleano que especifica si se accede a la red o no. Esto afecta a la descarga o actualización de módulos del CVS, descargando archivos tar y actualizando los conjuntos de módulos. Establecerlo a True es equivalente a pasar la opción --no-network. El valor predeterminado es False.
- nonotify
-
Un valor booleano que especifica si se deben emitir notificaciones usando el demonio de notificaciones. Si está establecido a True, las notificaciones no se emiten. El valor predeterminado es False, excepto en Win32, donde el valor predeterminado es True.
- nopoison
-
Un valor booleano que, si está establecido a True, hace que JHBuild intente construir módulos aunque fallen una o más dependencias del módulo. Esta opción es equivalente al argumento --no-poison. Su valor predeterminado es False.
- notrayicon
-
Un valor booleano que especifica si se deben emitir notificaciones usando el demonio de notificaciones. Si está establecido a True, las notificaciones no se emiten. El valor predeterminado es False, excepto en Win32, donde el valor predeterminado es True.
- noxvfb
-
Un valor booleano que, si está establecido a True, hace que JHBuild ejecute comprobaciones gráficas en un servidor X real, en lugar de usar Xvfb. Esta opción es equivalente a pasar --no-xvfb. El valor predeterminado es False.
- prefix
-
Una cadena que indica el prefijo donde instalar módulos. Esta carpeta debe ser escribible. De forma predeterminada es «/opt/gnome2».
- pretty_print
-
Un valor booleano que especifica si activar el formateado de la salida de los subprocesos. Sólo hay soporte para la salida de CVS. Desactívelo si el formateado causa problemas. El valor predeterminado es True.
- progress_bar
-
Un valor booleano que especifica dónde mostrar una barra de progreso durante el modo silencioso . El valor predeterminado es True.
- quiet_mode
-
Un valor booleano que si vale True desactiva la salida de los comandos en ejecución. Su valor predeterminado es False.
- repos
-
Un diccionario que especifica la ubicación de un repositorio alternativo para uno en particular. Esta variable de configuración es útil para un desarrollador de módulos. De manera predeterminada, JHBuild descargará código de los repositorios usando una ubicación de repositorio anónima. Las claves del diccionario son nombres cortos de repositorios y los valores son las cadenas de ubicación de los repositorios alternativos. Por ejemplo:
repos['git.gnome.org'] = 'ssh://username@git.gnome.org/git/'
- skip
-
Una lista de módulos que se omitirán La opción--skip de línea de comando extiende la lista. De manera predeterminada, esta lista está vacía.
- sticky_date
-
Una cadena que si está establecida y está soportado por el sistema de control de versiones subyaciente, JHBuild actualizará el árbol de fuentes a la fecha indicada antes de la construcción. La fecha debe darse en formato ISO, ej «yyyy-mm-dd». El valor predeterminado es None.
- svn_program
-
Una cadena que especifica qué programa usar para soporte de subversion. Éste puede ser svn o git-svn. El predeterminado es svn.
- tarballdir
-
Si está establecido, los archivos tar se descargarán en la carpeta especificada en lugar de en checkoutroot. Esto es útil si tiene múltiples entornos JHBuild o borra habitualmente su checkoutroot y quiere reducir el uso del ancho de banda.
- tinderbox_outputdir
-
Una cadena que contiene la carpeta para guardar la salida de jhbuild tinderbox. Esta cadena se puede omitir con la opción --output. Su valor predeterminado es None, por lo que se debe usar la opción de la línea de comandos o se debe configurar esta variable en el archivo de configuración.
- trycheckout
-
Un valor booleano que si está establecido a True hace que JHBuild intente automáticamente resolver problemas 1) ejecutando autogen.sh de nuevo, y 2) comprobando en el control de versiones si hay una nueva versión del módulo. Esta opción es equivalente a pasarle --try-checkout.
- use_lib64
-
Un valor booleano que especifica si se instalarán bibliotecas en las carpetas lib64. Si está establecido, se pasará --libdir=\${exec_prefix}/lib64 para configurarlo. El valor predeterminado es True si se ejecuta en Linux x86_64, ppc64 o s390x, y False en otros sistemas.
- use_local_modulesets
-
Un valor booleano que especifica que se usen los conjuntos de módulos que se descargaron junto al código fuente de JHBuild, en lugar de descargarlos manualmente del sistema de control de versiones de GNOME. Su valor predeterminado es False.
- xvfbargs
-
Una cadena que lista los argumentos que pasar a Xvfb si se ejecutan comprobaciones gráficas.
6.2. Otras estructuras de los archivos de configuración
Aparte de las variables anteriores, hay algunas otras cosas que se pueden configurar en el archivo de configuración.
- os.environ
-
Un diccionario que representa el entorno. Este entorno se le pasa a los procesos que JHBuild crea.
Algunas variables de entorno influyentes incluyen CPPFLAGS, CFLAGS, INSTALL y LDFLAGS. Por ejemplo:
os.environ['CFLAGS'] = '-O0'
- addpath(envvar, pathname)
-
Esto añadirá una carpeta a la variable de entorno PATH. addpath manejará correctamente el caso en que la variable de entorno está vacía inicialmente (tener una comilla al principio o al final de una variable de entorno puede tener consecuencias inesperadas).
addpath gestiona de forma especial la variable de entorno ACLOCAL_FLAGS, que espera que se listen rutas en el formulario -I nombre-de--la-ruta.
- prependpath(envvar, pathname)
-
Después de procesar el archivo de configuración, JHBuild alterará algunas rutas basadas en variables, tales como prefix (ej. añadiendo $prefix/bin al principio de PATH).
La función prependpath trabaja igual que addpath, excepto que la variable de entorno se modifica después de que JHBuild haya hecho sus cambios al entorno.