Referencia del archivo de configuración

El archivo ~/.config/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 un valor booleano a True, siempre ejecuta autogen.sh. Esto es equivalente a pasar la opción --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.

branches

Un diccionario que especifica qué rama usar para módulos concretos. 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')

    Ejemplo 2Ejemplo sencillo
    branches['nombremodulo'] = (None, 'nombrerama')
  • 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 checkoutdir. 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 updated-deps.

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/gnome.

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.

dvcs_mirror_dir

Una cadena que especifica la carpeta espejo local. JHBuild creará carpetas espejo locales para los repositorios en la carpeta especificada. Los espejos se pueden compartir por varios grupos de repositorios, ahorrando espacio y tiempo ya que los enlaces duros se usarán para clones locales. Los comandos update y updateone crearán los espejos y recuperarán los nuevos commits de los repositorios en línea. Esta opción sólo está soportada por los repositorios Git y Bazaar.

help_website

Una tupla que especifica una página web de ayuda y un URL. La página de ayuda se muestra en HTML tinderbox para los módulos que han fallado. %(module)s en el URL se reemplazará con el nombre del módulo. Para desactivarlo, establezca help_website a None. El valor predeterminado es ('Gnome Live!', 'http://live.gnome.org/JhbuildIssues/%(module)s').

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 lista argumentos adicionales para pasarlos a make. JHBuild añadirá automáticamente la opción de ejecución en paralelo (-j) basándose en la disponibilidad de los núcleos de la CPU. Lo predeterminado es ''.

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.

nice_build

Ejecutar la construcción bajo la prioridad SCHED_IDLE en Linux, o con nice en otros Unix. Esto puede mejorar drásticamente la interactividad de escritorio para construcciones en paralelo, mientras que sólo tiene un impacto insignificante en el rendimiento de la construcción.

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 False, las notificaciones se emiten. 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 debe mostrar un icono en la bandeja del sistema usando Zeinity. Si está establecido a False, las notificaciones se emiten. 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.

partial_build

Un valor booleano que, si está establecido a True, hace que JHBuild no construya las dependencias de los módulos si los correspondientes paquetes del sistema están instalados y su versión es suficiente. El valor predeterminado es True.

prefix

Una cadena que indica el prefijo donde instalar módulos.prefix debe ser una ruta absoluta. Esta carpeta debe ser escribible. La carpeta predeterminada es '~/jhbuild/install/'.

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.

print_command_pattern

Se muestra una cadena antes de que JHBuild ejecute un comando. %(command)s se reemplazará en la cadena por el comando que ejecutar. %(cwd)s se reemplazará en la cadena por la carpeta de trabajo actual. La predeterminada es «%(command)s».

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 omitir. Esta opción --skip de la lista de comandos extiende la lista. La lista esta vacía de manera predeterminada. si la lista contiene el valor especial '*', JHBuild omitirá todos los módulos no listados en la variable modules. Esto puede se útil si quiere construir módulos sin sus dependencias implícitas.

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

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.

Lo predeterminado es '~/jhbuild/downloads'.
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.

conditions

Un conjunto de condiciones (cadenas) que pueden influir en los módulos que se construyen y en las opciones que se usan para construirlos. Debe usar conditions.add() y conditions.discard() para modificar la lista si quiere hacer cambios.

El conjunto original de condiciones se determina basándose en el sistema operativo y se puede modificar usando el argumento de línea de comandos «--conditions=». Los cambios hechos por «--conditions» serán visibles al usar el archivo jhbuildrc, por lo que puede establecer otras variables basadas en el valor actual del conjunto, pero «--conditions» se aplicará de nuevo después de cualquier cambio hecho por el jhbuildrc.

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.