Kommandoreferens
JHBuild använder en kommandoradssyntax i stil med verktyg så som CVS:
jhbuild [globala-flaggor] kommando [kommandoargument]
De globala JHBuild-flaggorna är:
- -f, --file konfiguration
-
Använd en alternativ konfigurationsfil istället för standardvärdet ~/.config/jhbuildrc.
- -m, --moduleset moduluppsättning
-
Använd en annan moduluppsättning än den moduluppsättning som listas i konfigurationsfilen. Denna flagga kan vara en relativ sökväg om moduluppsättningen finns i JHBuilds moduluppsättningsmapp eller en absolut sökväg om den finns någon annanstans.
- --no-interact
-
Fråga inte användaren om något. Denna flagga är användbar om du lämnar ett bygge obevakat, för att säkerställa att bygget inte avbryts.
- --exit-on-error
-
Avsluta omedelbart efter att en modul misslyckas med att bygga. Denna flagga är i första hand användbar i icke-interaktivt läge för att säkerställa att jhbuild inte fortsätter att bygga ytterligare moduler.
- --conditions
-
Modifiera villkorsflaggorna till att vara andra än de som bestämts baserat på OS och de som angetts i jhbuildrc. Modifieringar anges som -wayland eller +docs för att ta bort eller lägga till villkor. Flera modifieringar kan separeras med ett komma i stil med --conditions=+docs,-wayland eller så kan du dela upp dem i flera --conditions-argument.
Dessutom kontrollerar JHBuild närvaron av och värdet på följande miljövariabler:
- JHBUILD_RUN_AS_ROOT
-
Som standard körs JHBuild inte när root-användaren används, för att undvika destruktiva åtgärder som kan påverka hela systemet. I vissa fall är det dock acceptabelt att köra JHBuild som root; exempelvis i en behållare eller i en kontinuerlig integrationsmiljö. Att exportera miljövariabeln JHBUILD_RUN_AS_ROOT kommer att inaktivera kontrollen av användar-ID vid uppstart.
Kommandospecifika flaggor listas nedan.
5.1. autobuild
Kommandot autobuild bygger automatiskt modulerna så som de angetts i konfigurationsfilen och skickar sedan upp resultaten till JhAutobuild.
jhbuild autobuild [--autogen] [--clean] [--distcheck] [--skip=modul...] [--start-at=modul] [--report-url=rapport-url] [--verbose]
Flaggorna --autogen, --clean, --distcheck, --skip och --start-at behandlas enligt kommandot build.
- --report-url=rapport-url, -r rapport-url
-
Denna flagga anger JhAutobuild-URL:en att rapportera till.
- --verbose, -v
-
Om angiven kommer JHBuilds utmatning att vara utförligare.
5.2. bootstrap
Kommandot bootstrap installerar en uppsättning av byggverktyg. Byggverktygen inkluderar autoconf, automake och liknande verktyg. Den rekommenderade metoden att installera byggverktygen är via din distributions pakethanteringssystem. bootstrap bör bara användas om byggverktygen inte tillhandahålls av din distributions pakethanteringssystem, till exempel på Mac OS.
jhbuild bootstrap
Kommandot bootstrap bygger moduler via samma metod som kommandot build men använder moduluppsättningen bootstrap.modules istället.
Se kommandodokumentationen för build för tillgängliga flaggor.
5.3. build
Kommandot build bygger ett eller flera paket samt deras beroenden.
jhbuild build [--autogen] [--clean] [--check] [--dist] [--distcheck] [--distclean] [--ignore-suggests] [--no-network] [--skip=modul...] [--start-at=modul] [--tags=taggar] [-D datum] [--no-xvfb] [--try-checkout] [--no-poison] [--force] [--build-optional-modules] [--min-age=tid] [--nodeps] [modul...]
Om inga modulnamn anges på kommandoraden kommer listan moduler från konfigurationsfilen att användas.
- -a, --autogen
-
Kör alltid autogen.sh innan du bygger moduler.
- -c, --clean
-
Kör make clean innan du bygger moduler.
- --check
-
Kör make check efter moduler har byggts.
- -d, --dist
-
Kör make dist efter moduler har byggts.
- --distcheck
-
Kör make distcheck efter moduler har byggts.
- --distclean
-
För git-moduler, kör git clean -dfx innan du bygger modulerna. För andra moduler, kör make distclean innan du bygger modulerna.
Denna flagga kommer att ta bort alla ändringar som inte checkats in.
- --ignore-suggests
-
Bygg inte mjuka beroenden.
- -n, --no-network
-
Använd inte nätverket när moduler byggs. Detta kommer att hoppa över hämtning eller uppdateringsstegen i ett bygge. Om en modul inte kan byggas utan nätverksåtkomst kommer bygget av modulen att misslyckas.
- -s, --skip=modul,…
-
Bygg inte de listade modulerna. Används för att hoppa över att bygga specifika beroenden.
- --tags=tagg,…
-
Ignorera moduler som inte matchar tagg. Moduler får automatiskt en tagg som matchar namnet på modulens moduluppsättning.
- -t, --start-at=modul
-
Börja med den namngivna modulen snarare än i början av listan. Denna flagga är användbar om bygget avbröts.
- -D datum
-
Om det stöd av det underliggande versionshanteringssystemet, uppdatera källkodsträdet till det angivna datumet innan bygget startar. ISO-datumformat krävs, t.ex. "2009-09-18 02:32Z".
- -x, --no-xvfb
-
Kör grafiska tester på den riktiga X-servern snarare än i en simulerad Xvfb.
- -C, --try-checkout
-
Om bygget misslyckas och om det stöds av versionshanteringssystemet, tvinga en utcheckning och kör autogen.sh innan du försöker bygga igen.
- -N, --no-poison
-
Om en eller flera av en moduls beroenden misslyckas, tvingar denna flagga JHBuild att försöka bygga modulen ändå.
- -f, --force
-
Bygg modulerna även om policyn säger att det inte krävs.
- --build-optional-modules
-
Moduler listade som valfria beroenden, kanske inte behövs för att bygga modulen. Denna flagga tvingar JHBuild att bygga valfria beroenden.
- --min-age=tid
-
Hoppa över moduler som installerats senare än det angivna relativa datumet. Strängformatet för tid är ett antal åtföljt av en enhet. Följande enheter stöds: sekunder (s), minuter (m), timmar (h) och dagar (d). Till exempel kommer --min-age=2h att hoppa över moduler som byggts de senaste två timmarna.
- --nodeps
-
Hoppa över saknade systemberoenden. För att ignorera ett enstaka systemberoende lägg till modulen i skip.
5.4. make
Kommandot make används för att aktivt utveckla i en viss modul. Det kräver att den aktuella katalogen innehåller utcheckad källkod och gör detsamma som buildone -nf $(basename $(pwd)).
jhbuild make [--clean] [--check] [--distcheck] [--quiet]
Flaggorna är de samma som de som finns tillgängliga för kommandot buildone.
5.5. buildone
Kommandot buildone liknar build men det bygger inte modulberoenden. Det är användbart för att bygga om en eller flera moduler.
jhbuild buildone [--autogen] [--clean] [--check] [--distcheck] [--distclean] [--no-network] [-D datum] [--no-xvfb] [--force] [--min-age=tid] [--nodeps] modul...
Flaggorna --autogen, --check, --clean, -d, --distcheck, --distclean, --no-network, -D, -x och --nodeps behandlas på samma sätt som för kommandot build.
Åtminstone en modul måste listas på kommandoraden.
5.6. checkbranches
checkbranches kontrollerar att modulens grenar är korrekt definierade i versionshanteringssystemet och att grenarna stämmer överens med moduluppsättningen.
jhbuild checkbranches [--branch=gren...]
- --branch=gren, -b gren
-
Grenen som ska kontrolleras.
$ jhbuild -m gnome-2.20 checkbranches libgnomecanvas saknar grendefinition för gnome-2-20 $
5.7. clean
Kommandot clean tömmer byggkatalogerna för en eller flera moduler.
jhbuild clean [--skip=modul...] [--start-at=modul]
Om inga modulnamn anges på kommandoraden kommer listan moduler från konfigurationsfilen att användas.
Se kommandodokumentationen för build för en beskrivning över tillgängliga flaggor.
5.8. dot
Kommandot dot genererar en fil som beskriver den riktade grafen över beroenden mellan en uppsättning av moduler. Denna fil kan sedan behandlas av programvaran GraphViz för att producera ett diagram.
jhbuild dot [--soft-deps] [--clusters] [modul...]
Om inga modulnamn anges på kommandoraden kommer listan moduler från konfigurationsfilen att användas.
Flaggan --soft-deps lägger till streckade linjer från modulerna till de mjuka beroendena. Flaggan --clusters grupperar moduler från metamoduler tillsammans.
Utdata från dot-kommandot kan skickas vidare till dot-verktyget för att generera en PostScript-fil:
$ jhbuild dot moduler | dot -Tps > beroenden.ps
Eller en PNG-bild:
$ jhbuild dot moduler | dot -Tpng > beroenden.png
5.9. gui
Kommandot gui startat ett grafiskt gränssnitt för JHBuild som kan användas för att välja moduler att bygga och ändra ett antal inställningar.
jhbuild gui
Det grafiska gränssnittet renderas med hjälp av GTK så extra stödbibliotek krävs.
5.10. info
Kommandot info visar information om en eller flera moduler.
jhbuild info [--installed] [modul...]
Kommandot visar modulnamnet, typen, beroenden, paket som beror på denna modul, källkodskatalogen och tiden den senast installerades med JHBuild. Om tillgängligt kommer också information specifik för modultypen så som CVS-arkiv eller hämtnings-URL att visas.
Om det inte finns någon modul angiven kommer kommandot att visa information om alla de moduler som finns definierade i moduluppsättningen.
Om flaggan --installed anges kommer utmatningen att filtreras så att den bara inkluderar installerade paket. Denna utmatning kommer endast att innehålla moduler som faktiskt byggts och installerats av jhbuild. Utmatningen inkluderar inte systemberoenden.
Om flaggan --installed angetts tillsammans med ett eller flera modulnamn så kommer bara de installerade modulerna (exklusive systemberoenden) att skrivas ut. Om åtminstone en modul inte är installerad kommer kommandot att avslutas med returvärdet 1.
5.11. list
Kommandot list skriver ut den expanderade listan över moduler som kommandot build hade byggt.
jhbuild list [-a] [-r] [-s] [--start-at=modul] [--tags=taggar] [--ignore-suggests] [--list-optional-modules] [modul...]
Om inga modulnamn anges på kommandoraden kommer listan moduler från konfigurationsfilen att användas.
Flaggorna --skip, --start-at, --tags och --ignore-suggests behandlas på samma sätt som för kommandot build.
- -a, --all-modules
-
Lista alla modulerna från en moduluppsättning oavsett byggberoenden.
- -r, --show-revision
-
Om en modul är inställd på en gren, visa grennamnet med modulnamnet.
- --list-optional-modules
-
Denna flagga tvingar JHBuild att lista valfria beroenden.
5.12. rdepends
Kommandot rdepends visar de omvända beroendena för en modul.
jhbuild rdepends [modul]
- --dependencies
-
Visa beroendesökvägen intill modulerna.
- --direct
-
Begränsa utskriften till moduler som direkt beror på den angivna modulen.
5.13. run
Kommandot run kör det angivna kommandot i samma miljö som JHBuild använder för att bygga moduler.
jhbuild run [--in-builddir] [--in-checkoutdir] program [argument...]
Om JHBuild används för att bygga GNOME kan detta kommando vara användbart i uppstartsskripten för X.
- --in-builddir=modul
-
Kör kommandot i byggkatalogen för den angivna modulen.
- --in-checkoutdir=modul
-
Kör kommandot i källkodskatalogen för den angivna modulen.
5.14. sanitycheck
Kommandot sanitycheck utför ett antal kontroller för att verifiera att byggmiljön är OK.
jhbuild sanitycheck
Dessa kontroller inkluderar:
-
Att utchecknings- och installationsprefixen är skrivbara.
-
Att de byggverktyg som krävs är installerade.
-
Att vissa vanliga makron är tillgängliga i sökvägar för aclocal förknippat med de olika versionerna av automake.
-
XML-katalogen innehåller DocBook DTD och stilmallar.
5.15. shell
Kommandot shell startar användarens skal med samma miljö som JHBuild använder för att bygga moduler.
jhbuild shell
Detta kommando är ekvivalent med följande:
$ jhbuild run $SHELL
Miljövariabeln UNDER_JHBUILD kommer att vara satt till ”true” (sant) när detta skal är aktivt. Du kan använda närvaron av den variabeln för att anpassa ditt skals prompt för att indikera att du faktiskt är i ett jhbuild-kontrollerat skal. Till exempel kan du vilja lägga följande i din .bashrc:
if [ -n "$UNDER_JHBUILD" ]; then PS1="[jhbuild] $PS1" fi
Detta kommer att få ditt bash-skal att visa [jhbuild] innan din normala prompt vilket gör det enklare att se vilka skal som körs i en jhbuild-miljö.
5.16. sysdeps
Kommandot sysdeps visar:
-
en lista över installerade systempaket som kommer att användas under bygget. JHBuild kommer inte att bygga dessa moduler utan väljer att använda systempaketen istället.
-
en lista över paket som krävs. För att påbörja ett bygge måste paketen tillhandahållas av ditt system.
-
en lista över valfria paket. Motsvarande systempaket hittades inte eller var för gamla. JHBuild kommer att bygga modulen. Valfria paket kommer inte att visas om partial_build är False (falsk).
jhbuild sysdeps [--install]
- --install
-
Denna flagga installerar systemberoenden som är beroenden från moduluppsättningen. Installationsmetoden beror på din distribution. Systempaket installeras via PackageKit om tillgängligt. För distributioner som använder APT så som Debian och Ubuntu kräver denna flagga att apt-file är installerat.
$ jhbuild sysdeps Systeminstallerade paket som är tillräckligt nya: speex (speex.pc krävs=1.2rc1, installerat=1.2rc1) lcms2 (lcms2.pc krävs=2.2, installerat=2.2) ... Paket som krävs: Systeminstallerade paket som är för gamla: (inga) Inget matchande systempaket installerat: zlib (zlib.pc krävs=1.2) Valfria paket: (JHBuild kommer att bygga de paket som saknas) Systeminstallerade paket som är för gamla: WebKit (webkitgtk-3.0.pc krävs=1.5.1, installerat=1.4.0) ... Inget matchande systempaket installerat: pulseaudio (libpulse.pc krävs=2.0) ...
5.17. tinderbox
Kommandot tinderbox liknar build men skriver all terminalutmatning till HTML-filer som är lämpliga för publicering på en webbplats. Det kan användas för att ställa in system liknande Mozillas Tinderbox eller Debians Buildd.
jhbuild tinderbox [--autogen] [--clean] [--distclean] [--no-network] [--output=katalog] [--skip=modul...] [--start-at=modul] [-D datum] [-C] [-N] [-f] [--nodeps] [modul...]
Flaggorna --autogen, --clean, --distclean, --no-network, --skip, --start-at, -D, -C, -N, -f och --nodeps behandlas på samma sätt som för kommandot build.
- -o, --output=katalog
-
Katalogen som HTML-filer skrivs till. JHBuild kommer att skapa ett index (index.html) och en HTML-fil för varje modul.
5.18. uninstall
Kommandot uninstall avinstallerar en eller flera moduler.
jhbuild uninstall modul...
5.19. update
Kommandot update liknar build men utför bara hämtnings- eller uppdateringssteget för moduler utan att bygga dem.
jhbuild update [--skip=modul...] [--start-at=modul] [--tags=taggar] [--ignore-suggests] [-D datum] [modul...]
Flaggorna --skip, --start-at, --tags, --ignore-suggests och -D behandlas på samma sätt som för kommandot build.
5.20. updateone
Kommandot updateone liknar update men det uppdaterar inte modulberoenden. Det är användbart för att uppdatera en eller flera moduler.
jhbuild updateone [-D datum] modul...
Flaggan -D behandlas på samma sätt som för kommandot build.
Åtminstone en modul måste listas på kommandoraden.