Référence des commandes
JHBuild utilise une syntaxe de ligne de commande similaire aux outils du style CVS :
jhbuild [global-options] command [command-arguments]
Les options globales de JHBuild sont :
- -f, --file config
-
Use an alternative configuration file instead of the default ~/.config/jhbuildrc.
- -m, --moduleset moduleset
-
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.
- --conditions
-
Modify the condition flags to be different than those determined on the basis of the OS and those specified in jhbuildrc. Modifications are specified like -wayland or +docs in order to remove or add conditions. Multiple modifications can be separated by a comma like --conditions=+docs,-wayland or you can split them across multiple --conditions arguments.
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=reporturl] [--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
The bootstrap command installs a set of build utilities. The build utilities include autoconf, automake and similar utilities. The recommended method to install the build utilities is via your distribution's package management system. The bootstrap should only be used if the build utilities are not provided by your distribution's package management system, for example on Mac OS.
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] [--distclean] [--ignore-suggests] [--no-network] [--skip=module...] [--start-at=module] [--tags=tags] [-D date] [--no-xvfb] [--try-checkout] [--no-poison] [--force] [--build-optional-modules] [--min-age=time] [--nodeps] [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
-
Always run autogen.sh before building modules.
- -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.
- --distclean
-
For git modules, run git clean -dfx before building modules. For other modules, run make distclean before building modules.
This option will delete any uncommited changes.
- --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.
- --nodeps
-
Ignore missing system dependencies. To ignore a single system dependency add the module to skip.
V.IV. make
The make command is for actively developing on a particular module. It requires the current directory be a source checkout, and does the equivalent of buildone -nf $(basename $(pwd)).
jhbuild make [--clean] [--check] [--distcheck] [--quiet]
The options are the same as those available for the buildone command.
V.V. 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] [--distclean] [--no-network] [-D date] [--no-xvfb] [--force] [--min-age=time] [--nodeps] module...
The --autogen, --check, --clean, -d, --distcheck, --distclean, --no-network, -D, -x and --nodeps options are processed as per the build command.
Cette commande nécessite au minimum un module dans la ligne de commande.
V.VI. 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=branch...]
- --branch=branch, -b branch
-
La branche à vérifier
$ jhbuild -m gnome-2.20 checkbranches libgnomecanvas is missing branch definition for gnome-2-20 $
V.VII. 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.VIII. 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 > dependencies.ps
Ou une image PNG :
$ jhbuild dot modules | dot -Tpng > dependencies.png
V.IX. 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.X. 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.XI. 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=tags] [--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.XII. 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.XIII. 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] program [argument...]
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.XIV. 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.XV. 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.XVI. sysdeps
The sysdeps command displays:
-
a list of installed system packages which will be used during the build. JHBuild will not build these modules and opt to use the system package instead.
-
a list of required packages. To begin a build the packages must be provided by your system.
-
a list of optional packages. The corresponding system package was not found or too old. JHBuild will build the module. Optional packages will not be displayed if partial_build is False.
jhbuild sysdeps [--install]
- --install
-
This option installs system packages which are dependencies of the moduleset. The installation method depends on your distribution. System packages are installed using PackageKit, if available. For distributions using APT such as Debian and Ubuntu, this option requires apt-file to be installed.
$ jhbuild sysdeps System installed packages which are new enough: speex (speex.pc required=1.2rc1, installed=1.2rc1) lcms2 (lcms2.pc required=2.2, installed=2.2) ... Required packages: System installed packages which are too old: (none) No matching system package installed: zlib (zlib.pc required=1.2) Optional packages: (JHBuild will build the missing packages) System installed packages which are too old: WebKit (webkitgtk-3.0.pc required=1.5.1, installed=1.4.0) ... No matching system package installed: pulseaudio (libpulse.pc required=2.0) ...
V.XVII. 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] [--distclean] [--no-network] [--output=directory] [--skip=module...] [--start-at=module] [-D date] [-C] [-N] [-f] [--nodeps] [module...]
The --autogen, --clean, --distclean, --no-network, --skip, --start-at, -D, -C, -N, -f and --nodeps options are processed as per the build command.
- -o, --output=répertoire
-
The directory to write the HTML files. JHBuild will create an index (index.html) and a HTML file for each module.
V.XVIII. uninstall
La commande uninstall désinstalle un ou plusieurs modules.
jhbuild uninstall module...
V.XIX. 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=tags] [--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.XX. 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.