jhbuild r1820 - in trunk: . doc/C
- From: fpeters svn gnome org
- To: svn-commits-list gnome org
- Subject: jhbuild r1820 - in trunk: . doc/C
- Date: Wed, 16 Jan 2008 13:26:26 +0000 (GMT)
Author: fpeters
Date: Wed Jan 16 13:26:26 2008
New Revision: 1820
URL: http://svn.gnome.org/viewvc/jhbuild?rev=1820&view=rev
Log:
* doc/C/jhbuild.xml: updated documentation with contribution from David
Turner and some other minor updates by myself. (closes: #341169)
Modified:
trunk/ChangeLog
trunk/doc/C/jhbuild.xml
Modified: trunk/doc/C/jhbuild.xml
==============================================================================
--- trunk/doc/C/jhbuild.xml (original)
+++ trunk/doc/C/jhbuild.xml Wed Jan 16 13:26:26 2008
@@ -14,14 +14,26 @@
<firstname>C.J.</firstname>
<surname>Adams-Collier</surname>
</author>
+ <author>
+ <firstname>Frederic</firstname>
+ <surname>Peters</surname>
+ </author>
+ <author>
+ <firstname>David</firstname>
+ <surname>Turner</surname>
+ </author>
</authorgroup>
<copyright>
- <year>2004,2007</year>
+ <year>2004, 2008</year>
<holder>James Henstridge</holder>
</copyright>
<revhistory>
<revision>
+ <revnumber>JHBuild Manual v0.5</revnumber>
+ <date>January 2008</date>
+ </revision>
+ <revision>
<revnumber>JHBuild Manual v0.1</revnumber>
<date>August 2007</date>
</revision>
@@ -29,8 +41,8 @@
<abstract role="description">
<para>JHBuild is a tool used to build the whole GNOME desktop from the
- SVN source, however, it can be used to build other projects creating a
- moduleset for it.</para>
+ SVN source, however, it can be used to build other projects by
+ creating a moduleset for it.</para>
</abstract>
</articleinfo>
@@ -48,7 +60,7 @@
url="http://www.gnome.org">GNOME</ulink>, but has since been
extended to make it usable with other projects. A <quote>module
set</quote> file can be hosted on a web server, allowing people to
- provide build rules independent of the JHBuild.</para>
+ provide build rules independent of JHBuild.</para>
<para>JHBuild can build modules from a variety of sources,
including:</para>
@@ -100,8 +112,8 @@
<para>JHBuild takes a bit of work to set up on a system. As well
as installing JHBuild's prerequisites, it is necessary to install
- the prerequisite tools needed to build the software in CVS (or
- where ever else it is stored).</para>
+ the prerequisite tools needed to obtain and build the software
+ sources.</para>
<section id="getting-started-install">
<title>Installing JHBuild</title>
@@ -129,11 +141,24 @@
<computeroutput>...</computeroutput>
<prompt>$</prompt></screen>
- <para>This will download JHBuild into a
- <filename>jhbuild</filename> folder under the current
+ <para>This will download JHBuild into a new folder named
+ <filename>jhbuild</filename> under the current
directory. Now to build and install it:</para>
<screen><prompt>$</prompt> <userinput>cd jhbuild</userinput>
+<prompt>$</prompt> <userinput>./autogen.sh</userinput>
+<computeroutput>...</computeroutput>
+<prompt>$</prompt> <userinput>make</userinput>
+<computeroutput>...</computeroutput>
+<prompt>$</prompt> <userinput>make install</userinput>
+<computeroutput>...</computeroutput>
+<prompt>$</prompt></screen>
+
+ <para>Alternatively, if your work environment doesn't have autotools or
+ gnome-doc-utils installed you can also build and install it that
+ way:</para>
+
+ <screen><prompt>$</prompt> <userinput>cd jhbuild</userinput>
<prompt>$</prompt> <userinput>make -f Makefile.plain</userinput>
<computeroutput>...</computeroutput>
<prompt>$</prompt> <userinput>make -f Makefile.plain install</userinput>
@@ -143,13 +168,25 @@
<para>If these steps complete successfully, a small shell script
should be installed in <filename>~/bin</filename> to start
JHBuild. If this directory is not in the <envar>PATH</envar>,
- it will need to be added (possibly by editing
- <filename>~/.profile</filename> or
- <filename>~/.bashrc</filename>).</para>
-
- <para>Before JHBuild can be run, it will be necessary to set up
- a <filename>~/.jhbuildrc</filename> file that configures how
- JHBuild will behave.</para>
+ it will need to be added. This can be done with the command:</para>
+
+<screen><prompt>$</prompt> <userinput>PATH=$PATH:~/bin</userinput>
+<prompt>$</prompt></screen>
+
+ <para>This command will need to be run every time you login and
+ want to use jhbuild. In order to permanently add
+ <filename>~/bin</filename> to your <envar>PATH</envar> variable,
+ run the following command:</para>
+
+<screen>
+<prompt>$</prompt> <userinput>echo PATH=$PATH:~/bin >> ~/.bashrc
+</userinput>
+<prompt>$</prompt></screen>
+
+ <para>Before JHBuild can be run, it is necessary to set up a
+ configuration file, located at <filename>~/.jhbuildrc</filename>.
+ This file specifies JHBuild will behave.</para>
+
</section>
<section id="getting-started-configure">
@@ -161,7 +198,7 @@
this:</para>
<programlisting>
-moduleset = 'gnome-2.10'
+moduleset = 'gnome-2.22'
modules = [ 'meta-gnome-desktop' ]
checkoutroot = os.path.join(os.environ['HOME'], 'checkout', 'gnome2')
prefix = os.path.join(os.environ['HOME'], 'prefix')
@@ -169,15 +206,15 @@
'bin', 'install-check')
</programlisting>
- <para>This will get JHBuild to build the
- <application>meta-gnome-desktop</application> module (and its
- dependencies) from the <systemitem>gnome-2.10</systemitem> module
+ <para>This will make JHBuild build the
+ <application>meta-gnome-desktop</application> module and its
+ dependencies from the <systemitem>gnome-2.22</systemitem> module
set. It will unpack source trees to
- <filename>~/checkout/gnome2</filename> and install modules to
- <filename>~/prefix</filename>. It also sets the
- <envar>INSTALL</envar> environment variable to a program that
- handles installation of headers specially in order to decrease
- the work during a rebuild.</para>
+ <filename>~/checkout/gnome2</filename> and install all files to
+ subdirectories of <filename>~/prefix</filename>. It also sets the
+ <envar>INSTALL</envar> environment variable, so modules use a
+ different install program which handles installation of headers
+ differently, in order to reduce the time taken for rebuilds.</para>
<para>Some of configuration variables available include:</para>
@@ -186,12 +223,12 @@
<varlistentry>
<term><varname>moduleset</varname></term>
<listitem>
- <simpara>A string or list of strings giving the name(s) of
+ <simpara>A string or list of strings specifying the name(s) of
the module set(s) to use. If a module set name is a fully
qualified URL, then the module set will be cached locally
- and regularly updated. If two module sets contain a
- module with the same name, then the last module set listed
- wins.</simpara>
+ and regularly updated. If a module with the same name is
+ present in more than one module set, the last set listed
+ takes priority.</simpara>
</listitem>
</varlistentry>
<varlistentry>
@@ -199,22 +236,23 @@
<listitem>
<simpara>A list of strings giving the modules you want to
build. The list of modules actually built will be
- recursively expanded to include all the
- dependencies.</simpara>
+ recursively expanded to include all the dependencies
+ unless the <command>buildone</command> is used.</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><varname>checkoutroot</varname></term>
<listitem>
<simpara>The base directory where all source modules
- should be unpacked.</simpara>
+ are unpacked or checked out of revision control.</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><varname>prefix</varname></term>
<listitem>
<simpara>The directory prefix to install modules
- to.</simpara>
+ to. You must have write permissions to this directory, or
+ JHBuild will be unable to install files.</simpara>
</listitem>
</varlistentry>
<varlistentry>
@@ -222,46 +260,45 @@
<listitem>
<simpara>A dictionary representing the environment. This
can be used to set or get environment variable values as
- seen in the example above.</simpara>
+ shown in the example configuration above.</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><varname>skip</varname></term>
<listitem>
- <simpara>A list of module names that should not be
- included when deciding what to build. One use of this
- variable is to use the version of a package included with
- the distribution instead of building it</simpara>
+ <simpara>A list of module names that to not include when
+ deciding what to build. One use of this variable is to use
+ the version of a package included with the distribution
+ instead of building it</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><varname>autogenargs</varname></term>
<listitem>
- <simpara>A string listing arguments that should be passed
+ <simpara>A string listing additional arguments to pass
to the <command>autogen.sh</command> or
- <command>configure</command> scripts for
- modules.</simpara>
+ <command>configure</command> scripts for modules.</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><varname>makeargs</varname></term>
<listitem>
- <simpara>A string listing arguments that should be passed
- to <command>make</command>.</simpara>
+ <simpara>A string listing arguments to be pass
+ to the <command>make</command> command.</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><varname>repos</varname></term>
<listitem>
- <simpara>By default, JHBuild will check out code from repositories
- using an anonymous repository location. This dictionary is used to
- tell JHBuild to use an alternative repository location for a
- particular repository (a developer would probably want to
- do this). This variable is a dictionary where the keys
- are short repository names (for example, <systemitem
- class="systemname">svn.gnome.org</systemitem> is used for the
- GNOME SVN repository), and the values are the alternative
- repository location strings.</simpara>
+ <simpara>By default, JHBuild will check out code from
+ repositories using an anonymous repository location. This
+ dictionary is used to tell JHBuild to use an alternative
+ repository location for a particular repository (a developer
+ would probably want to do this). This variable is a
+ dictionary where the keys are short repository names (for
+ example,
+ <systemitem class="systemname">svn.gnome.org</systemitem>
+ is used for the GNOME SVN repository), and the values are the alternative repository location strings.</simpara>
</listitem>
</varlistentry>
</variablelist>
@@ -271,14 +308,17 @@
<title>Build Prerequisites</title>
<para>Before any modules can be built, it is necessary to have
- certain build tools installed. These include the GNU auto tools
+ certain build tools installed. These can include the GNU Autotools
(<application>autoconf</application>,
<application>automake</application>,
<application>libtool</application> and
- <application>gettext</application>), pkg-config and
- Python.</para>
+ <application>gettext</application>), The GNU Toolchain
+ (<application>binutils</application>,
+ <application>gcc</application>,
+ <application>g++</application>), pkg-config and
+ Python, depending on which modules will be built.</para>
- <para>JHBuild can check if your distro has installed these tools
+ <para>JHBuild can check if your system has these tools installed
using the <command>sanitycheck</command> command:</para>
<screen><prompt>$</prompt> <userinput>jhbuild sanitycheck</userinput></screen>
@@ -288,10 +328,10 @@
<orderedlist>
<listitem>
- <simpara>Install the required package from the
- distribution. The <command>sanitycheck</command> command
- should be run again afterwards to make sure everything is
- okay.</simpara>
+ <simpara>Install the required package from your distribution's
+ repository. The <command>sanitycheck</command> command
+ should be run again afterwards to make sure required tools
+ are present.</simpara>
</listitem>
<listitem>
<simpara>Run the <command>bootstrap</command> command to
@@ -311,13 +351,13 @@
<note>
<para>The <command>bootstrap</command> command does not build
- all the packages required by these tools. If the OS does not
- provide those packages, then they will need to be built
+ all the packages required by these tools. If your distribution
+ does not provide those packages, then they will need to be built
separately.</para>
<para>Some packages to check for include
<application>m4</application>, <application>perl</application>
- and a C compiler.</para>
+ and a C compiler (For example, <application>gcc</application>).</para>
</note>
</section>
@@ -332,31 +372,33 @@
<para>This will download, configure, compile and install each of
the modules. If an error occurs at any stage, JHBuild will
- present a menu asking the user what to do. These choices
- include dropping to a shell to fix the error, rerunning the
- build stage, giving up on the module (which will also cause any
- modules depending on it to fail), or ignore the error and
+ present a menu asking what to do. These choices
+ include dropping to a shell to fix the error, rerunning the build
+ from various stages, giving up on the module (which will also
+ cause any modules depending on it to fail), or ignore the error and
continue.</para>
<para>It is also possible to build a different set of modules
(and their dependencies) by passing their names as arguments to
- the <command>build</command> command:</para>
+ the <command>build</command> command, for example, to build gtk+:</para>
<screen><prompt>$</prompt> <userinput>jhbuild build gtk+</userinput></screen>
<para>If you exit JHBuild part way through a build for some
reason, it is possible to pick up a build at a particular
- package using the <option>--start-at</option> option:</para>
+ module using the <option>--start-at</option> option:</para>
<screen><prompt>$</prompt> <userinput>jhbuild build --start-at=pango</userinput></screen>
- <para>To build one or more modules, without their dependencies,
- the <command>buildone</command> command can be used:</para>
+ <para>To build one or more modules, ignoring their dependencies,
+ the <command>buildone</command> command can be used. This command
+ should only be used if you have manually installed all dependencies,
+ else the build will fail.</para>
<screen><prompt>$</prompt> <userinput>jhbuild buildone gtk+</userinput></screen>
- <para>To get a list of the modules jhbuild will build, and the
- order in which they will be built, use the
+ <para>To get a list of the modules and dependencies jhbuild will
+ build, and the order in which they will be built, use the
<command>list</command> command:</para>
<screen><prompt>$</prompt> <userinput>jhbuild list</userinput></screen>
@@ -366,14 +408,14 @@
<screen><prompt>$</prompt> <userinput>jhbuild info gtk+</userinput></screen>
- <para>If your internet bandwidth varies, you can get JHBuild to
- download or update all the software it will build in one go
- without actually building it:</para>
+ <para>If your internet bandwidth varies, or you wish to modify the
+ sources before building them, you can download or update all the
+ software sources without actually building them:</para>
<screen><prompt>$</prompt> <userinput>jhbuild update</userinput></screen>
<para>Later on, you can tell JHBuild to build everything without
- downloading or updating:</para>
+ downloading or updating the sources:</para>
<screen><prompt>$</prompt> <userinput>jhbuild build --no-network</userinput></screen>
@@ -383,7 +425,7 @@
<screen><prompt>$</prompt> <userinput>jhbuild run <replaceable>program</replaceable></userinput></screen>
- <para>To start a shell with that environment, use the
+ <para>To start a shell with the environment used by jhbuild, use the
<command>shell</command> command:</para>
<screen><prompt>$</prompt> <userinput>jhbuild shell</userinput></screen>
@@ -399,7 +441,7 @@
<cmdsynopsis>
<command>jhbuild</command>
<arg><replaceable>global-options</replaceable></arg>
- <arg choice="plain">command</arg>
+ <arg choice="plain"><replaceable>command</replaceable></arg>
<arg><replaceable>command-arguments</replaceable></arg>
</cmdsynopsis>
@@ -411,7 +453,7 @@
<replaceable>config</replaceable></term>
<listitem>
<simpara>Use an alternative configuration file, instead of
- the default <filename>~/.jhbuildrc</filename>.</simpara>
+ the default, <filename>~/.jhbuildrc</filename>.</simpara>
</listitem>
</varlistentry>
@@ -420,13 +462,67 @@
<replaceable>moduleset</replaceable></term>
<listitem>
<simpara>Use a module set other than the one listed in the
- configuration file.</simpara>
+ configuration file. This should be a relative path if the
+ module set is located in the jhbuild moduleset folder, or an
+ absolute path if it is located elsewhere.</simpara>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>--no-interact</option></term>
+ <listitem>
+ <simpara>Do not prompt the user for any input. This is useful
+ when leaving a build unattended, in order to ensure it is not
+ interrupted.</simpara>
</listitem>
</varlistentry>
</variablelist>
<para>Command specific options are listed below.</para>
+ <section id="command-reference-autobuild">
+ <title>autobuild</title>
+
+ <para>The <command>autobuild</command> command is used to
+ automatically build the modules specified in the configuration
+ file, and then upload the results to JhAutobuild.</para>
+
+ <cmdsynopsis>
+ <command>jhbuild autobuild</command>
+ <arg>--autogen</arg>
+ <arg>--clean</arg>
+ <arg rep="repeat">--skip=<replaceable>module</replaceable></arg>
+ <arg>--start-at=<replaceable>module</replaceable></arg>
+ <arg>--report-url=<replaceable>reporturl</replaceable></arg>
+ <arg>--verbose</arg>
+ </cmdsynopsis>
+
+ <para>The <option>--autogen</option>, <option>--clean</option>,
+ <option>--skip</option> and <option>--start-at</option> options
+ are processed in the same way as for the <command>build</command>
+ command.</para>
+
+ <variablelist>
+ <varlistentry>
+ <term><option>--report-url=<replaceable>reporturl</replaceable></option>,
+ <option>-r <replaceable>reporturl</replaceable></option></term>
+ <listitem>
+ <simpara>This option specifies the JhAutobuild URL which
+ JHBuild should report to</simpara>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>--verbose</option>, <option>-v</option></term>
+ <listitem>
+ <simpara>This option causes JHBuild's output to be more
+ verbose</simpara>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </section>
+
+
<section id="command-reference-bootstrap">
<title>bootstrap</title>
@@ -438,7 +534,7 @@
<command>jhbuild bootstrap</command>
</cmdsynopsis>
- <para>Internally <command>bootstrap</command> is implemented
+ <para>Internally, <command>bootstrap</command> is implemented
using the same code as <command>build</command>, using the
<filename>bootstrap.modules</filename> moduleset.</para>
@@ -454,10 +550,15 @@
<command>jhbuild build</command>
<arg>--autogen</arg>
<arg>--clean</arg>
+ <arg>--dist</arg>
+ <arg>--distcheck</arg>
<arg>--no-network</arg>
<arg rep="repeat">--skip=<replaceable>module</replaceable></arg>
<arg>--start-at=<replaceable>module</replaceable></arg>
<arg>-D <replaceable>date</replaceable></arg>
+ <arg>--no-xvfb</arg>
+ <arg>--try-checkout</arg>
+ <arg>--no-poison</arg>
<arg rep="repeat">module</arg>
</cmdsynopsis>
@@ -486,6 +587,22 @@
</varlistentry>
<varlistentry>
+ <term><option>-d</option>, <option>--dist</option></term>
+ <listitem>
+ <simpara>Run <command>make dist</command> after building
+ modules.</simpara>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>--distcheck</option></term>
+ <listitem>
+ <simpara>Run <command>make distcheck</command> after building
+ modules.</simpara>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
<term><option>-n</option>, <option>--no-network</option></term>
<listitem>
<simpara>Do not access the network when building modules.
@@ -526,6 +643,35 @@
ISO format.</simpara>
</listitem>
</varlistentry>
+
+ <varlistentry>
+ <term><option>-x</option>, <option>--no-xvfb</option></term>
+ <listitem>
+ <simpara>Run graphical tests on the actual X server rather
+ than in a simulated Xvfb</simpara>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>-C</option>,
+ <option>--try-checkout</option></term>
+ <listitem>
+ <simpara>If the build fails, and the version control system
+ supports it, force a checkout and run
+ <command>autogen.sh</command> before retrying the
+ build.</simpara>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>-N</option>, <option>--no-poison</option></term>
+ <listitem>
+ <simpara>If one or more of a module's dependencies failed,
+ this option forces jhbuild to try to build the module
+ anyway.</simpara>
+ </listitem>
+ </varlistentry>
+
</variablelist>
</section>
@@ -542,20 +688,47 @@
<command>jhbuild buildone</command>
<arg>--autogen</arg>
<arg>--clean</arg>
+ <arg>--distcheck</arg>
<arg>--no-network</arg>
<arg>-D <replaceable>date</replaceable></arg>
+ <arg>-x</arg>
<arg choice="plain" rep="repeat">module</arg>
</cmdsynopsis>
<para>The <option>--autogen</option>, <option>--clean</option>,
- <option>--no-network</option> and <option>-D</option> options
- are processed the same as for <command>build</command>.</para>
+ <option>-d</option>, <option>--distcheck</option>,
+ <option>--no-network</option>, <option>-D</option> and
+ <option>-x</option> options are processed in the same way as for the
+ <command>build</command> command.</para>
- <para>Unlike <command>build</command>, at least one module must
- be listed on the command line.</para>
+ <para>Unlike the <command>build</command> command, at least one
+ module must be listed on the command line.</para>
</section>
+ <section id="command-reference-checkbranches">
+ <title>checkbranches</title>
+
+ <para>The <command>checkbranches</command> checks the modules in
+ GNOME Subversion have the correct branch definition. For example,
+ if modules are marked as not having branched, jhbuild checks
+ this is true.</para>
+
+ <cmdsynopsis>
+ <command>jhbuild checkbranches</command>
+ <arg rep="repeat">--branch=<replaceable>branch</replaceable></arg>
+ </cmdsynopsis>
+
+ <variablelist>
+ <varlistentry>
+ <term><option>--branch</option>=<replaceable>branch</replaceable>, <option>-b</option> <replaceable>branch</replaceable></term>
+ <listitem>
+ <simpara>Specify the branch to check</simpara>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </section>
+
<section id="command-reference-dot">
<title>dot</title>
@@ -581,6 +754,22 @@
</section>
+ <section id="command-reference-gui">
+ <title>gui</title>
+
+ <para>The <command>gui</command> command starts a graphical
+ interface to jhbuild which can be used to select modules to
+ build and change some options.</para>
+
+ <cmdsynopsis>
+ <command>jhbuild gui</command>
+ </cmdsynopsis>
+
+ <para>The <command>gui</command> graphical interface is
+ rendered using GTK, so some extra support libraries will be
+ required</para>
+ </section>
+
<section id="command-reference-info">
<title>info</title>
@@ -608,7 +797,8 @@
<cmdsynopsis>
<command>jhbuild list</command>
- <arg>--show-revision</arg>
+ <arg>-r</arg>
+ <arg>-s</arg>
<arg rep="repeat">module</arg>
</cmdsynopsis>
@@ -625,6 +815,16 @@
name.</simpara>
</listitem>
</varlistentry>
+
+ <varlistentry>
+ <term><option>s</option>,
+ <option>--skip</option>=<replaceable>module,...</replaceable>
+ </term>
+ <listitem>
+ <simpara>Ignore the named modules when following
+ dependencies to expand the list of modules.</simpara>
+ </listitem>
+ </varlistentry>
</variablelist>
</section>
@@ -633,17 +833,29 @@
<title>run</title>
<para>The <command>run</command> command is used to run an
- arbitrary command using the same environment as JHBuild uses
+ arbitrary command using the same environment that JHBuild uses
when building modules.</para>
<cmdsynopsis>
<command>jhbuild run</command>
+ <arg>--in-builddir</arg>
<arg choice="plain"><replaceable>program</replaceable></arg>
<arg rep="repeat"><replaceable>argument</replaceable></arg>
</cmdsynopsis>
<para>If using JHBuild to build GNOME, this command can be
useful in X startup scripts.</para>
+
+ <variablelist>
+ <varlistentry>
+ <term><option>--in-builddir</option>=<replaceable>module</replaceable></term>
+ <listitem>
+ <simpara>Run the command in the build directory of the
+ specified module.</simpara>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
</section>
<section id="command-reference-sanitycheck">
@@ -717,12 +929,15 @@
<arg rep="repeat">--skip=<replaceable>module</replaceable></arg>
<arg>--start-at=<replaceable>module</replaceable></arg>
<arg>-D <replaceable>date</replaceable></arg>
+ <arg>-C</arg>
+ <arg>-N</arg>
<arg rep="repeat">module</arg>
</cmdsynopsis>
<para>The <option>--autogen</option>, <option>--clean</option>,
<option>--no-network</option>, <option>--skip</option>,
- <option>--start-at</option> and <option>-D</option> options are
+ <option>--start-at</option>, <option>-D</option>,
+ <option>-C</option> and <option>-N</option> options are
processed the same as for <command>build</command>.</para>
<variablelist>
@@ -776,12 +991,12 @@
<para>The <option>-D</option> option is processed the same as
for <command>update</command>.</para>
- <para>Unlike <command>update</command>, at least one module must
- be listed on the command line.</para>
+ <para>Unlike the <command>update</command> command, at least one
+ module must be listed on the command line.</para>
</section>
</section>
-
+
<section id="config-reference">
<title>Configuration File Reference</title>
@@ -801,7 +1016,7 @@
<listitem>
<simpara>If set to <constant>True</constant>, then always
run <command>autogen.sh</command> before
- <command>make</command> even if a makefile exists. This
+ <command>make</command>, even if a makefile exists. This
is equivalent to passing <option>--always-autogen</option>
option to JHBuild. Defaults to
<constant>False</constant>.</simpara>
@@ -818,6 +1033,16 @@
</listitem>
</varlistentry>
<varlistentry>
+ <term><varname>branches</varname></term>
+ <listitem>
+ <simpara>A dictionary that can be used to override the
+ branch used for a particular module. This is useful if
+ you are making some changes on a branch of a module and
+ want JHBuild to build that branch instead of the one
+ listed in the module set.</simpara>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
<term><varname>builddir_pattern</varname></term>
<listitem>
<simpara>A <function>printf</function> style formatting
@@ -838,6 +1063,27 @@
</listitem>
</varlistentry>
<varlistentry>
+ <term><varname>buildscript</varname></term>
+ <listitem>
+ <simpara>A string specifying which buildscript to use.
+ This should probably be left as the default,
+ <literal>terminal</literal>. In particular, do not
+ set to <literal>gtk</literal>.</simpara>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><varname>build_policy</varname></term>
+ <listitem>
+ <simpara>A string specifying which modules to build.
+ The three possible options are <literal>all</literal>, to
+ build all modules requested, <literal>updated</literal> to
+ build only modules which have changed, or
+ <literal>updated-deps</literal> to build modules which have
+ changed or which have dependencies which have changed.
+ Defaults to <literal>all</literal>.</simpara>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
<term><varname>checkoutroot</varname></term>
<listitem>
<simpara>A string giving the directory to unpack source
@@ -847,6 +1093,23 @@
</listitem>
</varlistentry>
<varlistentry>
+ <term><varname>checkout_mode</varname></term>
+ <listitem>
+ <simpara>A string specifying how the checkout is done for
+ directories in version control. Defaults to
+ <literal>update</literal>. This can be set per module
+ using <varname>module_checkout_mode</varname>.</simpara>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><varname>copy_dir</varname></term>
+ <listitem>
+ <simpara>A string specifying the directory to copy to, if
+ the copy checkout mode is in use. Defaults to the
+ checkout directory.</simpara>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
<term><varname>cvsroots</varname></term>
<listitem>
<simpara>A dictionary that can be used to change the CVS
@@ -859,13 +1122,20 @@
</listitem>
</varlistentry>
<varlistentry>
- <term><varname>branches</varname></term>
+ <term><varname>cvs_program</varname></term>
<listitem>
- <simpara>A dictionary that can be used to override the
- branch used for a particular module. This is useful if
- you are doing some changes on a branch of a module and
- want JHBuild to build that branch instead of the one
- listed in the module set.</simpara>
+ <simpara>A string specifying which program to use for
+ CVS support. Defaults to <literal>cvs</literal>.</simpara>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><varname>interact</varname></term>
+ <listitem>
+ <simpara>A boolean value specifying whether to interact
+ with the user. Setting this value to
+ <constant>False</constant> is equivalent to passing the
+ <option>--no-interact</option> option. Defaults to
+ <constant>True</constant></simpara>
</listitem>
</varlistentry>
<varlistentry>
@@ -896,21 +1166,53 @@
</listitem>
</varlistentry>
<varlistentry>
+ <term><varname>makedist</varname></term>
+ <listitem>
+ <simpara>A boolean value specifying whether to run
+ <command>make dist</command> after <command>make</command>.
+ Defaults to <constant>False</constant>. This setting is
+ equivalent to passing the <option>--dist</option>
+ option.</simpara>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><varname>makedistcheck</varname></term>
+ <listitem>
+ <simpara>A boolean value specifying whether to run
+ <command>make distcheck</command> after
+ <command>make</command>. Defaults to
+ <constant>False</constant>. This setting is equivalent to
+ passing the <option>--distcheck</option> option.</simpara>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
<term><varname>module_autogenargs</varname></term>
<listitem>
<simpara>A dictionary mapping module names to strings
giving arguments to be passed to
- <command>autogen.sh</command>. If a particular module
- isn't listed in the dictionary, the global
- <varname>autogenargs</varname> will be used
+ <command>autogen.sh</command>. The setting in
+ <varname>module_autogenargs</varname> is used instead of
+ the global <varname>autogenargs</varname> setting.
+ If a particular module isn't listed in the dictionary, the
+ global <varname>autogenargs</varname> will be used
instead.</simpara>
</listitem>
</varlistentry>
<varlistentry>
+ <term><varname>module_checkout_mode</varname></term>
+ <listitem>
+ <simpara>A dictionary specifying which checkout mode to
+ use for modules. This overrides the global
+ <varname>checkout_mode</varname> setting.</simpara>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
<term><varname>module_makeargs</varname></term>
<listitem>
<simpara>A dictionary mapping module names to strings
giving arguments to be passed to <command>make</command>.
+ The setting in <varname>module_makeargs</varname> replaces
+ the value of <varname>makeargs</varname>.
If a particular module isn't listed in the dictionary, the
global <varname>makeargs</varname> will be used
instead.</simpara>
@@ -929,17 +1231,27 @@
<term><varname>moduleset</varname></term>
<listitem>
<simpara>A string giving the name of the module set to
- use. This can either be a short string to refer to one of
- JHBuild's included module sets, or a full HTTP URL to
- refer to an externally managed module set. Currently
- defaults to <literal>'gnome-2.10'</literal>, but is
- usually updated as GNOME development progresses.</simpara>
+ use. This can either be the filename of a moduleset
+ included with JHBuild (excluding the path and extension),
+ or a full HTTP URL to refer to an externally managed
+ module set. Currently defaults to
+ <literal>'gnome-2.22'</literal>, but is usually updated
+ as GNOME development progresses.</simpara>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><varname>nobuild</varname></term>
+ <listitem>
+ <simpara>A boolean value which, if set to
+ <constant>True</constant> causes JHBuild to not actually
+ modules, but just download and unpack the sources. The
+ default vale is <constant>False</constant>.</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><varname>nonetwork</varname></term>
<listitem>
- <simpara>A boolean value saying whether to access the
+ <simpara>A boolean value specifying whether to access the
network or not. This affects checking out or updating CVS
modules, downloading tarballs and updating module sets.
Setting this to <constant>True</constant> is equivalent to
@@ -949,6 +1261,37 @@
</listitem>
</varlistentry>
<varlistentry>
+ <term><varname>nonotify</varname></term>
+ <listitem>
+ <simpara>A boolean value specifying whether to emit
+ notifications using the notification daemon. If set to
+ <constant>True</constant>, notifications are not emitted.
+ Defaults to <constant>False</constant>.</simpara>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><varname>nopoison</varname></term>
+ <listitem>
+ <simpara>A boolean value which, if set to
+ <constant>True</constant> causes JHBuild to try to build
+ modules even if one or more of the module's dependancies
+ failed to build. This option is equivalent to the
+ <option>--no-poison</option> argument. The default value is
+ <constant>False</constant>.</simpara>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><varname>noxvfb</varname></term>
+ <listitem>
+ <simpara>A boolean value which, if set to
+ <constant>True</constant> causes JHBuild to run any
+ graphical tests on the real X server, rather than using
+ <command>Xvfb</command>. This option is equivalent to
+ passing <option>--no-xvfb</option>. The default value is
+ <constant>False</constant></simpara>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
<term><varname>prefix</varname></term>
<listitem>
<simpara>A string giving the prefix to install modules to.
@@ -959,12 +1302,42 @@
<term><varname>pretty_print</varname></term>
<listitem>
<simpara>A boolean value that can be used to disable
- pretty printing of subprocess output. Currently there is
+ pretty formatting of subprocess output. Currently there is
only support for pretty printing CVS output. You probably
only want to disable this if the pretty printing causes
problems. Defaults to <literal>True</literal>.</simpara>
</listitem>
</varlistentry>
+ <varlistentry>
+ <term><varname>progress_bar</varname></term>
+ <listitem>
+ <simpara>A boolean value that can be used to display a progress bar
+ when running in quiet mode (see below). Defaults to
+ <literal>True</literal>.</simpara>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><varname>quiet_mode</varname></term>
+ <listitem>
+ <simpara>A boolean value that can be used to disable
+ output of running commands. Defaults to
+ <literal>False</literal>.</simpara>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><varname>repos</varname></term>
+ <listitem>
+ <simpara>By default, JHBuild will check out code from
+ repositories using an anonymous repository location. This
+ dictionary is used to tell JHBuild to use an alternative
+ repository location for a particular repository (a developer
+ would probably want to do this). This variable is a
+ dictionary where the keys are short repository names (for
+ example,
+ <systemitem class="systemname">svn.gnome.org</systemitem>
+ is used for the GNOME SVN repository), and the values are the alternative repository location strings.</simpara>
+ </listitem>
+ </varlistentry>
<varlistentry>
<term><varname>skip</varname></term>
<listitem>
@@ -993,12 +1366,21 @@
</listitem>
</varlistentry>
<varlistentry>
+ <term><varname>svn_program</varname></term>
+ <listitem>
+ <simpara>A string specifying which program to use for
+ subversion support. This can be <literal>svn</literal>
+ or <literal>bzr</literal>. Defaults to
+ <literal>svn</literal>.</simpara>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
<term><varname>tarballdir</varname></term>
<listitem>
<simpara>If set, tarballs will be downloaded to this
directory instead of <varname>checkoutroot</varname>.
This is useful if you have multiple JHBuild environments
- or regularly blow away your
+ or regularly clear out your
<varname>checkoutroot</varname> and want to reduce
bandwidth usage.</simpara>
</listitem>
@@ -1015,6 +1397,17 @@
</listitem>
</varlistentry>
<varlistentry>
+ <term><varname>trycheckout</varname></term>
+ <listitem>
+ <simpara>A boolean option which if set to
+ <constant>True</constant>, causes JHBuild to try checking
+ out a newer version of a module from version control and
+ running <command>autogen.sh</command>, if the module fails
+ to build. This option is equivalent to passing
+ <option>--try-checkout</option>.</simpara>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
<term><varname>use_lib64</varname></term>
<listitem>
<simpara>A boolean value that specifies whether to install
@@ -1028,6 +1421,14 @@
<constant>False</constant> on other systems.</simpara>
</listitem>
</varlistentry>
+ <varlistentry>
+ <term><varname>xvfbargs</varname></term>
+ <listitem>
+ <simpara>A string listing arguments to pass to
+ <command>Xvfb</command> if running graphical tests using
+ it.</simpara>
+ </listitem>
+ </varlistentry>
</variablelist>
</section>
@@ -1089,10 +1490,10 @@
<section id="moduleset-syntax">
<title>Module Set File Syntax</title>
- <para>JHBuild uses simple XML files to describe the dependencies
+ <para>JHBuild uses XML files to describe the dependencies
between modules. A RELAX-NG schema and Document Type Definition
are included with JHBuild in the <filename>modulesets/</filename>
- directory. The RELAX-NG schema makes it trivial to edit module
+ directory. The RELAX-NG schema can be used to edit module
set files using <literal>nxml-mode</literal> in Emacs.</para>
<para>The toplevel element in a module set file is <sgmltag
@@ -1113,10 +1514,85 @@
developers and users to use different repository access
methods).</para>
+ <section id="moduleset-syntax-sources-repository">
+ <title>repository</title>
+
+ <para>The <sgmltag class="element">repository</sgmltag>
+ element is used to describe all types of repository.</para>
+
+<programlisting>
+<repository name="<replaceable>name</replaceable>"
+type="<replaceable>type</replaceable>"
+[ default="<replaceable>default</replaceable>" ]
+[ password="<replaceable>password</replaceable>" ]
+[ cvsroot="<replaceable>cvsroot</replaceable>" ]
+[ archive="<replaceable>archive</replaceable>" ]
+[ href="<replaceable>href</replaceable>" ]
+[ server="<replaceable>server</replaceable>" ]
+[ database="<replaceable>database</replaceable>" ]
+[ defbranch="<replaceable>defbranch</replaceable>" ]
+[ developer-href-example="<replaceable>developer-href-example</replaceable>" ] />
+</programlisting>
+
+ <para>The <sgmltag class="attribute">name</sgmltag> attribute
+ is a unique identifier for the repository.</para>
+
+ <para>The <sgmltag class="attribute">type</sgmltag> attribute
+ specifies the type of repository. It can be one of:
+ <literal>ch</literal>, <literal>bzr</literal>,
+ <literal>cvs</literal>, <literal>darcs</literal>,
+ <literal>git</literal>, <literal>hg</literal>,
+ <literal>svn</literal>, <literal>tarball</literal>,
+ <literal>arch</literal>, <literal>mtn</literal>.</para>
+
+ <para>The <sgmltag class="attribute">default</sgmltag>
+ attribute specifies whether this repository is the default
+ source for this module set.</para>
+
+ <para>The <sgmltag class="attribute">password</sgmltag>
+ attribute is used to specify the password to the repository.
+ This attribute is only used by CVS repositories.</para>
+
+ <para>The <sgmltag class="attribute">cvsroot</sgmltag>
+ attribute is used to specify the root of the CVS repository.
+ This attribute is only ued by CVS repositories.</para>
+
+ <para>The <sgmltag class="attribute">archive</sgmltag>
+ attribute is used to specify the archive to use. This
+ attribute is only used by Arch repositories.</para>
+
+ <para>The <sgmltag class="attribute">href</sgmltag>
+ attribute is used to specify the URL of the repository.
+ This attribute is only used by Arch repositories.</para>
+
+ <para>The <sgmltag class="attribute">server</sgmltag>
+ attribute is used to specify the repository server.
+ This attribute is only used by Monotone repositories.</para>
+
+ <para>The <sgmltag class="attribute">database</sgmltag>
+ attribute is used to specify the database to use for
+ the repository. This attribute is only used by
+ Monotone repositories.</para>
+
+ <para>The <sgmltag class="attribute">defbranch</sgmltag>
+ attribute is used specify the branch of the repository
+ to use. This attribute is only used by Monotone
+ repositories.</para>
+
+ <para>The <sgmltag class="attribute">developer-href-example</sgmltag>
+ attribute is used to specify the format of the URL for
+ the repository used by developers.</para>
+ </section>
+
<section id="moduleset-syntax-sources-cvsroot">
<title>cvsroot</title>
<para>The <sgmltag class="element">cvsroot</sgmltag> element
+ is now deprecated - the
+ <sgmltag class="element">repository</sgmltag> element should
+ be used instead.</para>
+
+ <para>The <sgmltag class="element">cvsroot</sgmltag> element
is used to describe a CVS repository.</para>
<programlisting>
@@ -1129,7 +1605,7 @@
<para>The <sgmltag class="attribute">name</sgmltag> attribute
should be a unique identifier for the CVS repository.</para>
- <para>If <sgmltag class="attribute">default</sgmltag>
+ <para>The <sgmltag class="attribute">default</sgmltag>
attribute says whether this is the default module source for
this module set file.</para>
@@ -1144,6 +1620,11 @@
<title>svnroot</title>
<para>The <sgmltag class="element">svnroot</sgmltag> element
+ is now deprecated - the
+ <sgmltag class="element">repository</sgmltag> element should
+ be used instead.</para>
+
+ <para>The <sgmltag class="element">svnroot</sgmltag> element
is used to describe a Subversion repository.</para>
<programlisting>
@@ -1170,6 +1651,12 @@
<title>arch-archive</title>
<para>The <sgmltag class="element">arch-archive</sgmltag> element
+ is now deprecated - the
+ <sgmltag class="element">repository</sgmltag> element should
+ be used instead.</para>
+
+
+ <para>The <sgmltag class="element">arch-archive</sgmltag> element
is used to describe a GNU Arch archive.</para>
<programlisting>
@@ -1223,6 +1710,10 @@
<title>cvsmodule</title>
<para>The <sgmltag class="element">cvsmodule</sgmltag> element
+ is now deprecated. The appropriate build system's module should
+ be used instead.</para>
+
+ <para>The <sgmltag class="element">cvsmodule</sgmltag> element
is used to define a module that is to be built from
CVS.</para>
@@ -1242,6 +1733,10 @@
<dep package="<replaceable>modulename</replaceable>"/>
...
</suggests>
+ <after>
+ <dep package="<replaceable>modulename</replaceable>"/>
+ ...
+ >
</cvsmodule>
</programlisting>
@@ -1268,8 +1763,9 @@
attribute is used to mark modules that can't be cleanly built
using a separate source directory.</para>
- <para>The <sgmltag class="element">dependencies</sgmltag> and
- <sgmltag class="element">suggests</sgmltag> elements are used
+ <para>The <sgmltag class="element">dependencies</sgmltag>,
+ <sgmltag class="element">suggests</sgmltag> and
+ <sgmltag class="element">after</sgmltag> elements are used
to declare the dependencies of the module. Any modules listed
in the <sgmltag class="element">dependencies</sgmltag> element
will be added to the module list for <command>jhbuild
@@ -1288,6 +1784,10 @@
<title>svnmodule</title>
<para>The <sgmltag class="element">svnmodule</sgmltag> element
+ is now deprecated. The appropriate build system's module should
+ be used instead.</para>
+
+ <para>The <sgmltag class="element">svnmodule</sgmltag> element
is used to define a module that is to be built from
Subversion.</para>
@@ -1306,6 +1806,10 @@
<dep package="<replaceable>modulename</replaceable>"/>
...
</suggests>
+ <after>
+ <dep package="<replaceable>modulename</replaceable>"/>
+ ...
+ </after>
</svnmodule>
</programlisting>
<para>The <sgmltag class="attribute">module</sgmltag>
@@ -1320,6 +1824,10 @@
<title>archmodule</title>
<para>The <sgmltag class="element">archmodule</sgmltag> element
+ is now deprecated. The appropriate build system's module should
+ be used instead.</para>
+
+ <para>The <sgmltag class="element">archmodule</sgmltag> element
is used to define a module that is to be built from
a GNU Arch archive.</para>
@@ -1338,6 +1846,10 @@
<dep package="<replaceable>modulename</replaceable>"/>
...
</suggests>
+ <after>
+ <dep package="<replaceable>modulename</replaceable>"/>
+ ...
+ </after>
</archmodule>
</programlisting>
<para>The <sgmltag class="attribute">version</sgmltag>
@@ -1358,8 +1870,10 @@
<programlisting>
<tarball id="<replaceable>modulename</replaceable>"
[ version="<replaceable>version</replaceable>" ]
+ [ checkourdir="<replaceable>checkoutdir</replaceable>" ]
[ autogenargs="<replaceable>autogenargs</replaceable>" ]
[ makeargs="<replaceable>makeargs</replaceable>" ]
+ [ autogen-sh="<replaceable>autogen-sh</replaceable>" ]
[ supports-non-srcdir-builds="<replaceable>yes|no</replaceable>" ]>
<source href="<replaceable>source-url</replaceable>"
[ size="<replaceable>source-size</replaceable>" ]
@@ -1381,12 +1895,13 @@
<para>The <sgmltag class="attribute">id</sgmltag> and <sgmltag
class="attribute">version</sgmltag> attributes are used to
identify the module.</para>
+
<para>The <sgmltag class="element">source</sgmltag> element
specifies the file to download and compile. The <sgmltag
class="attribute">href</sgmltag> attribute is mandatory, while
the <sgmltag class="attribute">size</sgmltag> and <sgmltag
class="attribute">md5sum</sgmltag> attributes are optional.
- If the last two attributes are present, they are used to check
+ If these last two attributes are present, they are used to check
that the source package was downloaded correctly.</para>
<para>The <sgmltag class="element">patches</sgmltag> element
@@ -1414,14 +1929,251 @@
class="element">cvsmodule</sgmltag></link>.</para>
</section>
+ <section id="moduleset-syntax-defs-autotools">
+ <title>autotools</title>
+
+ <para>The <sgmltag class="element">autotools</sgmltag>
+ element is used to define a module which is compiled using
+ the GNU Autotools build system.</para>
+
+ <programlisting>
+<autotools id="<replaceable>id</replaceable>"
+ [ autogenargs="<replaceable>autogenargs</replaceable>" ]
+ [ makeargs="<replaceable>makeargs</replaceable>" ]
+ [ makeinstallargs="<replaceable>makeinstallargs</replaceable>" ]
+ [ autogen-sh="<replaceable>autogen-sh</replaceable>" ]
+ [ makefile="<replaceable>makefile</replaceable>" ]
+ [ skip-autogen="<replaceable>skip-autogen</replaceable>" ]
+ [ supports-non-srcdir-builds="<replaceable>supports-non-srcdir-builds</replaceable>" ]>
+
+<branch [ repo="<replaceable>repo</replaceable>" ]
+ [ module="<replaceable>module</replaceable>" ]
+ [ checkoutdir="<replaceable>checkoutdir</replaceable>" ]
+ [ override-checkoutdir="<replaceable>yes</replaceable>" ]
+ [ update-new-dirs="<replaceable>yes</replaceable>" ]
+ [ revision="<replaceable>revision</replaceable>" ]
+ [ tag="<replaceable>tag</replaceable>" ]
+ [ version="<replaceable>version</replaceable>" ]
+ [ size="<replaceable>size</replaceable>" ]
+ [ md5sum="<replaceable>md5sum</replaceable>" ]>
+
+<patch file="<replaceable>file</replaceable>"
+ [ strip="<replaceable>0</replaceable>" ] />
+
+</branch>
+
+</autotools>
+ </programlisting>
+
+ <para>The <sgmltag class="attribute">autogenargs</sgmltag> and
+ <sgmltag class="attribute">makeargs</sgmltag> and
+ <sgmltag class="attribute">makeinstallargs</sgmltag>
+ attributes are used to specify additional arguments to pass to
+ <command>autogen.sh</command>, <command>make</command> and
+ <command>make install</command> respectively.</para>
+
+ <para>The <sgmltag class="attribute">autogen-sh</sgmltag>
+ attribute specifies the name of the autogen.sh script to run.
+ <sgmltag class="attribute">skip-autogen</sgmltag> chooses whether
+ or not to run autogen.sh.
+ <sgmltag class="attribute">makefile</sgmltag> specifies the
+ filename of the makefile to use.</para>
+
+ <para>The other attributes and the <sgmltag
+ class="element">dependencies</sgmltag> and <sgmltag
+ class="element">suggests</sgmltag> sub-elements are processed
+ as for <link
+ linkend="moduleset-syntax-defs-cvsmodule"><sgmltag
+ class="element">cvsmodule</sgmltag></link>.</para>
+ </section>
+
+
+
+ <section id="moduleset-syntax-defs-distutils">
+ <title>distutils</title>
+
+ <para>The <sgmltag class="element">distutils</sgmltag> element
+ is used to define a module which is built using python's
+ distutils</para>
+
+ <programlisting>
+<distutils id="<replaceable>modulename</replaceable>"
+ [ supports-non-srcdir-builds="<replaceable>yes|no</replaceable>" ]>
+ <dependencies>
+ <dep package="<replaceable>modulename</replaceable>"/>
+ ...
+ </dependencies>
+ <after>
+ <dep package="<replaceable>modulename</replaceable>"/>
+ ...
+ </after>
+
+ <branch [ repo="<replaceable>repo</replaceable>" ]
+ [ module="<replaceable>module</replaceable>" ]
+ [ checkoutdir="<replaceable>checkoutdir</replaceable>" ]
+ [ override-checkoutdir="<replaceable>yes</replaceable>" ]
+ [ update-new-dirs="<replaceable>yes</replaceable>" ]
+ [ revision="<replaceable>revision</replaceable>" ]
+ [ tag="<replaceable>tag</replaceable>" ]
+ [ version="<replaceable>version</replaceable>" ]
+ [ size="<replaceable>size</replaceable>" ]
+ [ md5sum="<replaceable>md5sum</replaceable>" ]>
+
+ <patch file="<replaceable>file</replaceable>"
+ [ strip="<replaceable>0</replaceable>" ] />
+
+</branch>
+
+
+</distutils>
+</programlisting>
+
+ </section>
+
+ <section id="moduleset-syntax-defs-linux">
+ <title>linux</title>
+
+ <para>The <sgmltag class="element">linux</sgmltag>
+ element defines a module used to build a linux kernel.
+ In addition, a separate kernel configuration can be
+ chosen using the <sgmltag class="element">kconfig</sgmltag>
+ subelement.</para>
+
+ <programlisting>
+<linux id="<replaceable>id</replaceable>"
+ [ makeargs="<replaceable>makeargs</replaceable>" ]>
+
+ <dependencies>
+ <dep package="<replaceable>modulename</replaceable>"/>
+ ...
+ </dependencies>
+ <after>
+ <dep package="<replaceable>modulename</replaceable>"/>
+ ...
+ </after>
+
+ <branch [ repo="<replaceable>repo</replaceable>" ]
+ [ module="<replaceable>module</replaceable>" ]
+ [ checkoutdir="<replaceable>checkoutdir</replaceable>" ]
+ [ override-checkoutdir="<replaceable>yes</replaceable>" ]
+ [ update-new-dirs="<replaceable>yes</replaceable>" ]
+ [ revision="<replaceable>revision</replaceable>" ]
+ [ tag="<replaceable>tag</replaceable>" ]
+ [ version="<replaceable>version</replaceable>" ]
+ [ size="<replaceable>size</replaceable>" ]
+ [ md5sum="<replaceable>md5sum</replaceable>" ]>
+
+ <patch file="<replaceable>file</replaceable>"
+ [ strip="<replaceable>0</replaceable>" ] />
+
+</branch>
+
+<kconfig [ repo="<replaceable>repo</replaceable>" ]
+ version="<replaceable>version</replaceable>"
+ [ module="<replaceable>module</replaceable>" ]
+ [ config="<replaceable>config</replaceable>" ] />
+
+</linux>
+ </programlisting>
+
+ </section>
+
+ <section id="moduleset-syntax-defs-perl">
+ <title>perl</title>
+
+ <para>The <sgmltag class="element">perl</sgmltag> element
+ is used to build perl modules.</para>
+
+ <programlisting>
+<perl id="<replaceable>perl</replaceable>"
+ [ makeargs="<replaceable>makeargs</replaceable>" ]>
+
+ <dependencies>
+ <dep package="<replaceable>modulename</replaceable>"/>
+ ...
+ </dependencies>
+ <after>
+ <dep package="<replaceable>modulename</replaceable>"/>
+ ...
+ </after>
+
+ <branch [ repo="<replaceable>repo</replaceable>" ]
+ [ module="<replaceable>module</replaceable>" ]
+ [ checkoutdir="<replaceable>checkoutdir</replaceable>" ]
+ [ override-checkoutdir="<replaceable>yes</replaceable>" ]
+ [ update-new-dirs="<replaceable>yes</replaceable>" ]
+ [ revision="<replaceable>revision</replaceable>" ]
+ [ tag="<replaceable>tag</replaceable>" ]
+ [ version="<replaceable>version</replaceable>" ]
+ [ size="<replaceable>size</replaceable>" ]
+ [ md5sum="<replaceable>md5sum</replaceable>" ]>
+
+ <patch file="<replaceable>file</replaceable>"
+ [ strip="<replaceable>0</replaceable>" ] />
+
+</branch>
+
+</perl>
+ </programlisting>
+ </section>
+
+ <section id="moduleset-syntax-defs-testmodule">
+ <title>testmodule</title>
+
+ <para>The <sgmltag class="element">testmodule</sgmltag>
+ element is used to create a module which runs a suite of
+ tests using LDTP or Dogtail.</para>
+
+ <programlisting>
+<testmodule id="<replaceable>id</replaceable>"
+ type="<replaceable>type</replaceable>">
+
+ <dependencies>
+ <dep package="<replaceable>modulename</replaceable>"/>
+ ...
+ </dependencies>
+ <after>
+ <dep package="<replaceable>modulename</replaceable>"/>
+ ...
+ </after>
+
+ <branch [ repo="<replaceable>repo</replaceable>" ]
+ [ module="<replaceable>module</replaceable>" ]
+ [ checkoutdir="<replaceable>checkoutdir</replaceable>" ]
+ [ override-checkoutdir="<replaceable>yes</replaceable>" ]
+ [ update-new-dirs="<replaceable>yes</replaceable>" ]
+ [ revision="<replaceable>revision</replaceable>" ]
+ [ tag="<replaceable>tag</replaceable>" ]
+ [ version="<replaceable>version</replaceable>" ]
+ [ size="<replaceable>size</replaceable>" ]
+ [ md5sum="<replaceable>md5sum</replaceable>" ]>
+
+ <patch file="<replaceable>file</replaceable>"
+ [ strip="<replaceable>0</replaceable>" ] />
+
+</branch>
+
+<testedmodules>
+<tested package="<replaceable>package</replaceable>" />
+</testedmodules>
+
+</testmodule>
+ </programlisting>
+
+ </section>
+
<section id="moduleset-syntax-defs-metamodule">
<title>metamodule</title>
<para>The <sgmltag class="element">metamodule</sgmltag>
- element defines a module that doesn't actually do anythin.
+ element defines a module that doesn't actually do anything.
The only purpose of a module of this type is its
dependencies.</para>
+ <para>For example, meta-gnome-desktop depends on all the key
+ components of the GNOME desktop, therefore telling JHBuild to
+ install it actually installs the full desktop.</para>
+
<programlisting>
<metamodule id="<replaceable>modulename</replaceable>">
<dependencies>
@@ -1505,8 +2257,7 @@
JHBuild will display an icon in the system tray. The icon
will display the current build stage, and the tooltip will
show the last message from JHBuild.</para>
- <para>In the future, the icon may get support for popping
- up a balloon on error.</para>
+ <para>The icon will also pop up a balloon on error.</para>
</answer>
</qandaentry>
</qandadiv>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]