Inicio
JHBuild requiere unos pocos pasos para configurarlo antes de construir software. JHBuild requiere algunos prerrequisitos software, y es necesario instalar las herramientas de prerrequisitos necesarias para obtener y construir los módulos de software.
- 2.1. Instalar JHBuild
- 2.2. Configurar JHBuild
- 2.3. Prerrequisitos para la construcción
- 2.4. Usar JHBuild
2.1. Instalar JHBuild
JHBuild requiere una rutina de Python. Verifique que Python >= 2.3 está instalado.
La forma recomendada de descargar JHBuild es a través del sistema de control de versiones, git. Esto puede hacerlo con el siguiente comando. Se recomienda ejecutarlo en una carpeta nueva donde se instalará todo el código fuente, por ejemplo, ~/checkout/gnome2.
$ git clone git://git.gnome.org/jhbuild ... $
Esto descargará JHBuild en una nueva carpeta llamada jhbuild en la carpeta actual. Ahora, para construir e instalar JBuild:
$ cd jhbuild $ ./autogen.sh ... $ make ... $ make install ... $
Alternativamente, no están instalados autotools o gnome-doc-utils, instale JHBuild de esta manera:
$ cd jhbuild $ make -f Makefile.plain ... $ make -f Makefile.plain install ... $
Si estos pasos se completan correctamente se instalará una pequeña línea de comandos en ~/.local/bin para iniciar JHBuild. Añada ~/.local/bin a la variable PATH:
$ PATH=$PATH:~/.local/bin $
Para añadir permanentemente ~/.local/bin a la variable PATH, ejecute el siguiente comando:
$ echo PATH=$PATH:~/.local/bin >> ~/.bashrc $
Antes de ejecutar JHBuild, es necesario crear un archivo de configuración, ubicado en ~/.jhbuildrc.
2.2. Configurar JHBuild
El archivo ~/.jhbuildrc usa la sintaxis de Python para configurar las variables de JHBuild. Se proporciona un ejemplo en la carpeta de jhbuild, vea sample.jhbuildrc. Copie sample.jhbuildrc en ~/.jhbuildrc y personalícelo como necesite.
La configuración de ejemplo hará que JHBuild construya el módulo meta-gnome-desktop y sus dependencias desde el conjunto de módulos gnome-2.30. JHBuild descomprimirá los árboles de fuentes en ~/checkout/gnome2 e instalará todos los archivos en subcarpetas de /opt/gnome2. Las dos carpetas deben ser escribibles.
Las variables de configuración están documentadas en Sección 6: Referencia del archivo de configuración. Las variables más comúnmente usadas son:
- repos
-
Un diccionario que puede usarse para especificar 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://nombre_de_usuario@git.gnome.org/git/'
- 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.
- 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'].
- 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. La predeterminada es ~/checkout/gnome2.
- prefix
-
Una cadena que indica el prefijo donde instalar módulos. Esta carpeta debe ser escribible. De forma predeterminada es «/opt/gnome2».
- 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.
- makeargs
-
Una cadena que lisa argumentos adicionales para pasarlos a make. De forma predeterminada es True.
2.3. Prerrequisitos para la construcción
Antes de poder construir cualquier módulo es necesario tener ciertas herramientas de construcción instaladas. Las herramientas habituales incluyen las GNU Autotools (autoconf, automake, libtool y gettext), La GNU Toolchain (binutils, gcc, g++), pkg-config y Python, dependiendo de qué módulos se construirán.
JHBuild puede comprobarlas herramientas están instaladas usando el comando sanitycheck:
$ jhbuild sanitycheck
Si este comando devuelve algún mensaje, puede solucionar los errores de dos formas:
-
Instale el paquete requerido desde el repositorio de su distribución. El wiki de GNOME mantiene una lista de nombres de paquetes para diferentes distribuciones. Ejecute otra vez el comando sanitycheck para asegurarse de que las herramientas necesarias están instaladas.
-
Ejecute el comando bootstrap para descargar, construir e instalar los prerrequisitos de construcción.
$ jhbuild bootstrap
Cuando termine, ejecute el comando sanitycheck para verificar que tiene las herramientas necesarias.
El comando bootstrap no construye todas las dependencias requeridas de los paquetes por esas herramientas. Si su distribución no proporciona esos paquetes, deberán construirse fuera del entorno de JHBuild.
Las dependencias de las herramientas de construcción incluyen m4, perl y un compilador de a C (por ejemplo, gcc).
2.4. Usar JHBuild
Después de que todo esté configurado, se puede usar JHBuild para construir software. Para construir los todos módulos seleccionados en el archivo ~/.jhbuildrc, ejecute el siguiente comando:
$ jhbuild build
JHBuild descargará, configurará, compilará e instalará cada uno de los módulos. Si ocurre un error en cualquier fase, JHBuild mostrará un menú preguntando qué hacer. Estas opciones incluyen salir a una consola para reparar el error, volver a ejecutar la construcción desde varias fases, abandonar el módulo, o ignorar el error y continuar.
Desistir de cargar un módulo causará que todos los módulos que dependan de él fallen.
Debajo hay un ejemplo con el menú mostrado:
[1] Volver a ejecutar la fase de construcción
[2] Ignorar error y continuar la instalación
[3] Desistir de cargar el módulo
[4] Iniciar consola
[5] Recargar configuración
[6] Ir a la fase «limpiar carpeta y empezar»
[7] Ir a la fase «configurar»
[8] Ir a la fase «limpiar»
[9] Ir a la fase «distclean»
selección:
También es posible construir un conjunto de módulos diferentes y sus dependencias pasando los nombres de módulos como argumentos al comando build. Por ejemplo, para construir gtk+:
$ jhbuild build gtk+
Si por cualquier razón sale de JHBuild a mitad de una construcción, es posible recuperar la construcción en un momento particular utilizando la opción --start-at:
$ jhbuild build --start-at=pango
Para construir uno o más módulos, ignorando sus dependencias, JHbuild proporciona el comando buildone. Para que el comando buildone funcione correctamente, previamente debe construir e instalar todas las dependencias, manualmente o desde los paquetes de la distribución.
$ jhbuild buildone gtk+
Para obtener una lista de los módulos y las dependencias que JHBuild construirá, y el orden en que se construirán, use el comando list:
$ jhbuild list
Para obtener información acerca de un módulo en particular, use el comando info:
$ jhbuild info gtk+
Para descargar o actualizar todas las fuentes de software sin construir use el comando update. El comando update ofrece la oportunidad de modificar las fuentes antes de construir y puede ser útil si el ancho de banda de Internet varía.
$ jhbuild update
Posteriormente JHBuild puede construir todo sin descargar ni actualizar los fuentes:
$ jhbuild build --no-network
Para ejecutar un comando concreto con el mismo entorno que usa JHBuild, use el comando run:
$ jhbuild run programa
Para iniciar una consola con el mismo entorno usado por JHBuild use el comando shell:
$ jhbuild shell