added dependencies of evolution. (GNOME bug 617099)
[jhbuild.git] / README
blob3b95f0a3cd7ee80481e7c86a13f99f87976723bf
1 JHBuild README
2 ================================
4 JHBuild is a tool designed to ease building collections of source
5 packages, called “modules”.
7 JHBuild was originally written for building GNOME, but has since been
8 extended to be usable with other projects.
10 JHBuild requires Python >= 2.3
12 Installing JHBuild
13 -----------
15 Refer to the 'Getting Started' section of the JHBuild manual:
17   gnome-help ghelp:/jhbuild-source-dir/doc/C/jhbuild.xml
19 where 'jhbuild-source-dir' is the full path to the JHBuild source
20 directory.
22 Or refer to the on-line JHBuild manual at:
24   http://library.gnome.org/devel/jhbuild/stable/getting-started.html.en
26 Using JHBuild
27 -------------
29 JHBuild uses a command line syntax similar to tools like CVS:
31   jhbuild [global-options] command [command-arguments]
33 The global JHBuild options are:
35   -f, --file config
36   Use an alternative configuration file instead of the default ~/.jhbuildrc.
38   -m, --moduleset moduleset
39   Use a module set other than the module set listed in the
40   configuration file. This option can be a relative path if the module
41   set is located in the JHBuild moduleset folder, or an absolute path
42   if located elsewhere.
44   --no-interact
45   Do not prompt the user for any input. This option is useful if
46   leaving a build unattended, in order to ensure the build is not
47   interrupted.
49 Refer to the JHBuild manual for a complete list of JHBuild commands
50 and options. The common ones are:
52 jhbuild bootstrap
54   The bootstrap command installs a set of build utilities required to
55   build most modules (e.g. autoconf, automake, etc).
57 jhbuild build [--autogen] [--clean] [--dist] [--distcheck]
58   [--ignore-suggests] [--no-network] [--skip=module...]
59   [--start-at=module] [--tags=tags] [-D date] [--no-xvfb]
60   [--try-checkout] [--no-poison] [--force] [--build-optional-modules]
61   [--min-age=time] [module...]
63   The build command builds one or more packages, including their
64   dependencies.
66   If no module names are provided on the command line, the modules
67   list from the configuration file will be used.
69   -a, --autogen
70   Always run autogen.sh before building modules. By default,
71   autogen.sh will only be called if the top-level makefile is
72   missing. Otherwise, JHBuild relies on the package's makefiles to
73   detect if configure needs to be rebuilt or rerun.
75   -c, --clean
76   Run make clean before building modules.
78   -d, --dist
79   Run make dist after building modules.
81   --distcheck
82   Run make distcheck after building modules.
84   --ignore-suggests
85   Do not build soft dependencies.
87   -n, --no-network
88   Do not access the network when building modules. This will skip
89   download or update stages in a build. If a module can't be built
90   without network access, the module build will fail.
92   -s, --skip=module,...
93   Do not build the listed modules. Used to skip the building of
94   specified dependencies.
96   --tags=tag,...
97   Ignore modules that do not match tag. Modules are automatically
98   attributed a tag matching the name of the module's module set.
100   -t, --start-at=module
101   Start at the named module rather than at the beginning of the
102   list. This option is useful if the build was interrupted.
104   -D date
105   If supported by the underlying version control system, update the
106   source tree to the specified date before building. An ISO date
107   format is required, e.g. "2009-09-18 02:32Z".
109   -x, --no-xvfb
110   Run graphical tests on the actual X server rather than in a
111   simulated Xvfb.
113   -C, --try-checkout
114   If the build fails, and if supported by the version control system,
115   force a checkout and run autogen.sh before retrying the build.
117   -N, --no-poison
118   If one or more of a module's dependencies failed, this option forces
119   JHBuild to try to build the module anyway.
121   -f, --force
122   Build the modules even if policy states it is not required.
124   --build-optional-modules
125   Modules listed as optional dependencies, may not be required to
126   build the module. This option forces JHBuild to build optional
127   dependencies.
129   --min-time=time
130   Skip modules installed more recently than the specified relative
131   time. The time string format is a number followed by a unit. The
132   following units are supported: seconds (s), minutes (m), hours (h)
133   and days (d). For example, --min-time=2h will skip modules built
134   less than two hours ago.
136 jhbuild buildone [--autogen] [--clean] [--distcheck] [--no-network]
137   [-D date] [--no-xvfb] [--force] [--min-age=time] module...
139   The buildone command is similar to build, but it does not build the
140   dependent modules. It is useful for rebuilding one or more modules.
142 jhbuild sanitycheck
144   The sanitycheck command performs a number of checks to verify the
145   build environment is okay.
147 For details of all jbhuild's command line options:
148   jhbuild --help
150 Reporting Bugs
151 --------------
153 If you find any bugs in JHBuild, or have feature requests (or
154 implementations :), please file them in bugzilla at:
156   http://bugzilla.gnome.org/enter_bug.cgi?product=jhbuild
158 This will ensure your request is not lost.