You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
862 lines
34 KiB
862 lines
34 KiB
<html> |
|
<head> |
|
<!-- |
|
Documentation written by Michael Pyne. |
|
--> |
|
<title>kdecvs-build Documentation</title> |
|
<style> |
|
<!-- |
|
body { |
|
background : #BCF; |
|
} |
|
|
|
a { |
|
padding: 2px; |
|
} |
|
|
|
a:hover { |
|
background : #FFFFC0; |
|
margin: -1px; |
|
border : solid black 1px; |
|
} |
|
|
|
--> |
|
</style> |
|
</head> |
|
<body> |
|
<div> |
|
<h3>kdecvs-build Reference</h3> |
|
|
|
You should always be able to find the latest version of this file at |
|
<a href="http://grammarian.homelinux.net/kdecvs-build/">http://grammarian.homelinux.net/kdecvs-build/</a> |
|
<ol> |
|
<!--REMOVE_FOR_INDEX |
|
<li><a href="#download">Download</a></li> |
|
REMOVE_FOR_INDEX--> |
|
<li><a href="#intro">Introduction</a></li> |
|
<li><a href="#features">Features</a></li> |
|
<li><a href="#.kdecvs-buildrc">Configuration File</a></li> |
|
<li><a href="#options">Configuration File Options</a></li> |
|
<li><a href="#cmdline">Command-line Options</a></li> |
|
<li><a href="#envvars">Environment Variables Used</a></li> |
|
</ol> |
|
|
|
<!--REMOVE_FOR_INDEX |
|
<a name="download"></a> |
|
<h3>Download</h3> |
|
<p>The current version is <b>$VERSION</b>.<br/><br/> |
|
Download <a href="kdecvs-build-$VERSION.tar.gz">kdecvs-build v$VERSION: ($SIZE)</a><br/> |
|
The file includes the script, documentation, and a sample configuration file. |
|
</p> |
|
<p>You can also download kdecvs-manager, a GUI configuration tool for the |
|
script. <a href="kdecvsmanager-0.5.tar.bz2">kdecvs-manager-0.5.tar.bz2: (622.1K)</a><br/> |
|
It uses the standard configure/make/make install motif, and includes a help |
|
handbook. |
|
</p> |
|
REMOVE_FOR_INDEX--> |
|
<a name="intro"></a> |
|
<h3>Introduction</h3> |
|
<p>kdecvs-build is a Perl script to help users install <a href="http://www.kde.org/">KDE</a> from |
|
<A href="http://www.cvshome.org/">CVS</A>. Unlike the two scripts available at |
|
<a href="http://developer.kde.org/build/compile_cvs.html">http://developer.kde.org/build/compile_cvs.html</a>, |
|
this script neither requires nor uses <a href="http://www.cvsup.org/">CVSup</a>, for |
|
those who either can't or don't feel like installing it.</p> |
|
|
|
<p id="emailaddy">It is authored by Michael Pyne (mpyne (AT) grammarian (DOT) homelinux |
|
(DOT) net), and is one of several build scripts for this purpose.</p> |
|
|
|
<p><b>?</b> v0.86<br/> |
|
New features: |
|
<ul> |
|
<li>kdecvs-build has been updated to work the latest unsermake from kdenonbeta. |
|
Note that the old unsermake will no longer work. kdecvs-build by default automatically |
|
updates unsermake and uses the latest version, so this change shouldn't affect you much. |
|
</li> |
|
<li>Don't append make options to the make command when installing anymore, as sometimes it |
|
seems to confuse unsermake.</li> |
|
</ul> |
|
|
|
<p><b>2004-Sep-20:</b> v0.85<br/> |
|
New features: |
|
<ul> |
|
<li>kdecvs-pywizard, the include PyQt-based configuration wizard, has been |
|
tweaked a little. The catch, of course, is that you must already have both |
|
Qt and PyQt installed. You may want to consider the <a |
|
href="http://grammarian.homelinux.net/cgi-bin/kdecvs-build-wizard">online |
|
configuration wizard</a></li> |
|
</ul> |
|
|
|
Bugfixes: |
|
<ul> |
|
<li>Modules build in the correct order again.</li> |
|
<li>Add information on failed installations to the summary.</li> |
|
<li>Don't show about packages that successfully built if none did so.</li> |
|
<li>Fix brokenness with <a href="conf-make-install-prefix">make-install-prefix</a> |
|
option.</li> |
|
</ul> |
|
|
|
<p><b>2004-Sep-17:</b> v0.84<br/> |
|
New features: |
|
<ul> |
|
<li><p>You can quickly update and/or build a specific subdirectory within a |
|
module at the command line. This corresponds to the <a |
|
href="#conf-checkout-only">checkout-only</a> configuration option.</p> |
|
<p>For example, to checkout and build the <b>khtml</b> directory of |
|
<b>kdelibs</b>, you would type <code>kdecvs-build kdelibs/khtml</code>. You |
|
must still have the module configured within your .kdecvs-buildrc.</p> |
|
<p>Also, this changes the way the <a |
|
href="conf-checkout-only">checkout-only</a> option performs the build. Now |
|
instead of downloading the different pieces and just building the module, |
|
kdecvs-build will download the pieces and then build the pieces in their |
|
subdirectory. I believe this should be equivalent, but if not, just let me |
|
know.</p> |
|
<p>The install handler has also been changed to only install the subdirectory |
|
you choose, so doing a kdecvs-build kdeextragear-1/amarok won't install all |
|
of kdeextragear-1. ;-)</p> |
|
</li> |
|
<li>The <tt>log_command()</tt> function outputs the command that it is logging |
|
in debug mode.</li> |
|
</ul> |
|
|
|
Bugfixes: |
|
<ul> |
|
<li>If a package didn't update, note that fact in the summary output at the end.</li> |
|
</ul> |
|
|
|
<p><b>2004-Aug-29:</b> v0.83<br/> |
|
New features: |
|
<ul> |
|
<li>Added the <a href="#cmdline-ignore-modules">--ignore-modules</a> option, |
|
which allows you to specify modules to skip from the CVS and build process, by |
|
request of Matt Rogers.</li> |
|
<li>Also, kdecvs-build is now hosted in KDE's kdenonbeta CVS module.</li> |
|
</ul> |
|
|
|
<p><b>2004-Aug-12:</b> v0.82<br/> |
|
New features: |
|
<ul> |
|
<li>You should no longer get a build error with kdebindings due to the |
|
argument length being too long. This is done by using an alternate method |
|
of implementing builddir != srcdir that isn't quite as nice, but seems to |
|
work well in practice. Bug reports on this are appreciated. Note that |
|
kdebindings (at least for me), still refuses to build, even without unsermake, |
|
but it does get a little farther along.</li> |
|
<li>kdecvs-pywizard improvements. It's still nothing super-impressive yet, |
|
but it now can enable unsermake for you (with certain modules automatically |
|
having unsermake support disabled), and save the generated file to disk. |
|
Also, the qt-copy module has better default configure options.</li> |
|
<li>The valgrind module has the same hack applied to it as kdebindings, so now |
|
it builds successfully for me.</li> |
|
<li>Nothing super-impressive, but the building module line now lists what |
|
module number you're on so you have something to look forward to. Based |
|
loosely on a suggestion by David Saxton.</li> |
|
</ul> |
|
|
|
<p><b>2004-Aug-03:</b> v0.81<br/> |
|
New features: |
|
<ul> |
|
<li>New quick-config-generators to help you quickly generate a bare, but |
|
working configuration. There is an <a |
|
href="/cgi-bin/kdecvs-build-wizard">online wizard</a>, and the source tarball |
|
includes a <a |
|
href="http://www.riverbankcomputing.co.uk/pyqt/index.php">PyQt</a>-based |
|
program called <b>kdecvs-pywizard</b>. PyQt will also be included in the |
|
kdebindings modules of the upcoming KDE 3.3. Note that both programs, and in |
|
particular kdecvs-pywizard, still need work, but they should be useful for |
|
generating a shell configuration file for new users to tweak.</li> |
|
<li>Add a warning if you're using qt-copy but <a href="#conf-qtdir">qtdir</a> |
|
is set incorrectly.</li> |
|
</ul> |
|
Bugfixes: |
|
<ul> |
|
<li>Fixed <a href="#conf-use-qt-builddir-hack">use-qt-builddir-hack</a> to |
|
work on the second and subsequent runs of kdecvs-build.</li> |
|
</ul> |
|
|
|
<p><b>2004-Jul-25:</b> v0.80<br/> |
|
New features: |
|
<ul> |
|
<li>Since I won't be able to predict what environment variables will need to |
|
be set in the future, I've added an option to allow you to set environment |
|
variables (either globally or per module). This option is called <a |
|
href="#conf-set-env">set-env</a>, and it's a special option in that you can |
|
repeat the option without overwriting the previous value you gave it, as long |
|
as it is during the same section. The format is (in the config file):<br/> |
|
<pre>set-env ENV-VAR value</pre><br/> |
|
Those who have had to run the cron job for this script from a wrapper shell |
|
script to read in /etc/profile should be able to use this option instead. If |
|
not, I'm thinking of a way to source /etc/profile from a Perl script without |
|
having to write my own Bourne-shell, so let me know if you need it.</li> |
|
</ul> |
|
|
|
Bugfixes: |
|
<ul> |
|
<li>Fixed an output alignment error discovered by Michal Rokos.</li> |
|
</ul> |
|
|
|
<hr> |
|
<a name="features"></a> |
|
<h3>Features</h3> |
|
<p>Features that I can think of off the top of my head: |
|
<ul> |
|
|
|
<li>Automatically checks out modules from CVS or updates from CVS, as |
|
appropriate.</li> |
|
|
|
<li>Support for checking out specific branches of CVS modules. |
|
|
|
<li>Times the build process for modules.</li> |
|
|
|
<li>Will automatically try to rebuild modules that were using incremental |
|
make, which is prone to failure after certain kinds of CVS commits.</li> |
|
|
|
<li>Can resume a previous script, or start the build process from a particular |
|
module.</li> |
|
|
|
<li>Much better support for qt-copy than 0.4x.</li> |
|
|
|
<li>Can create a .cvsrc automatically if you forget to. .cvspass still isn't |
|
automatically created.</li> |
|
|
|
<li><A href="http://www.kde.me.uk/index.php?page=unsermake">Unsermake</A> |
|
support.</li> |
|
|
|
<li>Tilde-expansion for your configuration options. For example, you can |
|
specify: <pre>qtdir ~/kdecvs/qt-copy</pre></li> |
|
|
|
<li>Configurable build and logging directories</li> |
|
|
|
<li>Automatically sets up a build system, with the source directory not the |
|
same as the build directory, in order to keep the CVS download directory |
|
pristine. The exception is qt-copy, which isn't designed to be built like |
|
that (unless you'd like to test <a |
|
href="#conf-use-qt-builddir-hack">use-qt-builddir-hack</a>).</li> |
|
|
|
<li>You can specify global options to apply to every module to check out, and |
|
you can specify options to apply to individual modules as well.</li> |
|
|
|
<li>Since the autotools sometimes get out of sync with changes to the CVS |
|
source tree, you can force a rebuild of a module by creating a file called |
|
.refresh-me in the build directory of the module in question, or by running |
|
kdecvs-build with the --refresh-build option.</li> |
|
|
|
<li>You can specify various environment values to be used during the build, |
|
including KDEDIR, QTDIR, DO_NOT_COMPILE, and CXXFLAGS.</li> |
|
|
|
<li>Includes CVS over SSH support. The script CANNOT access your private key |
|
if it is password protected, so using ssh-agent is recommended.</li> |
|
|
|
<li>Command logging. Logs are dated and numbered so that you always have a |
|
log of a script run. Also, a special symlink called latest is created to |
|
always point to the most recent log entry in the log directory.</li> |
|
|
|
<li>If you're using a user build of KDE instead of a system build (for which |
|
you must be root to install), you can use the script to install for you. I |
|
haven't audited this code, and it makes ample use of the <code>system()</code> |
|
call, so I would not recommend running it as root at this point.</li> |
|
|
|
<li>You can use <a href="#conf-make-install-prefix">make-install-prefix</a> to |
|
prefix the make install command line with a separate command, which is useful |
|
for sudo.</li> |
|
|
|
<li>You can check out only a portion of a KDE CVS module. For example, you |
|
could check out only taglib from kdesupport, or only K3B from kdeextragear-1. |
|
The script will automatically pull in kde-common if necessary to make the build |
|
work.</li> |
|
|
|
<li>You can "pretend" to do the operations. If you pass --pretend or -p on the |
|
command line, the script will give a very verbose description of the commands |
|
it is about to execute, without actually executing it.</li> |
|
|
|
<li>Can log output of all commands to a file in $KDECVSDIR/log.</li> |
|
|
|
</ul></p> |
|
<p>Things that kdecvs-build does NOT do: |
|
<ul> |
|
<li>Find the fastest KDE CVS mirror. There isn't even a list shipped |
|
with the script at this point.</li> |
|
<li>Brush your teeth. You should remember to do that yourself.</li> |
|
<li>The script probably isn't bug-free. Sorry.</li> |
|
</ul> |
|
</p> |
|
<hr> |
|
<a name=".kdecvs-buildrc"></a> |
|
<h3>Format of .kdecvs-buildrc</h3> |
|
<p>To use the script, you must have a file in your home directory called |
|
.kdecvs-buildrc, which describes the modules you'd like to download and |
|
build.</p> |
|
<p>It starts with the global options, specified like the following:</p> |
|
<code>global<br/> |
|
<i>option-name option-value</i><br/> |
|
<i>[...]</i><br/> |
|
end global |
|
</code> |
|
<p>It is then followed by one or more module sections, specified like the |
|
following:</p> |
|
<code>module <i>module-name</i><br/> |
|
<i>option-name option-value</i><br/> |
|
<i>[...]</i><br/> |
|
end module |
|
</code> |
|
<p><i>module-name</i> must be a module from the KDE CVS repository (for |
|
example, kdelibs or kdebase). Some options override global options, some |
|
add to global options, and some global options simply can't be overridden. |
|
</p> |
|
|
|
<p>The following is an alphabetized list of options you can use. Click on the |
|
option to find out more about it. If one is not documented, please e-mail me |
|
using the address you can find <a href="#emailaddy">above</a>. |
|
|
|
<ul> |
|
<li><a href="#conf-apply-qt-patches">apply-qt-patches</a></li> |
|
<li><a href="#conf-binpath">binpath</a></li> |
|
<li><a href="#conf-build-system-only">build-system-only</a></li> |
|
<li><a href="#conf-checkout-only">checkout-only</a></li> |
|
<li><a href="#conf-configure-flags">configure-flags</a></li> |
|
<li><a href="#conf-cvs-root">cvs-root</a></li> |
|
<li><a href="#conf-cvs-server">cvs-server</a></li> |
|
<li><a href="#conf-cxxflags">cxxflags</a></li> |
|
<li><a href="#conf-debug">debug</a></li> |
|
<li><a href="#conf-disable-build-list">disable-build-list</a></li> |
|
<li><a href="#conf-do-not-compile">do-not-compile</a></li> |
|
<li><a href="#conf-inst-apps">inst-apps</a></li> |
|
<li><a href="#conf-install-after-build">install-after-build</a></li> |
|
<li><a href="#conf-kdedir">kdedir</a></li> |
|
<li><a href="#conf-libpath">libpath</a></li> |
|
<li><a href="#conf-lockfile">lockfile</a></li> |
|
<li><a href="#conf-make-install-prefix">make-install-prefix</a></li> |
|
<li><a href="#conf-make-options">make-options</a></li> |
|
<li><a href="#conf-manual-build">manual-build</a></li> |
|
<li><a href="#conf-no-cvs">no-cvs</a></li> |
|
<li><a href="#conf-no-rebuild-on-fail">no-rebuild-on-fail</a></li> |
|
<li><a href="#conf-pretend">pretend</a></li> |
|
<li><a href="#conf-qtdir">qtdir</a></li> |
|
<li><a href="#conf-reconfigure">reconfigure</a></li> |
|
<li><a href="#conf-recreate-configure">recreate-configure</a></li> |
|
<li><a href="#conf-refresh-build">refresh-build</a></li> |
|
<li><a href="#conf-release-tag">release-tag</a></li> |
|
<li><a href="#conf-set-env">set-env</a></li> |
|
<li><a href="#conf-stop-on-failure">stop-on-failure</a></li> |
|
<li><a href="#conf-use-qt-builddir-hack">use-qt-builddir-hack</a></li> |
|
<li><a href="#conf-use-unsermake">use-unsermake</a></li> |
|
</ul> |
|
|
|
</p> |
|
|
|
<hr> |
|
<a name="options"></a> |
|
<h3>Configuration file Options</h3> |
|
|
|
<p>Here is a table of the various options, and some comments on them. Any |
|
option which overrides the global option will override a command line setting |
|
as well.</p> |
|
|
|
<table border="1" cellspacing="0" cellpadding="2"> |
|
<tr align="center" style="font-style: italic;"> |
|
<td valign="top">Option-name</td> |
|
<td valign="top">Module -> Global Behavior</td> |
|
<td>Notes</td> |
|
</tr> |
|
|
|
<tr id="conf-apply-qt-patches"> |
|
<td valign="top">apply-qt-patches</td> |
|
<td valign="top">Overrides global</td> |
|
<td>This option is only useful for qt-copy. If it is set to a non-zero value, |
|
then the apply-patches script in qt-copy will be run prior to building, in |
|
order to apply the non-official patches to the qt-copy. Since these patches |
|
are normally the reason for using qt-copy instead of a stock Qt, it shouldn't |
|
do any harm to enable it.</td> |
|
</tr> |
|
|
|
<tr id="conf-binpath"> |
|
<td valign="top">binpath</td> |
|
<td valign="top">Can't be overridden</td> |
|
<td><p>Set this option to set the environment variable PATH while building. |
|
You can't override this setting in a module option. The default value is |
|
empty, which is likely not what you want. This environment variable should |
|
include the colon-separated paths of your development toolchain. The paths |
|
$KDEDIR/bin and $QTDIR/bin are automatically added. You may use the tilde (~) |
|
for any paths you add using this option.</p> |
|
|
|
<p>On my system, the setting |
|
<pre> binpath /bin:/usr/bin:/usr/X11R6/bin</pre> |
|
is the minimally sufficient setting.</p> |
|
</td> |
|
</tr> |
|
|
|
<tr id="conf-build-dir"> |
|
<td valign="top">build-dir</td> |
|
<td valign="top">Overrides global</td> |
|
<td>Use this option to change the directory to contain the built sources. There |
|
are three different ways to use it: |
|
<ul> |
|
|
|
<li><p>Relative to the KDE CVS source directory ($KDECVS). This is the |
|
default, and the way the script worked up to version v0.61. This mode is |
|
selected if you type a directory name that doesn't start with a tilde (~) or a |
|
slash (/).</p> <p>The default value is <b>build</b>.</p></li> |
|
|
|
<li>Absolute path. If you specify a path that begins with a /, then that path |
|
is used directory. For example, <i>/tmp/kde-obj-dir/</i>.</li> |
|
|
|
<li>Relative to your home directory. If you specify a path that begins with a |
|
~, then the path is used relative to your home directory, analogous to the |
|
shell's tilde-expansion. For example, <i>~/builddir</i> would set the build |
|
directory to <i>/home/mpyne/builddir</i> on my system.</li> |
|
|
|
</ul> |
|
|
|
Perhaps surprisingly, this option can be changed per module. |
|
|
|
</td> |
|
</tr> |
|
|
|
<tr id="conf-build-system-only"> |
|
<td valign="top">build-system-only</td> |
|
<td valign="top">Overrides global</td> |
|
<td>Set this option to only create the build system for this module. What that |
|
means is that the <code>make -f Makefile.cvs</code> command will be run, and |
|
the configure script will be created (but not run), and make will not be run. |
|
This option is exactly equivalent to the <a |
|
href="#cmdline-build-system-only">--build-system-only</a> command line option. |
|
This command is useful for checking what configure-flags each module supports |
|
so you can change your ~/.kdecvs-buildrc. |
|
</td> |
|
</tr> |
|
|
|
<tr id="conf-checkout-only"> |
|
<td valign="top">checkout-only</td> |
|
<td valign="top">Overrides global</td> |
|
<td>Set this option to checkout CVS sources piece by piece. The |
|
value for this option should be a space separated list of directories |
|
to checkout. If you don't include the admin directory, it will automatically |
|
be prepended, as it is required by the KDE build system. When checking out |
|
piece by piece, the admin directory will be pulled in from kde-common, which |
|
is where it exists on the CVS server. Although this option overrides the |
|
global option, be aware that setting this as a global option makes no sense. |
|
</td> |
|
</tr> |
|
|
|
<tr id="conf-configure-flags"> |
|
<td valign="top">configure-flags</td> |
|
<td valign="top">Appends to global option<br/>(except for qt-copy)</td> |
|
<td>Use this option to specify what flags to pass to ./configure when creating |
|
the build system for the module. When this is used as a global-option, it is |
|
applied to all modules that this script builds. qt-copy uses a much different |
|
set of configure options than the rest of KDE, so this option |
|
<em>overrides</em> the global settings when applied to qt-copy.</td> |
|
</tr> |
|
|
|
<tr id="conf-cvs-root"> |
|
<td valign="top">cvs-root</td> |
|
<td valign="top">Can't be overridden</td> |
|
<td>This option is used to set the directory on your computer to store the KDE |
|
CVS sources at. If you don't specify this value, the default is ~/kdecvs. If |
|
you do specify this value, use an absolute path name. Note that this setting |
|
has nothing to do with the CVSROOT environment variable. For that, see |
|
<a href="#conf-cvs-server">cvs-server</a>. |
|
</td> |
|
</tr> |
|
|
|
<tr id="conf-cvs-server"> |
|
<td valign="top">cvs-server</td> |
|
<td valign="top">Can't be overridden</td> |
|
<td>This option is used to set the server used to check out from CVS. As an |
|
example, you could try :pserver:anonymous@bluemchen.kde.org:/home/kde<br/> |
|
Please see <a |
|
href="http://developer.kde.org/source/anoncvs.html">http://developer.kde.org/source/anoncvs.html</a> |
|
for a list of CVS mirrors. It also has links to other CVS build scripts that |
|
you can try. |
|
</td> |
|
</tr> |
|
|
|
<tr id="conf-cxxflags"> |
|
<td valign="top">cxxflags</td> |
|
<td valign="top">Appends to global option</td> |
|
<td>Use this option to specify what flags to pass to ./configure as the |
|
CXXFLAGS when creating the build system for the module. This option is |
|
specified here instead of with <a |
|
href="#conf-configure-flags">configure-flags</a> because this option will also |
|
set the environment variable CXXFLAGS during the build process. |
|
</td> |
|
</tr> |
|
|
|
<tr id="conf-debug"> |
|
<td valign="top">debug</td> |
|
<td valign="top">Can't be overridden</td> |
|
<td>This option enables the script's debug mode. At this point, all this |
|
switch does is disable logging to files, instead dumping all output to |
|
stdout. |
|
</td> |
|
</tr> |
|
|
|
<tr id="conf-disable-build-list"> |
|
<td valign="top">disable-build-list</td> |
|
<td valign="top">Can't be overridden</td> |
|
<td>Normally kdecvs-build will write out the list of modules that were |
|
successfully built to a file under the KDE CVS source directory called |
|
'successfully-built'. If you set this option to 0, kdecvs-build will skip |
|
writing out the file. |
|
</td> |
|
</tr> |
|
|
|
<tr id="conf-do-not-compile"> |
|
<td valign="top">do-not-compile</td> |
|
<td valign="top">Overrides global</td> |
|
<td><p>Use this option to set the DO_NOT_COMPILE environment variable prior to |
|
running the configure script. According to the <A |
|
href="http://developer.kde.org/documentation/other/developer-faq.html">KDE |
|
Developer FAQ</A>, this should cause any toplevel directory you pass to not be |
|
built. The directories should be space-separated.</p> |
|
|
|
<p>Note that the sources to the programs will still be downloaded. You can use |
|
the <a href="#conf-checkout-only" class="conf-option">checkout-only</a> |
|
directive to choose directories that you want to check out.</p> |
|
</td> |
|
</tr> |
|
|
|
<tr id="conf-inst-apps"> |
|
<td valign="top">inst-apps</td> |
|
<td valign="top">Overrides global</td> |
|
<td><p>This is the opposite of the <a |
|
href="#conf-do-not-compile">do-not-compile</a> option. This option makes it |
|
so that only the given toplevel directories are built. The directories should |
|
be space-separated.</p> |
|
|
|
<p>Any changes don't take effect until the next time make -f Makefile.cvs is |
|
run, either automatically by the script, or manually by the <a |
|
href="#cmdline-refresh-build">--refresh-build</a> or <a |
|
href="#cmdline-recreate-configure">--recreate-configure</a> options. |
|
</p> |
|
|
|
<p>Note that the sources to the programs will still be downloaded. You can use |
|
the <a href="#conf-checkout-only" class="conf-option">checkout-only</a> |
|
directive to choose directories that you want to check out.</p> |
|
</td> |
|
</tr> |
|
|
|
<tr id="conf-install-after-build"> |
|
<td valign="top">install-after-build</td> |
|
<td valign="top">Overrides global</td> |
|
<td>This option is used to install the package after it successfully builds. |
|
This option is enabled by default. If you want to disable this, you need to |
|
set this option to 0 in the configuration file. You can also use the |
|
<a href="#cmdline-no-install">--no-install</a> command line flag. |
|
</td> |
|
</tr> |
|
|
|
<tr id="conf-kdedir"> |
|
<td valign="top">kdedir</td> |
|
<td valign="top">Can't be overridden</td> |
|
<td>Set this option to set the environment variable KDEDIR while building. |
|
This is useful for one-user installations of KDE. See <a |
|
href="http://developer.kde.org/build/build2ver.html">http://developer.kde.org/build/build2ver.html</a>. |
|
You can't override this setting in a module option. If you don't specify this |
|
option, it defaults to absolutely nothing, which will mess up the configure |
|
script. You may use a tilde (~) to represent your home directory. |
|
</td> |
|
</tr> |
|
|
|
<tr id="conf-libpath"> |
|
<td valign="top">libpath</td> |
|
<td valign="top">Can't be overridden</td> |
|
<td>Set this option to set the environment variable LD_LIBRARY_PATH while |
|
building. You can't override this setting in a module option. The default |
|
value is blank, but the paths $KDEDIR/lib and $QTDIR/lib are automatically |
|
added. You may use the tilde (~) for any paths you add using this option. |
|
</td> |
|
</tr> |
|
|
|
<tr id="conf-lockfile"> |
|
<td valign="top">lockfile</td> |
|
<td valign="top">Can't be overridden</td> |
|
<td> |
|
<p>The path of a file to use for script locking, to prevent parallel execution. |
|
If you don't specify this value, the default is ~/.kdecvs-lock</p> |
|
|
|
<p>If the script is unable to create this file, it will abort.</p> |
|
</td> |
|
</tr> |
|
|
|
<tr id="conf-log-dir"> |
|
<td valign="top">log-dir</td> |
|
<td valign="top">Overrides global</td> |
|
<td>Use this option to change the directory used to hold the log files |
|
generated by the script. This setting can be set on a per-module basis as of |
|
version 0.64. |
|
</td> |
|
</tr> |
|
|
|
<tr id="conf-make-install-prefix"> |
|
<td valign="top">make-install-prefix</td> |
|
<td valign="top">Overrides global</td> |
|
<td>Set this variable to a space-separated list, which is interpreted as a |
|
command and its options to precede the make install command used to install |
|
modules. This is useful for installing packages with sudo for example, but |
|
please be careful while dealing with root privileges.</td> |
|
</tr> |
|
|
|
<tr id="conf-make-options"> |
|
<td valign="top">make-options</td> |
|
<td valign="top">Overrides global</td> |
|
<td>Set this variable in order to pass command line options to the make |
|
command. This is useful for programs such as <a |
|
href="http://distcc.samba.org/">distcc</a>. distcc allows you to share your |
|
compilation work among more than one computer. To use it, you must use the -j |
|
option to make. Now you can. According to the docs, 2 * |
|
number_of_network_cpus is recommended. I have 2 CPUs total, so it would be |
|
-j4 in my case.</td> |
|
</tr> |
|
|
|
<tr id="conf-make-output-file"> |
|
<td valign="top">make-output-file</td> |
|
<td valign="top">Overrides global</td> |
|
<td><i>DEPRECATED</i>. As of version 0.6, this option is no longer used. Now |
|
all commands are logged, including the make process. You can use the |
|
<a href="#conf-log-dir">log-dir</a> option to change the logging directory, |
|
however. |
|
</td> |
|
</tr> |
|
|
|
<tr id="conf-manual-build"> |
|
<td valign="top">manual-build</td> |
|
<td valign="top">Overrides global</td> |
|
<td>Set the option value to 'true' to keep the build process from attempting to |
|
build this module. It will still be kept up-to-date when updating from CVS. |
|
This option is exactly equivalent to the <a |
|
href="#cmdline-no-build">--no-build</a> command line option. |
|
</td> |
|
</tr> |
|
|
|
<tr id="conf-no-cvs"> |
|
<td valign="top">no-cvs</td> |
|
<td valign="top">Overrides global</td> |
|
<td>Set this option value to 'true' to prevent CVS updates for the module. |
|
This option is exactly equivalent to the <a href="#cmdline-no-cvs">--no-cvs</a> |
|
command line option. |
|
</td> |
|
</tr> |
|
|
|
<tr id="conf-no-rebuild-on-fail"> |
|
<td valign="top">no-rebuild-on-fail</td> |
|
<td valign="top">Overrides global</td> |
|
<td>Set this option value to 'true' to always prevent kdecvs-build from trying |
|
to rebuild this module if it should fail an incremental build. Normally |
|
kdecvs-build will try to rebuild the module from scratch to counteract the |
|
effect of a stray CVS update messing up the build system.</td> |
|
</tr> |
|
|
|
<tr id="conf-pretend"> |
|
<td valign="top">pretend</td> |
|
<td valign="top">Can't be overridden</td> |
|
<td>Set the option value to 'true' in order to "fake" the update/build or |
|
install process. This setting results in verbose output, and is exactly |
|
equivalent to the <a href="#cmdline-pretend">--pretend</a> command line option. |
|
</td> |
|
</tr> |
|
|
|
<tr id="conf-qtdir"> |
|
<td valign="top">qtdir</td> |
|
<td valign="top">Can't be overridden</td> |
|
<td>Set this option to set the environment variable QTDIR while building. |
|
You can't override this setting in a module option. If you don't specify |
|
this option, it defaults to absolutely nothing, which will mess up the |
|
configure script. |
|
You may use a tilde (~) to represent your home directory. |
|
</td> |
|
</tr> |
|
|
|
<tr id="conf-recreate-configure"> |
|
<td valign="top">recreate-configure</td> |
|
<td valign="top">Overrides global</td> |
|
<td>Use this option to re-run make -f Makefile.cvs and then reconfigure the |
|
module before building. Note that setting this option in the configuration |
|
file isn't a great idea, use <a |
|
href="#cmdline-recreate-configure">--recreate-configure</a> on the command line |
|
instead. |
|
</td> |
|
</tr> |
|
|
|
<tr id="conf-release-tag"> |
|
<td valign="top">release-tag</td> |
|
<td valign="top">Overrides global</td> |
|
<td>Use this option to force checkout from a specific KDE CVS branch. For |
|
example, setting this to KDE_3_2_BRANCH allows you to keep up-to-date with |
|
the current stable KDE release, including bugfixes. You can use |
|
<a href="http://webcvs.kde.org/">KDE's WebCVS page</a> to find out what |
|
branches exist for each CVS module.</td> |
|
</tr> |
|
|
|
<tr id="conf-reconfigure"> |
|
<td valign="top">reconfigure</td> |
|
<td valign="top">Overrides global</td> |
|
<td>Use this option to reconfigure the module before building. Note that |
|
setting this option in the configuration file isn't a great idea, use |
|
<a href="#cmdline-reconfigure">--reconfigure</a> on the command line instead. |
|
</td> |
|
</tr> |
|
|
|
<tr id="conf-refresh-build"> |
|
<td valign="top">refresh-build</td> |
|
<td valign="top">Overrides global</td> |
|
<td>Set this option value to 'true' to cause the build system for this module |
|
to start from scratch every time the script is run. This option is exactly |
|
equivalent to the <a href="#cmdline-refresh-build">--refresh-build</a> command |
|
line option. |
|
</td> |
|
</tr> |
|
|
|
<tr id="conf-set-env"> |
|
<td valign="top">set-env</td> |
|
<td valign="top">Overrides global</td> |
|
<td><p>This option accepts a space-separated set of values, where the first value |
|
is the environment variable to set, and the rest of the values is what you |
|
want the variable set to. For example, to set the variable RONALD to |
|
McDonald, you would put in the appropriate section this command:</p> |
|
<pre>set-env RONALD McDonald</pre> |
|
<p>This option is special in that it can be repeated without overriding |
|
earlier set-env settings in the same section of the configuration file. This |
|
way you can set more than one environment variable per module (or |
|
globally).</p> |
|
</td> |
|
</tr> |
|
|
|
<tr id="conf-stop-on-failure"> |
|
<td valign="top">stop-on-failure</td> |
|
<td valign="top">Overrides global</td> |
|
<td>Set this option value to 'true' to cause the script to stop execution |
|
after an error occurs during the build or install process. This option is off |
|
by default. |
|
</td> |
|
</tr> |
|
|
|
<tr id="conf-use-qt-builddir-hack"> |
|
<td valign="top">use-qt-builddir-hack</td> |
|
<td valign="top">Overrides global</td> |
|
<td>Although this option overrides the global option, it only makes sense for |
|
qt-copy. Set this option to 'true' to enable the script's <em>experimental</em> |
|
srcdir != builddir mode. When enabled, kdecvs-build will copy the qt-copy CVS |
|
module to the build directory, and perform builds from there. That means your |
|
QTDIR environment variable should be set to $(qt-copy-build-dir)/qt-copy/lib |
|
instead. You should also change your <a href="#conf-qtdir">qtdir</a> option |
|
accordingly.<br/><br/> |
|
Incremental make should still work in this mode, as the timestamps will be |
|
preserved after the copy. If you use the <a |
|
href="#conf-apply-qt-patches">apply-qt-patches</a> option, the patches will be |
|
applied in the build directory, not the source directory. |
|
</td> |
|
</tr> |
|
|
|
<tr id="conf-use-unsermake"> |
|
<td valign="top">use-unsermake</td> |
|
<td valign="top">Overrides global</td> |
|
<td>Set this option to a non-zero value in order to use the experimental |
|
unsermake program instead of automake when running the configure script. This |
|
can lead to some serious decreases in build time, especially for <A |
|
href="http://www.csh.rit.edu/slashdot/distcc.html">distributed building |
|
systems</A>.</td> |
|
</tr> |
|
|
|
</table> |
|
|
|
<hr> |
|
|
|
<a name="cmdline"></a> |
|
<h3>Command-line options</h3> |
|
<p>The script accepts the following command-line options: |
|
<ul> |
|
|
|
<li id="cmdline-help">--help, which displays simple help on this script.</li> |
|
|
|
<li id="cmdline-version">--version, display the program version.</li> |
|
|
|
<li id="cmdline-author">--author, display contact information for the |
|
author.</li> |
|
|
|
<li id="cmdline-pretend">--pretend (or -p), don't actually DO anything, but |
|
act like you did.</li> |
|
|
|
<li id="cmdline-cvs-only">--cvs-only, Only perform the CVS update.</li> |
|
|
|
<li id="cmdline-build-only">--build-only, Only perform the build process.</li> |
|
|
|
<li id="cmdline-ignore-modules">--ignore-modules, Don't including the modules |
|
passed on the rest of the command line in the update/build process.</li> |
|
|
|
<li id="cmdline-no-cvs">--no-cvs, Skip contacting the CVS server.</li> |
|
|
|
<li id="cmdline-no-build">--no-build, Skip the build process.</li> |
|
|
|
<li id="cmdline-no-install">--no-install, Don't automatically install packages |
|
after they're built.</li> |
|
|
|
<li id="cmdline-debug">--debug, Enables debug mode for the script. Currently |
|
this means that all output will be dumped to STDOUT in addition to being |
|
logged in the log directory like normal. Also, many functions are much more |
|
verbose about what they're doing in debugging mode.</li> |
|
|
|
<li id="cmdline-no-rebuild-on-fail">--no-rebuild-on-fail, Don't try and |
|
rebuild modules that have failed building from scratch. kdecvs-build will |
|
never try to do this to a module that already was tried to be built from |
|
scratch. |
|
|
|
<li id="cmdline-refresh-build">--refresh-build, Recreate the build system and |
|
make from scratch.</li> |
|
|
|
<li id="cmdline-reconfigure">--reconfigure, Run the configure script again |
|
without cleaning the build directory.</li> |
|
|
|
<li id="cmdline-recreate-configure">--recreate-configure, Run <code>make -f |
|
Makefile.cvs</code> again to create the configure script, and continue |
|
building as normal. This option implies --reconfigure.</li> |
|
|
|
<li id="cmdline-resume">--resume, which tries to continue building from where |
|
the script stopped last time. The script starts building the module after the |
|
last module to be compiled last time the script was run, whether or not it |
|
succeeded. This option implies <a href="#cmdline-no-cvs">--no-cvs</a>. You |
|
should not specify other module names on the command line.</li> |
|
|
|
<li id="cmdline-resume-from">--resume-from, which is like <a |
|
href="#cmdline-resume">--resume</a>, except that you supply the module to |
|
start building from as the next parameter on the command line. This option |
|
implies <a href="#cmdline-no-cvs">--no-cvs</a>. You should not specify |
|
other module names on the command line.</li> |
|
|
|
<li id="cmdline-rc-file">--rc-file, which interprets the next command line |
|
parameter as the file to read the configuration options from. The default |
|
value for this parameter is ~/.kdecvs-buildrc.</li> |
|
|
|
<li id="cmdline-build-system-only">--build-system-only, Stop after runnning |
|
make -f Makefile.cvs. The configure script will still need to be run, which |
|
kdecvs-build will do next time. This lets you prepare all the configure |
|
scripts at once so you can view the ./configure --help for each module, and |
|
edit your configure-flags accordingly.</li> |
|
|
|
<li id="cmdline-install">--install, If this is the only command-line option, |
|
it tries to install all of the modules contained in successfully-built, except |
|
for qt-copy, which doesn't need installation. If command-line options are |
|
specified after --install, they are all assumed to be modules to install. |
|
Note that after v0.60, modules are automatically installed if they build |
|
successfully.</li> |
|
|
|
Any other command-line options are assumed to be modules to update and build. |
|
Don't mix building with installing.</li> |
|
</ul> |
|
</p> |
|
|
|
<hr> |
|
<a name="envvars"></a> |
|
<h3>Environment Variables</h3> |
|
The script no longer uses any environment variables. Please try to set |
|
at least <a href="#conf-binpath">binpath</a>, <a href="#conf-qtdir">qtdir</a>, |
|
and <a href="#conf-kdedir">kdedir</a> in your .kdecvs-buildrc. See the <a |
|
href="#options">.kdecvs-buildrc options</a>. |
|
</div> |
|
|
|
<div align="center" class="thankyou"> |
|
<font size="-1"><a href="http://www.cvsup.org/">CVSup</a> is a registered trademark of John D. Polstra. |
|
<br/> |
|
Last modified: Sun Aug 29 00:46:53 2004</font> |
|
</div> |
|
</body> |
|
</html>
|
|
|