Référence des commandes

JHBuild utilise une syntaxe de ligne de commande similaire aux outils du style CVS :

jhbuild [options-globales] commande [paramètres-de-commande]

Les options globales de JHBuild sont :

-f, --fileconfiguration

Utilise un fichier de configuration alternatif au lieu du fichier ~/.jhbuildrc par défaut.

-m, --modulesetjeu-de-modules

Utilise un autre jeu de modules que celui qui est indiqué dans le fichier de configuration. Cette option peut être un chemin relatif si le jeu de modules se trouve dans le dossier des jeux de modules de JHBuild, ou un chemin absolu s'il se trouve ailleurs.

--no-interact

N'interroge jamais l'utilisateur quant à un choix à faire. Cette option est utile pour effectuer une construction sans intervention humaine, afin de s'assurer que la construction ne soit pas interrompue.

Les options particulières à certaines commandes sont énumérées ci-dessous.

V.I. autobuild

La commande autobuild construit automatiquement les modules indiqués dans le fichier de configuration, puis envoie les résultats vers JHAutobuild.

jhbuild autobuild [--autogen] [--clean] [--distcheck] [--skip=module...] [--start-at=module] [--report-url=url-de-rapport] [--verbose]

The --autogen, --clean, --distcheck, --skip and --start-at options are processed as per the build command.

--report-url=url-de-rapport, -r url-de-rapport

Cette option indique l'URL de JhAutobuild où envoyer le rapport.

--verbose, -v

Si indiquée, cette option produit des messages de JHBuild plus verbeux.

V.II. bootstrap

La commande bootstrap installe un ensemble d'utilitaires de construction requis pour la plupart des modules (par ex. autoconf, automake, etc).

jhbuild bootstrap

La commande bootstrap construit les modules avec la même méthode que la commande build, mais en utilisant le jeu de modules bootstrap.modules.

Consultez la documentation de la commande build pour connaître les options disponibles.

V.III. build

La commande build construit un ou plusieurs paquets ainsi que leurs dépendances.

jhbuild build [--autogen] [--clean] [--check] [--dist] [--distcheck] [--ignore-suggests] [--no-network] [--skip=module...] [--start-at=module] [--tags=étiquettes] [-D date] [--no-xvfb] [--try-checkout] [--no-poison] [--force] [--build-optional-modules] [--min-age=temps] [module...]

Si aucun nom de module n'est indiqué dans la ligne de commande, c'est la liste des modules du fichier de configuration qui est utilisée.

-a, --autogen

Exécute toujours autogen.sh avant de construire les modules. Par défaut, autogen.sh n'est lancé que si le Makefile de premier niveau est absent. Sinon, JHBuild se base sur les Makefiles du paquet pour déterminer si la phase de configuration doit être relancée.

-c, --clean

Exécute make clean avant de construire les modules.

--check

Exécute make check après la construction des modules.

-d, --dist

Exécute make dist après la construction des modules.

--distcheck

Exécute make distcheck après la construction des modules.

--ignore-suggests

Ne compile pas les dépendances faibles.

-n, --no-network

N'accède pas au réseau lors de la construction des modules. Cette option évite les étapes de téléchargement ou de mise à jour lors des constructions. Si un module ne peut pas être construit sans accès réseau, sa construction échouera.

-s, --skip=module,...

Ne compile pas les modules de la liste. Utilisé pour éviter la construction de dépendances spécifiques.

--tags=étiquette,...

Ignore les modules qui ne correspondent pas à étiquette. Une étiquette correspondant au nom du jeu de modules conteneur est automatiquement attribuée à chaque module.

-t, --start-at=module

Commence par le module indiqué plutôt qu'au début de la liste des dépendances. Cette option est utile quand la construction précédente a échoué.

-D date

Si le système de gestion de version sous-jacent le prend en charge, met à jour l'arborescence source selon son état à la date indiquée, avant de commencer la construction. La date doit être indiquée au format ISO, par exemple "2009-09-18 02:32Z".

-x, --no-xvfb

Effectue les tests graphiques avec le serveur X réel au lieu d'utiliser une simulation Xvfb.

-C, --try-checkout

Si la construction échoue et que le système de gestion de version le prend en charge, force une extraction et exécute autogen.sh avant de recommencer la construction.

-N, --no-poison

Si l'une ou plusieurs des dépendances du module échouent, cette option force JHBuild à essayer tout de même de construire le module.

-f, --force

Construit les modules même si la stratégie habituelle indique que ce n'est pas nécessaire.

--build-optional-modules

Certains modules énumérés comme dépendances facultatives ne sont pas absolument nécessaires pour construire le module. Cette option force JHBuild à construire aussi les dépendances facultatives.

--min-age=time

Skip modules installed more recently than the specified relative time. The time string format is a number followed by a unit. The following units are supported: seconds (s), minutes (m), hours (h) and days (d). For example, --min-age=2h will skip modules built less than two hours ago.

V.IV. buildone

La commande buildone est semblable à build, mais elle ne construit pas les dépendances du module. Elle est utile pour reconstruire un ou plusieurs modules.

jhbuild buildone [--autogen] [--clean] [--check] [--distcheck] [--no-network] [-D date] [--no-xvfb] [--force] [--min-age=temps] module...

Les options --autogen, --check, --clean, -d, --distcheck, --no-network, -D et -x sont traitées de la même manière que pour la commande build.

Cette commande nécessite au minimum un module dans la ligne de commande.

V.V. checkbranches

La commande checkbranches vérifie si les branches des modules sont définies correctement dans le gestionnaire de version et si les branches sont cohérentes avec le jeu de modules.

jhbuild checkbranches [--branch=branche...]
--branch=branche, -bbranche

La branche à vérifier

$ jhbuild -m gnome-2.20 checkbranches
il manque la définition de la branche gnome-2-20 de libgnomecanvas
$

V.VI. clean

La commande clean nettoie les répertoires de compilation d'un ou de plusieurs modules.

jhbuild clean [--skip=module...] [--start-at=module]

Si aucun nom de module n'est indiqué dans la ligne de commande, c'est la liste des modules du fichier de configuration qui est utilisée.

Consultez la documentation de la commande build pour une description des options disponibles.

V.VII. dot

La commande dot génère un fichier décrivant le graphe directionnel formé par les dépendances dans un jeu de modules. Ce fichier peut ensuite être traité par le logiciel GraphViz pour produire un diagramme.

jhbuild dot [--soft-deps] [--clusters] [module...]

Si aucun nom de module n'est indiqué dans la ligne de commande, c'est la liste des modules du fichier de configuration qui est utilisée.

L'option --soft-deps ajoute des lignes pointillées depuis les modules vers leurs dépendances faibles. L'option --clusters groupe les modules selon les métamodules.

La sortie de la commande dot peut être redirigée vers l'utilitaire dot pour générer un fichier PostScript :

$ jhbuild dot modules | dot -Tps > dependances.ps

Ou une image PNG :

$ jhbuild dot modules | dot -Tpng > dependances.png
Figure 1 Exemple de sortie dot de JHBuild

V.VIII. gui

La commande gui lance une interface graphique de JHBuild qui permet de sélectionner des modules à construire et de modifier certaines options.

jhbuild gui

L'interface graphique est basée sur GTK, ce qui requiert des bibliothèques supplémentaires.

V.IX. info

La commande info affiche des informations sur un ou plusieurs modules.

jhbuild info module...

Cette commande affiche le nom du module, son type, ses dépendances, les paquets qui en dépendent, le répertoire source et la date de sa dernière installation avec JHBuild. Le cas échéant, elle affiche également certaines informations spécifiques au type de module, telles que le dépôt CVS ou l'URL de téléchargement.

Si aucun module n'est précisé dans la commande, des informations sont affichées au sujet de tous les modules définis dans le jeu de modules.

V.X. list

La commande list affiche la liste complète des modules que la commande build construirait.

jhbuild list [-a] [-r] [-s] [--start-at=module] [--tags=étiquettes] [--ignore-suggests] [--list-optional-modules] [module...]

Si aucun nom de module n'est indiqué dans la ligne de commande, c'est la liste des modules du fichier de configuration qui est utilisée.

Les options --skip, --start-at, --tags et --ignore-suggests sont traitées de la même manière que pour la commande build.

-a, --all-modules

Énumère tous les modules du jeu de modules, sans tenir compte des dépendances de construction.

-r, --show-revision

Si un module est défini par une de ses branches, affiche le nom de la branche avec le nom de module.

--list-optional-modules

Cette option force JHBuild à énumérer les dépendances facultatives.

V.XI. rdepends

La commande rdepends affiche les dépendances inverses d'un module.

jhbuild rdepends [module]
--dependencies

Affiche le chemin de dépendance à la suite des modules.

--direct

Limite l'affichage aux modules dépendant directement du module indiqué.

V.XII. run

La commande run exécute la commande indiquée dans le même environnement que JHBuild utilise lors de la construction de modules.

jhbuild run [--in-builddir] [--in-checkoutdir] commande [paramètre...]

En cas d'utilisation de JHBuild pour construire GNOME, cette commande est utile dans les scripts de démarrage de X.

--in-builddir=module

Exécute la commande dans le répertoire de construction du module indiqué.

--in-checkoutdir=module

Exécute la commande dans le répertoire source du module indiqué.

V.XIII. sanitycheck

La commande sanitycheck effectue un certain nombre de contrôles pour vérifier que l'environnement de construction est correct.

jhbuild sanitycheck

Ces contrôles vérifient notamment que :

  • les préfixes d'extraction et d'installation sont accessibles en écriture ;

  • les outils de construction indispensables sont installés ;

  • certaines macros couramment utilisées sont disponibles dans les chemins de recherche des commandes aclocal associées aux différentes versions de automake ;

  • le catalogue XML contient les DTD et feuilles de style DocBook.

V.XIV. shell

La commande shell lance un shell utilisateur dans le même environnement que JHBuild lorsqu'il construit des modules.

jhbuild shell

Cette commande est équivalente à ceci :

$ jhbuild run $SHELL

La variable d'environnement UNDER_JHBUILD est définie à « true » (vrai) lorsque ce shell est actif. Vous pouvez utiliser la présence de cette variable pour personnaliser votre invite de commande afin d'indiquer que vous êtes dans un shell contrôlé par JHBuild. Par exemple, il est possible d'indiquer cela dans votre .bashrc :

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

En conséquence, vous verrez apparaître la séquence [jhbuild] au début de votre invite de commande habituelle, ce qui rend plus évident la distinction entre un shell normal et un shell contrôlé par JHBuild.

V.XV. tinderbox

La commande tinderbox est semblable à la commande build, mais écrit toutes les sorties de terminal dans des fichiers HTML prêts à être publiés sur un site Web. Elle permet de mettre en place des systèmes tels que Mozilla Tinderbox ou Debian Buildd.

jhbuild tinderbox [--autogen] [--clean] [--no-network] [--output=répertoire] [--skip=module...] [--start-at=module] [-D date] [-C] [-N] [-f] [module...]

Les options --autogen, --clean, --no-network, --skip, --start-at, -D, -C, -N et -f sont traitées de la même manière que pour la commande build.

-o, --output=répertoire

Le répertoire dans lequel écrire les fichiers HTML.

V.XVI. uninstall

La commande uninstall désinstalle un ou plusieurs modules.

jhbuild uninstall module...

V.XVII. update

La commande update est semblable à build, mais n'effectue que les étapes de téléchargement et de mise à jour des modules, sans les construire.

jhbuild update [--skip=module...] [--start-at=module] [--tags=étiquettes] [--ignore-suggests] [-D date] [module...]

Les options --skip, --start-at, --tags, --ignore-suggests et -D sont traitées de la même manière que pour la commande build.

V.XVIII. updateone

La commande updateone est semblable à update, mais elle ne met pas à jour les modules dépendants. Elle est utile pour mettre à jour un ou plusieurs modules.

jhbuild updateone [-D date] module...

L'option -D est traitée de la même manière que pour build.

Cette commande nécessite au minimum un module dans la ligne de commande.