Referencia de comandos

JHBuild usa una sintaxis de línea de comandos similar a la de herramientas como CVS:

jhbuild [opciones globales] comando [argumentos del comando]

Las opciones globales de JHBuild son:

-f, --file configuración

Use un archivo de configuración alternativo, en lugar del predeterminado, ~/.config/jhbuildrc.

-m, --moduleset conjunto de módulos

Usar un conjunto de módulos diferente del que aparece listado en el archivo de configuración. Esta opción puede ser una ruta relativa si el conjunto de módulos está ubicado en la carpeta de módulos de JHBuild, o una ruta absoluta si está ubicado en otro sitio.

--no-interact

No solicitar al usuario ninguna entrada. Esta opción es útil cuando se deja una construcción sin atender, para asegurarse de que no se interrumpe.

--exit-on-error

Salir inmediatamente si un módulo falla al construirlo. Esta opción se usa principalmente en el modo no interactivo, para asegurar que JHBuild no sigue construyendo módulos adicionales.

--conditions

Modificar las opciones de condiciones para que sean diferentes de las determinadas basándose en el sistema operativo y de las especificadas en el jhbuildrc. Las modificaciones se indican como -wayland o +docs para quitar o añadir condiciones. Si hay varias modificaciones se pueden separar por comas, como --conditions=+docs,-wayland o puede dividirlas en varios argumentos --conditions.

De manera adicional, JHBuild comprueba que existan y el valor de las siguientes variables de entorno:

JHBUILD_RUN_AS_ROOT

De manera predeterminada, JHBuild no se ejecuta con usuario root, para evitar operaciones destructivas que puedan afectar al sistema completo. Sin embargo, en ciertos casos es aceptable ejecutar JHBuild como root; por ejemplo, dentro de un contenedor o en un entorno de integración continua. Al exportar la variable JHBUILD_RUN_AS_ROOT se desactivará la comprobación del ID del usuario al inicio.

A continuación se listan las opciones específicas de los comandos.

5.1. autobuild

El comando autobuild construye automáticamente los módulos tal y como se especifica en el archivo de configuración, y sube los resultados a JhAutobuild.

jhbuild autobuild [--autogen] [--clean] [--distcheck] [--skip=módulo...] [--start-at=módulo] [--report-url=URL] [--verbose]

Las opciones --autogen, --clean, --distcheck, --skip y --start-at se procesan de la misma manera que para el comando build.

--report-url=reporturl, -r reporturl

Esta opción especifica el URL de JhAutobuild a la que se debe informar

--verbose, -v

Si está especificado, la salida de JHBuild será más detallada.

5.2. bootstrap

El comando bootstrap instala un conjunto de herramientas de construcción. Estas herramientas incluyen autoconf, automake y herramientas similares. El método recomendado para instalar las herramientas de construcción es mediante el sistema de gestión de paquetes de su distribución. bootstrap sólo se debe usar si el sistema de gestión de paquetes de su distribución no proporciona las herramientas de construcción, como pasa por ejemplo en Mac OS.

jhbuild bootstrap

El comando, bootstrap construye módulos usando el mismo método que el comando build, pero usa el conjunto de módulos bootstrap.modules.

Consulte la documentación del comando build para ver las opciones disponibles.

5.3. build

El comando build construye uno o más paquetes, incluyendo sus dependencias.

jhbuild build [--autogen] [--clean] [--check] [--dist] [--distcheck] [--distclean] [--ignore-suggests] [--no-network] [--skip=módulo...] [--start-at=módulo] [--tags=etiquetas] [-D fecha] [--no-xvfb] [--try-checkout] [--no-poison] [--force] [--build-optional-modules] [--min-age=hora] [--nodeps] [módulo...]

Si no se indican nombres de módulos en la línea de comandos, se usará la lista de módulos del archivo de configuración.

-a, --autogen

Ejecute autogen.sh antes de construir los módulos.

-c, --clean

Ejecute make clean antes de construir los módulos.

--check

Ejecute make check después de construir los módulos.

-d, --dist

Ejecute make dist después de construir los módulos.

--distcheck

Ejecute make distcheck después de construir los módulos.

--distclean

Para módulos de git, ejecute git clean -dfx antes de construir los módulos. para otros módulos, ejecute make distclean antes de construir los módulos.

Esta opción eliminará todos los cambios no efectuados.

--ignore-suggests

No construir las dependencias suaves

-n, --no-network

No acceda a la red mientras esté construyendo módulos. Esto omitiría la descarga o etapas de la actualización en una construcción. Si no se puede construir un módulo sin acceso a la red, dará un error.

-s, --skip=módulo,...

No construir los módulos listados. Usado para omitir la construcción de determinadas dependencias.

--tags=etiqueta,...

Ignorar los módulos que no coinciden con etiqueta. Los módulos se asignan automáticamente a una etiqueta que coincide con el nombre del conjunto de módulos del módulo.

-t, --start-at=módulo

Comenzar en el módulo nombrado en lugar de por el principio de la lista. Esto es útil si se interrumpió la construcción por algún motivo.

-D fecha

Si la versión del sistema de control de versiones subyacente lo soporta, actualice el árbol de repositorios a su estado en la fecha dada antes de la construcción. La fecha debe estar en formato ISO, ej «2009-09-18 02:32Z».

-x, --no-xvfb

Ejecutar comprobaciones gráficas en el servidor X actual en lugar de en un Xvfb simulado.

-C, --try-checkout

Si falla la construcción, y el sistema de control de versiones lo soporta, fuerce una descarga y ejecute autogen.sh antes de reintentar la construcción.

-N, --no-poison

Si falla una o más dependencias de un conjunto de módulos, esta opción fuerza a JHBuild a intentar construir el módulo de todas formas.

-f, --force

Construir los módulos aunque la política diga que no es necesario.

--build-optional-modules

Los módulos, listados como dependencias opcionales, pueden no ser necesarios para construir el módulo. Esta opción fuerza a JHBuild a construir las dependencias opcionales.

--min-age=tiempo

Omitir módulos instalados más recientemente que la fecha relativa dada; el formato de la cadena time es un número seguido de una unidad. Se soportan las siguientes unidades: segundos (s), minutos (m), horas (h) y días (d). Por ejemplo, --min-time=2h omitirá los módulos construidos hace menos de dos horas.

--nodeps

Ignorar las dependencias que falten. para ignorar una única dependencia del sistema, añada el módulo a skip.

5.4. make

El make es para desarrollar activamente en un módulo en particular. Requiere que la carpeta actual sea una descargar de fuentes y es equivalente a buildone -nf $(basename $(pwd)).

jhbuild make [--clean] [--check] [--distcheck] [--quiet]

Las opciones son las mismas que las disponibles para el comando buildone.

5.5. buildone

El comando buildone es similar a build, pero no construye los módulos dependientes. Es útil para reconstruir uno o más módulos.

jhbuild buildone [--autogen] [--clean] [--check] [--distcheck] [--distclean] [--no-network] [-D date] [--no-xvfb] [--force] [--min-age=hora] [--nodeps] módulo...

Las opciones --autogen, --check, --clean, -d, --distcheck, --distclean, --no-network, -D, -x y --nodeps se procesan de la misma manera que para el comando build.

Se debe listar al menos un módulo en la línea de comandos.

5.6. checkbranches

El comando checkbranches comprueba que las ramas de módulos están definidas correctamente en sistema de control de versiones, y que las ramas son consistentes con el conjunto de módulos.

jhbuild checkbranches [--branch=rama...]
--branch=rama, -b rama

La rama para comprobar.

$ jhbuild -m gnome-2.20 checkbranches
libgnomecanvas es una definición de rama desconocida para gnome-2-20
$

5.7. clean

El comando clean limpia las carpetas de construcción de uno o más módulos.

jhbuild clean [--skip=módulo...] [--start-at=módulo]

Si no se indican nombres de módulos en la línea de comandos, se usará la lista de módulos del archivo de configuración.

Consulte la documentación del comando build para obtener una descripción de las opciones disponibles.

5.8. dot

El comando dot genera un archivo que describe el grafo dirigido formado por las dependencias entre un conjunto de módulos. Se puede procesar este archivo usando el software GraphViz para generar un diagrama.

jhbuild dot [--soft-deps] [--clusters] [módulo...]

Si no se indican nombres de módulos en la línea de comandos, se usará la lista de módulos del archivo de configuración.

La opción --soft-deps añadirá líneas de puntos desde los módulos hasta sus dependencias débiles. La opción --clusters agrupará los módulos de los metamódulos juntos.

La salida del comando «dot» se puede redirigir a la utilidad «dot» para generar un archivo PostScript:

$ jhbuild dot módulos | dot -Tps > dependencies.ps

O una imagen PNG:

$ jhbuild dot módulos | dot -Tpng > dependencies.png
Figura 1Ejemplo de salida de JHBuild dot

5.9. gui

El comando gui inicia una interfaz gráfica de JHBuild que se puede usar para seleccionar los módulos que construir y cambiar algunas opciones.

jhbuild gui

La interfaz gŕafica se renderiza usando GTK, por lo que se necesitarán algunas bibliotecas de soporte adicionales.

5.10. info

El comando info muestra información de uno o más módulos.

jhbuild info [--installed] [módulo...]

El comando muestra el nombre del módulo, el tipo, sus dependencias, paquetes dependientes, la carpeta origen y la hora en que fue instalado con JHBuild. Si está disponible, también mostrará información específica del tipo de módulo, tal como el repositorio CVS o el URL de descarga.

Si no se especifica ningún módulo el comando mostrará información acerca de todos los módulos definidos en el conjunto de módulos.

Si es especifica la opción --installed, se filtrará la salida para incluir sólo los paquetes instalados. La salida resultante solo contendrá módulos que actualmente se han construído e instalado con JHBuild. La salida no incluye dependencias del sistema.

Si es especifica la opción --installed, junto con uno o más nombres de módulos, sólo se mostrarán los módulos instalados (sin incluir las dependencias del sistema). Si al menos uno de los módulos no está instalado, el comando devolverá 1.

5.11. list

El comando list se usa para mostrar una lista expandida de los módulos que el comando build construiría.

jhbuild list [-a] [-r] [-s] [--start-at=módulo] [--tags=etiquetas] [--ignore-suggests] [--list-optional-modules] [módulo...]

Si no se indican nombres de módulos en la línea de comandos, se usará la lista de módulos del archivo de configuración.

Las opciones --skip, --start-at, --tags, --ignore-suggests y -D se procesan de la misma manera que para el comando build.

-a, --all-modules

Listar todos los módulos del conjunto de módulos sin importar sus dependencias de construcción.

-r, --show-revision

Si se asigna un módulo a una rama, mostrar el nombre de la rama con el nombre del módulo.

--list-optional-modules

Esta opción fuerza a JHBuild a listar dependencias opcionales

5.12. rdepends

El comando rdepends muestra las dependencias inversas de un módulo.

jhbuild rdepends [módulo]
--dependencies

Mostrar las dependencias junto a los módulos.

--direct

Limitar la muestra a los módulos directamente dependientes del módulo dado.

5.13. run

El comando run ejecuta un comando especificado usando el mismo entorno que usa JHBuild cuando construye los módulos.

jhbuild run [--in-builddir] [--in-checkoutdir] programa [argumento...]

Si usa JHBuild para construir GNOME este comando puede ser útil en los scripts de inicio de las X.

--in-builddir=módulo

Ejecute el comando en la carpeta de construcción del módulo especificado.

--in-checkoutdir=módulo

Ejecute el comando en la carpeta de fuentes del módulo especificado.

5.14. sanitycheck

El comando sanitycheck lleva a cabo una serie de comprobaciones para ver si el entorno de construcción es correcto.

jhbuild sanitycheck

Algunas de las comprobaciones incluyen:

  • Los prefijos de descarga e instalación son escribibles.

  • Las herramientas de construcción requeridas están instaladas.

  • Algunas macros usadas habitualmente están disponibles en la rutas de búsqueda de los comandos de aclocal, asociados con varias versiones de automake.

  • El catálogo XML contiene la DTD de DocBook y hojas de estilos.

5.15. shell

El comando shell inicia una consola de usuario con el mismo entorno que usa JHBuild cuando construye los módulos.

jhbuild shell

Este comando es equivalente al siguiente:

$ jhbuild run $SHELL

La variable de entorno UNDER_JHBUILD se establecerá a «true» cuando esta consola esté activa. Puede usar la presencia de esta variable para personalizar el «prompt» de su consola para indicar que, efectivamente, se encuentra en una consola controlada por jhbuild. Por ejemplo, puede querer incluir esto en su .bashrc:

	if [ -n "$UNDER_JHBUILD" ]; then
	    PS1="[jhbuild] $PS1"
	fi
      

Esto hará que su consola bash muestre [jhbuild] antes de su «prompt» normal, haciendo más fácil ver que consolas están bajo un entorno jhbuild.

5.16. sysdeps

El comando sysdeps muestra:

  1. una lista de los paquetes del sistema isntalados que se usarán durante la construcción. JHBuild no construirá estos módulos, sino que usará el paquete del sistema instalado en su lugar.

  2. una lista de paquetes requeridos. Su sistema debe proporcionarla para empezar a construir los paquetes.

  3. una lista de paquetes opcionales. No se ha encontrado el paquete del sistema correspondiente o es demasiado antiguo. JHBuild construirá el módulo. Los paquetes opcionales no se mostrarán si partial_build es False.

jhbuild sysdeps [--install]
--install

Esta opción instala paquetes del sistema que son dependencias del conjunto de módulos. El método de instalación depente de su distribución. Los paquetes del sistema se instalan usando PackageKit, si está disponible. Para distribuciones que usan APT como Debian y Ubuntu, esta opción requiere que apt-file esté instalado.

Ejemplo 1ejemplo de sysdeps
$ jhbuild sysdeps
Paquetes del sistema instalados suficientemente nuevos:
  speex (speex.pc required=1.2rc1, installed=1.2rc1)
  lcms2 (lcms2.pc required=2.2, installed=2.2)
...
Paquetes requeridos:
  Paquetes del sistema instalados demasiado antiguos:
    (ninguno)
No coincide con ningún paquete del sistema instalado:
    zlib (zlib.pc required=1.2)
Paquetes opcionales: (JHBuild construirá los paquetes que falten)
  Paquetes del sistema instalados demasiado antiguos:
    WebKit (webkitgtk-3.0.pc required=1.5.1, installed=1.4.0)
    ...
  No coincide con ningún paquete del sistema instalado:
    pulseaudio (libpulse.pc required=2.0)
    ...

5.17. tinderbox

El comando tinderbox es parecido a build, pero guarda toda la salida del terminal en archivos HTML aptos para publicarlos en un sitio web. Se puede usar para configurar sistemas parecidos a Tinderbox de Mozilla o o Buildd de Debian.

jhbuild tinderbox [--autogen] [--clean] [--distclean] [--no-network] [--output=carpeta] [--skip=módulo...] [--start-at=módulo] [-D fecha] [-C] [-N] [-f] [--nodeps] [módulo...]

Las opciones --autogen, --clean, --distclean, --no-network, --skip, --start-at, -D, -C, -N, -f y --nodeps ose procesan de la misma manera que para el comando build.

-o, --output=carpeta

La carpeta en la que escribir los archivos HTML. JHBuild creará un índice (index.html) y un archivo HTML para cada módulo

5.18. uninstall

El comando uninstall desinstala uno o más módulos.

jhbuild uninstall módulo...

5.19. update

El comando update es similar a build, pero sólo realiza la fase de descarga o actualización de los módulos sin construirlos.

jhbuild update [--skip=módulo...] [--start-at=módulo] [--tags=etiquetas] [--ignore-suggests] [-D fecha] [módulo...]

Las opciones --skip, --start-at, --tags, --ignore-suggests y -D se procesan de la misma manera que para el comando build.

5.20. updateone

El comando updateone es similar a update, pero no actualiza los módulos dependientes. Es útil para actualizar uno o varios módulos.

jhbuild updateone [-D date] module...

La opción -D se procesa de la misma manera que para el comando build.

Se debe listar al menos un módulo en la línea de comandos.