Befehlsreferenz

JHBuild verwendet eine Befehlszeilensyntax ähnlich wie in Werkzeugen wie CVS:

jhbuild [global-options] command [command-arguments]

Folgende globale Optionen stehen für JHBuild zur Verfügung:

-f, --file config

Use an alternative configuration file instead of the default ~/.config/jhbuildrc.

-m, --moduleset moduleset

Use a module set other than the module set listed in the configuration file. This option can be a relative path if the module set is located in the JHBuild moduleset folder, or an absolute path if located elsewhere.

--no-interact

Do not prompt the user for any input. This option is useful if leaving a build unattended, in order to ensure the build is not interrupted.

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

Befehlsspezifische Optionen werden nachstehend aufgelistet.

5.1. autobuild

Der Befehl autobuild erstellt automatisch die in der Konfigurationsdatei angegebenen Module und überträgt die Ergebnisse zu 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=reporturl, -r Berichtsadresse

Diese Option legt die Adresse für Berichte an JHAutobuild fest.

--verbose, -v

Falls angegeben, sind die Ausgaben von JHBuild ausführlicher.

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

The bootstrap command builds modules using the same method as the build command, but uses the bootstrap.modules moduleset.

Die verfügbaren Optionen finden Sie in der Dokumentation zu build.

5.3. build

Der Befehl build erstellt ein oder mehrere Pakete einschließlich deren Abhängigkeiten.

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

Falls keine Modulnamen auf der Befehlszeile übergeben werden, wird die Modulliste aus der Konfigurationsdatei verwendet.

-a, --autogen

Always run autogen.sh before building modules.

-c, --clean

make clean vor der Erstellung von Modulen ausführen.

--check

make check nach der Erstellung von Modulen ausführen.

-d, --dist

make dist nach der Erstellung von Modulen ausführen.

--distcheck

make distcheck nach der Erstellung von Modulen ausführen.

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

Keine weichen Abhängigkeiten erstellen.

-n, --no-network

Beim Erstellen von Modulen nicht auf das Netzwerk zugreifen. Dadurch werden Download- oder Aktualisierungsschritte in einer Erstellung übersprungen. Falls das Modul ohne Netzwerkzugriff nicht erstellt werden kann, wird die Erstellung des Moduls scheitern.

-s, --skip=Modul,…

Die aufgelisteten Module nicht erstellen. Wird benutzt, um die Erstellung spezifischer Abhängigkeiten zu überspringen.

--tags=Tag, …

Ignore modules that do not match tag. Modules are automatically attributed a tag matching the name of the module's module set.

-t, --start-at=Modul

Beim genannten Modul anstatt am Beginn der Liste starten. Diese Option ist sinnvoll, wenn die Erstellung zuvor unterbrochen wurde.

-D date

If supported by the underlying version control system, update the source tree to the specified date before building. An ISO date format is required, e.g. "2009-09-18 02:32Z".

-x, --no-xvfb

Run graphical tests on the actual X server rather than in a simulated Xvfb.

-C, --try-checkout

If the build fails, and if supported by the version control system, force a checkout and run autogen.sh before retrying the build.

-N, --no-poison

Falls die Abhängigkeiten eines oder mehrerer Module scheitern, erzwingt dies die Erstellung des Moduls durch JHBuild.

-f, --force

Das Modul erstellen, auch wenn die Regeln es als nicht erforderlich ansehen.

--build-optional-modules

Einige als optionale Abhängigkeiten aufgelistete Module sind nicht für die Erstellung des Zielmoduls notwendig. Diese Option zwingt JHBuild, diese Module trotzdem einzuschließen.

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

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

5.5. buildone

Der Befehl buildone arbeitet ähnlich wie build, erstellt jedoch keine abhängigen Module. Dies ist nützlich für das erneute Erstellen eines oder mehrerer Module.

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.

In der Befehlszeile muss mindestens ein Modul angegeben werden.

5.6. checkbranches

The checkbranches checks the module's branches are defined correctly within the version control system and the branches are consistent with the module set.

jhbuild checkbranches [--branch=branch...]
--branch=branch, -b branch

Der auszucheckende Zweig.

$ jhbuild -m gnome-2.20 checkbranches
libgnomecanvas is missing branch definition for gnome-2-20
$

5.7. clean

Der Befehl clean leert die Erstellungsordner von einem oder mehreren Modulen.

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

Falls keine Modulnamen auf der Befehlszeile übergeben werden, wird die Modulliste aus der Konfigurationsdatei verwendet.

In der Dokumentation zum Befehl build finden Sie eine Beschreibung der verfügbaren Optionen.

5.8. dot

The dot command generates a file describing the directed graph formed by the dependencies between a set of modules. This file can then be processed using the GraphViz software to produce a diagram.

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

Falls keine Modulnamen auf der Befehlszeile übergeben werden, wird die Modulliste aus der Konfigurationsdatei verwendet.

The --soft-deps option adds dotted lines from the modules to the soft dependencies. The --clusters option groups modules from metamodules together.

Die Ausgabe dieses Befehls kann leicht zum Befehl dot weitergeleitet werden, um eine PostScript-Datei zu erstellen:

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

Oder ein PNG-Bild:

$ jhbuild dot modules | dot -Tpng > dependencies.png
Abbildung 1Beispielausgabe von dot in JHBuild

5.9. gui

Der Befehl gui startet eine grafische Oberfläche für JHBuild, in welcher Module ausgewählt und einige Optionen angepasst werden können.

jhbuild gui

Die erzeugte grafische Oberfläche benötigt GTK zur Darstellung, so dass einige unterstützende Bibliotheken erforderlich sein werden.

5.10. info

Der Befehl info wird dazu verwendet, um Informationen über ein oder mehrere Module anzuzeigen.

jhbuild info module...

Der Befehl gibt den Modulnamen, den Typ, die Abhängigkeiten, die davon abhängenden Pakete, den Quellordner und die Zeit der letzten Erstellung mit JHBuild aus. Falls verfügbar, können außerdem Informationen bezüglich des Modultyps ausgegeben werden, wie den CVS-Softwarebestand oder die Downloadadresse.

Falls kein Modul angegeben wird, dann werden Informationen über alle im Modulsatz definierten Module ausgegeben.

5.11. list

The list command displays the expanded list of modules the build command would build.

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

Falls keine Modulnamen auf der Befehlszeile übergeben werden, wird die Modulliste aus der Konfigurationsdatei verwendet.

Die Optionen --skip, --start-at, --tags und --ignore-suggests werden ebenso wie für build verarbeitet.

-a, --all-modules

List all the modules from the module set regardless of the build dependencies.

-r, --show-revision

If a module is set to a branch, show the branch name with the module name.

--list-optional-modules

Diese Option zwingt JHBuild, optionale Abhängigkeiten aufzulisten.

5.12. rdepends

Der Befehl rdepends zeigt die rekursiven Abhängigkeiten eines Moduls an.

jhbuild rdepends [module]
--dependencies

Zeigt den Abhängigkeitspfad neben den Modulen an.

--direct

Limit display to modules directly depending on specified module.

5.13. run

The run command runs the specified command using the same environment that JHBuild uses when building modules.

jhbuild run [--in-builddir] [--in-checkoutdir] program [argument...]

Falls Sie JHBuild zur Erstellung von GNOME verwenden, kann dieser Befehl in X-Startskripten nützlich sein.

--in-builddir=Modul

Führen Sie den Befehl im Erstellungesordner des angegebenen Moduls aus.

--in-checkoutdir=Modul

Führen Sie den Befehl im Quellordner des angegebenen Moduls aus.

5.14. sanitycheck

Der Befehl sanitycheck nimmt eine Reihe von Überprüfungen vor, um die Vollständigkeit der Erstellungsumgebung zu gewährleisten.

jhbuild sanitycheck

Beispielsweise wird Folgendes überprüft:

  • Ob die Präfixes für Checkout und Installation schreibbar sind.

  • Ob die benötigten Erstellungswerkzeuge installiert sind.

  • Ob einige häufig verwendete Makros in den Suchpfaden der den verschiedenen Versionen von automake zugeordneten aclocal-Befehle vorhanden sind.

  • Ob der XML-Katalog die DocBook-DTD und die Stilvorlagen enthält.

5.15. shell

The shell command starts the user's shell with the same environment as JHBuild uses when building modules.

jhbuild shell

Dieser Befehl entspricht dem Folgenden:

$ jhbuild run $SHELL

The UNDER_JHBUILD environment variable will be set to "true" when this shell is active. You can use the presence of that variable to customize your shell's prompt to indicate that you indeed are under a jhbuild-controlled shell. For example, you may want to put this in your .bashrc:

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

This will make your bash shell display [jhbuild] before your normal prompt, making it easier to see which shells are under a jhbuild environment.

5.16. sysdeps

The sysdeps command displays:

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

  2. a list of required packages. To begin a build the packages must be provided by your system.

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

Beispiel 1sysdeps example
$ 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)
    ...

5.17. tinderbox

The tinderbox command is similar to build, but writes all terminal output to HTML files suitable for publishing on a website. It can be used to set up systems similar to Mozilla's Tinderbox, or Debian's 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=Ordner

The directory to write the HTML files. JHBuild will create an index (index.html) and a HTML file for each module.

5.18. uninstall

Der Befehl uninstall deinstalliert ein oder mehrere Module.

jhbuild uninstall module...

5.19. update

The update command is similar to build, but only performs the download or update stage for modules without building them.

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

Die Optionen --skip, --start-at, --tags --ignore-suggests und -D werden ebenso wie für build verarbeitet.

5.20. updateone

The updateone command is similar to update, but it does not update the dependent modules. It is useful for updating one or more modules.

jhbuild updateone [-D date] module...

The -D option is processed as per the build command.

In der Befehlszeile muss mindestens ein Modul angegeben werden.