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/gnome.
$ 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 ... $
Si gnome-common, yelp-tools y autotools está disponibles, autogen.sh configurará JHBuild para instalarlos mediante autotools. Si gnome-common, yelp-tools y autotools no está disponibles, autogen.sh configurará JHBuild para instalarlos mediante un Makefile. Para usar siempre el método del Makefile, pase --simple-install a autogen.sh.
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 $
2.2. Configurar JHBuild
Se puede configurar JHBuild mediante el archivo de configuración. su ubicación predeterminada es ~/.config/jhbuildrc. Si no existe un archivo de configuración, se usarán los valores predeterminados. El archivo de configuración usa la sintaxis de Python. Se proporciona un ejemplo en examples/sample.jhbuildrc. Copie examples/sample.jhbuildrc a ~/.config/jhbuildrc y personalícelo como necesite.
La configuración de ejemplo hará que JHBuild construya los módulos meta-gnome-core y meta-gnome-apps-tested y sus dependencias desde el conjunto de módulos gnome-apps. JHBuild descomprimirá los árboles de fuentes en ~/checkout/gnome e instalará todos los archivos en subcarpetas de /opt/gnome. 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/gnome.
- 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 «/opt/gnome».
- 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 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 ''.
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), Las GNU Toolchain (binutils, gcc, g++), make, 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 el comando muestra algún mensaje, instale el paquete requerido del 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 depsués de instalar los paquetes para asegurarse de que las herramientas necesarias están instaladas.
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 ~/.config/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»
choice:
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+
Cuando desarrolla activamente un módulo, generalmente está en una carpeta de trabajo. El comando make invocará al sistema de construcción e instalará el módulo. Esto será una parte clave de su ciclo de edición-compilación-instalación-pruebas.
$ jhbuild make
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:
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