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