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.
1325 lines
50 KiB
1325 lines
50 KiB
15 years ago
|
<?xml version="1.0" ?>
|
||
|
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
|
||
13 years ago
|
<!ENTITY kappname "tdesvn-build">
|
||
|
<!ENTITY package "tdesdk">
|
||
15 years ago
|
<!ENTITY % addindex "IGNORE">
|
||
|
<!ENTITY % English "INCLUDE"> <!-- Change language only here -->
|
||
|
<!ENTITY svn "<application>Subversion</application>">
|
||
13 years ago
|
<!ENTITY tdesvn-build "<application>tdesvn-build</application>">
|
||
15 years ago
|
]>
|
||
|
|
||
|
<book lang="&language;">
|
||
|
|
||
|
<bookinfo>
|
||
13 years ago
|
<title>&tdesvn-build; Script Manual</title>
|
||
15 years ago
|
|
||
|
<authorgroup id="authors">
|
||
|
<author>
|
||
|
<firstname>Michael</firstname><surname>Pyne</surname>
|
||
|
<affiliation><address><email>michael.pyne@kdemail.net</email></address></affiliation>
|
||
|
</author>
|
||
|
<author>
|
||
|
<firstname>Carlos</firstname><surname>Woelz</surname>
|
||
|
<affiliation><address><email>carloswoelz@imap-mail.com</email></address></affiliation>
|
||
|
</author>
|
||
|
|
||
|
|
||
|
<!-- TRANS:ROLES_OF_TRANSLATORS -->
|
||
|
|
||
|
</authorgroup>
|
||
|
|
||
|
<copyright>
|
||
|
<year>2005</year>
|
||
|
<holder>Michael Pyne</holder>
|
||
|
</copyright>
|
||
|
|
||
|
<copyright>
|
||
|
<year>2005</year>
|
||
|
<holder>Carlos Woelz</holder>
|
||
|
</copyright>
|
||
|
|
||
|
|
||
|
<legalnotice>&FDLNotice;</legalnotice>
|
||
|
|
||
|
<date>2005-06-18</date>
|
||
|
<releaseinfo>0.98</releaseinfo>
|
||
|
|
||
|
<abstract>
|
||
13 years ago
|
<para>The &tdesvn-build; is a Perl script which builds and installs &kde; directly from the sources found in the &kde; &svn; repository.</para>
|
||
15 years ago
|
</abstract>
|
||
|
|
||
|
<keywordset>
|
||
|
<keyword>KDE</keyword>
|
||
13 years ago
|
<keyword>tdesdk</keyword>
|
||
15 years ago
|
<keyword>SVN</keyword>
|
||
|
<keyword>Subversion</keyword>
|
||
|
<keyword>KDE development</keyword>
|
||
|
</keywordset>
|
||
|
|
||
|
</bookinfo>
|
||
|
|
||
|
|
||
|
<chapter id="introduction">
|
||
|
<title>Introduction</title>
|
||
|
|
||
|
<para>
|
||
13 years ago
|
&tdesvn-build; is a Perl script to help users install <ulink
|
||
15 years ago
|
url="http://www.kde.org/">&kde;</ulink> from <ulink
|
||
|
url="http://subversion.tigris.org/">&svn;</ulink>. You may also want to
|
||
13 years ago
|
consider the kde-build script include with &kde;'s tdesdk module.
|
||
15 years ago
|
</para>
|
||
|
|
||
|
<para>
|
||
13 years ago
|
Here we document the &tdesvn-build; configuration file syntax and options, its
|
||
15 years ago
|
command line options, features, and an overview of all necessary steps required
|
||
|
to build &kde; from source, including the steps which you should perform using
|
||
|
other tools, or in other words, steps that are not automatically performed
|
||
13 years ago
|
by the &tdesvn-build; script.
|
||
15 years ago
|
</para>
|
||
|
|
||
|
</chapter>
|
||
|
|
||
|
<chapter id="getting-started">
|
||
|
<title>Getting Started</title>
|
||
|
|
||
|
<para>
|
||
13 years ago
|
In this chapter, we show how to use the &tdesvn-build; to checkout modules from the
|
||
15 years ago
|
&kde; repository and build them. We also provide a basic explanation of the &kde;
|
||
|
&svn; structure and the steps you have to perform before running the script.
|
||
|
</para>
|
||
|
|
||
|
<para>
|
||
|
All topics present in this chapter are covered with even more detail in the
|
||
|
<ulink url="http://quality.kde.org/develop/cvsguide/buildstep.php">
|
||
|
Building &kde; from Source Step by Step Guide</ulink>, at the
|
||
|
<ulink url="http://quality.kde.org">&kde; Quality Team Website</ulink>.
|
||
|
If you are compiling KDE for the first time, it is a good idea to read
|
||
|
it, or consult it as a reference source. You will find detailed information
|
||
|
about packaging tools and requirements, common compilation pitfalls and
|
||
|
strategies and information about running your new &kde; installation.
|
||
|
</para>
|
||
|
|
||
|
<sect1 id="before-building">
|
||
|
<title>Preparing the System to Build &kde;</title>
|
||
|
|
||
|
<para>
|
||
|
It is recommended that you download and build &kde; using a user
|
||
|
account. If you already have &kde; packages installed, the best choice
|
||
|
would be to create a different (dedicated) user to build and run the new &kde;.
|
||
|
The advantage of building &kde; with a dedicated user is you can not break
|
||
|
the base system, and you will always have a way to comfortably work when
|
||
|
things go wrong.
|
||
|
</para>
|
||
|
|
||
|
<para>
|
||
|
Later, you can do a root installation if you wish. This document
|
||
|
does not cover a root installation. If you are performing a system
|
||
|
wide install, you probably already know what you are doing anyway.
|
||
|
</para>
|
||
|
|
||
13 years ago
|
<para>Before using the &tdesvn-build; script (or any other building
|
||
15 years ago
|
strategy) you must install the development tools and libraries needed for &kde;.
|
||
|
You need the Qt library, version 3.3.0 or greater, Automake 1.8,
|
||
|
Autoconf 2.5X (better if >=2.57 as a bug was reported with lower versions),
|
||
|
the subversion (svn) client, the gcc compiler with C++ support, libxml2,
|
||
|
openssl, libbz2, and many more (for a complete list, visit the
|
||
|
<ulink url="http://www.kde.org/info/requirements/3.4.php">KDE Compilation
|
||
|
Requirements</ulink>). You can usually get those tools packaged for your system
|
||
|
from your distribution or vendor.
|
||
|
</para>
|
||
|
|
||
|
<para>
|
||
|
Some of these packages are divided into libs, programs or utilities and
|
||
|
development packages. You will need at least the program or library and
|
||
|
its development package. If in doubt, install all. The libraries you need
|
||
|
will change depending on the modules you intend to build, as each module
|
||
|
has its own requirements. The
|
||
|
<ulink url="http://quality.kde.org/develop/cvsguide/buildstep.php#step1">
|
||
|
Building &kde; from Source Step by Step Guide</ulink> has more details
|
||
|
about the specific tools and techniques used to install and find the
|
||
|
required software.
|
||
|
</para>
|
||
|
|
||
|
<para>
|
||
13 years ago
|
You probably already have a version of the &tdesvn-build; script installed
|
||
|
in your system. &tdesvn-build;requires you to create a configuration file, named
|
||
|
<filename>.tdesvn-buildrc</filename>. This file should be installed on
|
||
15 years ago
|
the home folder (~/), and contain all configuration data
|
||
|
required for the script to run, like configuration options,
|
||
|
compiling options, location of the sources, the destination of the installation
|
||
|
(prefix), the modules that should be built, &etc;. The default configuration
|
||
13 years ago
|
data is provided by the <filename>tdesvn-buildrc-sample</filename> file.
|
||
15 years ago
|
You can find more information about the syntax of the configuration file
|
||
13 years ago
|
in <xref linkend="configure-data" /> and in <xref linkend="tdesvn-buildrc" />.
|
||
15 years ago
|
</para>
|
||
|
|
||
|
<para>
|
||
13 years ago
|
A good way to get the latest version is to browse the tdesdk/scripts page
|
||
15 years ago
|
at the <ulink url="http://websvn.kde.org/trunk/KDE">websvn.kde.org</ulink> website.
|
||
13 years ago
|
You will see a list of the files available in the tdesdk/scripts directory in
|
||
|
the &kde; &svn; repository. Click the &tdesvn-build; link and download
|
||
15 years ago
|
the latest version of the script. Do the same for the
|
||
13 years ago
|
<filename>tdesvn-buildrc-sample</filename> file.
|
||
15 years ago
|
Make the script executable, and be sure it is in your path.
|
||
|
</para>
|
||
|
|
||
|
</sect1>
|
||
|
|
||
|
<sect1 id="configure-data">
|
||
|
<title>Setting the Configuration Data</title>
|
||
|
|
||
|
<para>
|
||
|
To use the script, you must have a file in your home directory called
|
||
13 years ago
|
<filename>.tdesvn-buildrc</filename>, which sets the general options and sets the modules
|
||
15 years ago
|
you would like to download and build.
|
||
|
</para>
|
||
|
|
||
|
<para>
|
||
13 years ago
|
Use the <filename>tdesvn-buildrc-sample</filename> file as a
|
||
15 years ago
|
template, setting global options, and the modules you want to build.
|
||
|
</para>
|
||
|
|
||
|
<para>
|
||
|
Select the server used to check out from &svn;, by setting the svn-server
|
||
|
global option. The default is the anonymous &svn; repository,
|
||
|
<emphasis>svn://anonsvn.kde.org/</emphasis>, but change it
|
||
|
if you have a <ulink url="http://developer.kde.org/documentation/misc/firststepsaccount">&kde;
|
||
|
&svn; account</ulink>, or if there is <ulink url="http://developer.kde.org/source/anonsvn.html">
|
||
|
a mirror close to you</ulink>.
|
||
|
</para>
|
||
|
|
||
|
<para>
|
||
13 years ago
|
Pay close attention to the tdedir and qtdir global variables, as the first sets
|
||
15 years ago
|
where your &kde; build is going to be installed, (by default to
|
||
|
<filename>~/kde</filename>), and the second where (and if) your qt library is
|
||
|
going to be built and installed, (by default to
|
||
13 years ago
|
<filename>~/tdesvn/build/qt-copy</filename>). You will need to know the
|
||
13 years ago
|
tdedir and qtdir location later, to set up the environment variables
|
||
15 years ago
|
that are necessary to run your new installation.
|
||
|
Check if the listed modules are in fact the modules you want to build.
|
||
13 years ago
|
The default options from the <filename>tdesvn-buildrc-sample</filename> file
|
||
15 years ago
|
should be enough to get a fairly complete &kde; installation.
|
||
13 years ago
|
Save the resulting as <filename>.tdesvn-buildrc</filename> in your home
|
||
15 years ago
|
folder.
|
||
|
</para>
|
||
|
|
||
|
<para>
|
||
13 years ago
|
If you wish to fine tune your <filename>.tdesvn-buildrc</filename>,
|
||
|
consult <xref linkend="tdesvn-buildrc" /> for detailed information
|
||
15 years ago
|
about all configuration options.
|
||
|
</para>
|
||
|
|
||
|
</sect1>
|
||
|
|
||
|
<sect1 id="building-and-troubleshooting">
|
||
13 years ago
|
<title>Using the &tdesvn-build; script</title>
|
||
15 years ago
|
|
||
|
<para>
|
||
|
Now you are ready to run the script. From a terminal window,
|
||
|
log in to the user you are using to compile &kde; and execute
|
||
|
the script:
|
||
|
<screen>
|
||
|
<prompt>%</prompt><command>su</command> <option>-</option> <replaceable>devel-username</replaceable>
|
||
13 years ago
|
<prompt>%</prompt><command>tdesvn-build</command>
|
||
15 years ago
|
</screen>
|
||
|
</para>
|
||
|
|
||
|
<para>
|
||
|
Now, the script should start downloading the sources and compiling them. It is
|
||
|
unlikely that you will succeed in the first time you compile &kde;. Do not despair!
|
||
|
Check the log files to see if you are missing some tools or development packages
|
||
|
(the location of the log files is set by the log-dir variable in the configuration
|
||
|
file). Sometimes, the main development branch get very unstable and hard to build,
|
||
|
especially when a development freeze is close. Be patient. You can find more common
|
||
|
examples of things that can go wrong and their solutions, as well as general tips and
|
||
|
strategies to build &kde; in the
|
||
|
<ulink url="http://quality.kde.org/develop/cvsguide/buildstep.php#step1">
|
||
|
Building &kde; from Source Step by Step Guide</ulink>.
|
||
|
</para>
|
||
|
|
||
|
</sect1>
|
||
|
|
||
|
<sect1 id="environment">
|
||
|
<title>Setting the Environment to Run Your Fresh &kde;</title>
|
||
|
|
||
|
<para>
|
||
|
Assuming you are using a dedicated user to build &kde;, and you already have
|
||
|
an installed &kde; version, running your new &kde; may be a bit tricky, as the new &kde;
|
||
|
has to take precedence over the old. Change the environment variables to
|
||
|
make sure it does.
|
||
|
</para>
|
||
|
|
||
|
<para>
|
||
|
Open or create the <filename>.bash_profile</filename> file in the home directory with your favorite editor,
|
||
|
and add to the end of the file:
|
||
|
|
||
|
<programlisting>
|
||
13 years ago
|
TDEDIR=(path to tdedir)
|
||
13 years ago
|
TDEDIRS=$TDEDIR
|
||
6 years ago
|
PATH=$TDEDIR/bin:$TQTDIR/bin:$PATH
|
||
13 years ago
|
LD_LIBRARY_PATH=$TDEDIR/lib:$LD_LIBRARY_PATH
|
||
|
export TDEDIRS PATH LD_LIBRARY_PATH
|
||
15 years ago
|
</programlisting>
|
||
|
|
||
|
If you are building the qt-copy module, add instead:
|
||
|
|
||
|
<programlisting>
|
||
6 years ago
|
TQTDIR=(path to qtdir)
|
||
13 years ago
|
TDEDIR=(path to tdedir)
|
||
13 years ago
|
TDEDIRS=$TDEDIR
|
||
6 years ago
|
PATH=$TDEDIR/bin:$TQTDIR/bin:$PATH
|
||
|
MANPATH=$TQTDIR/doc/man:$MANPATH
|
||
|
LD_LIBRARY_PATH=$TDEDIR/lib:$TQTDIR/lib:$LD_LIBRARY_PATH
|
||
|
export TQTDIR TDEDIRS PATH MANPATH LD_LIBRARY_PATH
|
||
15 years ago
|
</programlisting>
|
||
|
</para>
|
||
|
|
||
|
<para>
|
||
13 years ago
|
If you are not using a dedicated user, set a different <envar>$TDEHOME</envar> for your
|
||
15 years ago
|
new environment in your <filename>.bash_profile</filename>:
|
||
|
|
||
|
<programlisting>
|
||
12 years ago
|
export TDEHOME="${HOME}/.tde-svn"
|
||
15 years ago
|
|
||
|
# Create it if needed
|
||
12 years ago
|
[ ! -e ~/.tde-svn ] && mkdir ~/.tde-svn
|
||
15 years ago
|
</programlisting>
|
||
|
</para>
|
||
|
|
||
|
<note>
|
||
|
<para>
|
||
|
If later your menu is empty or too crowded with applications from your distribution,
|
||
|
you may have to set the xdg environment variables in your <filename>.bash_profile</filename>:
|
||
|
|
||
|
<programlisting>
|
||
|
XDG_CONFIG_DIRS="/etc/xdg"
|
||
13 years ago
|
XDG_DATA_DIRS="${TDEDIR}/share:/usr/share"
|
||
15 years ago
|
export XDG_CONFIG_DIRS XDG_DATA_DIRS
|
||
|
</programlisting>
|
||
|
|
||
|
</para>
|
||
|
</note>
|
||
|
|
||
|
<para>
|
||
13 years ago
|
Now that we are done with the you have to make sure that the right <application>starttde</application>
|
||
15 years ago
|
script is going to be used:
|
||
|
</para>
|
||
|
|
||
|
<para>
|
||
|
Open the <filename>.xinitrc</filename> text file (or <filename>.xsession</filename>,
|
||
|
depending on the distribution) from the home directory, or create it if necessary. Add the
|
||
|
line:
|
||
|
|
||
|
<programlisting>
|
||
13 years ago
|
exec ${TDEDIR}/bin/starttde
|
||
15 years ago
|
</programlisting>
|
||
|
</para>
|
||
|
|
||
|
<para>
|
||
|
Now start your fresh &kde;: in BSD and Linux systems with virtual terminal support,
|
||
|
Ctrl+Alt+F1...F12 keystroke combinations are used to switch to Virtual Console 1 through 12.
|
||
|
This allows you to run more than one desktop environment at the same time. The fist six are
|
||
|
text terminals and the following six are graphical displays.
|
||
|
</para>
|
||
|
|
||
|
<para>
|
||
|
If when you boot you are presented to the graphical display manager instead, you can
|
||
|
use the new KDE environment, even if it is not listed as an option. Press Crtl + Alt + F2,
|
||
|
and you will be presented to a text terminal. Log in using the dedicated user and type:
|
||
|
</para>
|
||
|
|
||
|
<screen>
|
||
|
startx -- :1
|
||
|
</screen>
|
||
|
|
||
|
<tip>
|
||
|
<para>
|
||
|
You can run the KDE from sources and the old KDE at the same time! Log in using your regular user,
|
||
|
start the stable KDE desktop. Press Crtl + Alt + F2 (or F1, F3, etc..), and you will be presented
|
||
|
to a text terminal. Log in using the dedicated user and type "startx -- :1". You can go back to the
|
||
|
regular user by pressing Crtl + Alt + F6 (Or F7, F8, etc... Try them out! One of them is the right
|
||
|
one.) To return to KDE from sources, press Crtl + Alt + F7 (or F6, F8,etc..). Now you can switch
|
||
|
between your KDE versions, and test the new one knowing you can quickly return to the safety of
|
||
|
the stable KDE desktop.
|
||
|
</para>
|
||
|
</tip>
|
||
|
|
||
|
|
||
|
</sect1>
|
||
|
|
||
|
</chapter>
|
||
|
|
||
|
<chapter id="features">
|
||
|
<title>Script Features</title>
|
||
|
|
||
|
<para>
|
||
13 years ago
|
&tdesvn-build; features include:
|
||
15 years ago
|
</para>
|
||
|
|
||
|
|
||
|
<itemizedlist>
|
||
|
|
||
|
<listitem><para>
|
||
|
Automatically checks out or updates modules from &svn;, as
|
||
|
appropriate.
|
||
|
</para></listitem>
|
||
|
|
||
|
<listitem><para>
|
||
|
Times the build process for modules.
|
||
|
</para></listitem>
|
||
|
|
||
|
<listitem><para>
|
||
|
Automatically tries to rebuild modules that were using incremental
|
||
|
make, which is prone to failure after certain kinds of commits.
|
||
|
</para></listitem>
|
||
|
|
||
|
<listitem><para>
|
||
|
Can resume a previous script, or start the build process from a particular
|
||
|
module.
|
||
|
</para></listitem>
|
||
|
|
||
|
<listitem><para>
|
||
|
Comes built-in with a sane set of default options appropriate for building
|
||
|
a base &kde; single-user installation from the anonymous &svn; repository.
|
||
|
</para></listitem>
|
||
|
|
||
|
<listitem><para>
|
||
|
Comes with <ulink url="http://www.kde.me.uk/index.php?page=unsermake">Unsermake</ulink>
|
||
|
support.
|
||
|
</para></listitem>
|
||
|
|
||
|
<listitem><para>
|
||
|
Tilde-expansion for your configuration options. For example, you can
|
||
|
specify:
|
||
13 years ago
|
<programlisting>qtdir ~/tdesvn/build/qt-copy</programlisting>
|
||
15 years ago
|
</para></listitem>
|
||
|
|
||
|
<listitem><para>
|
||
|
Configurable build, source, and logging directories
|
||
|
</para></listitem>
|
||
|
|
||
|
<listitem><para>
|
||
|
Automatically sets up a build system, with the source directory not the
|
||
|
same as the build directory, in order to keep the source directory
|
||
|
pristine. The exception is <application>qt-copy</application>, which is not designed to be built like
|
||
|
that (unless you would like to test the
|
||
|
<link linkend="conf-use-qt-builddir-hack"><quote>qt with a separate build directory hack</quote></link>).
|
||
|
</para></listitem>
|
||
|
|
||
|
<listitem><para>
|
||
|
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.
|
||
|
</para></listitem>
|
||
|
|
||
|
<listitem><para>
|
||
|
Since the autotools sometimes get out of sync with changes to the
|
||
|
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
|
||
13 years ago
|
&tdesvn-build; with the <option>--refresh-build</option> option.
|
||
15 years ago
|
</para></listitem>
|
||
|
|
||
|
<listitem><para>
|
||
|
You can specify various environment values to be used during the build,
|
||
6 years ago
|
including <envar>TDEDIR</envar>, <envar>TQTDIR</envar>, <envar>DO_NOT_COMPILE</envar>,
|
||
15 years ago
|
and <envar>CXXFLAGS</envar>.
|
||
|
</para></listitem>
|
||
|
|
||
|
<listitem><para>
|
||
|
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.
|
||
|
</para></listitem>
|
||
|
|
||
|
<listitem><para>
|
||
|
If you are 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 not audited this code, and it makes ample use of the <function>system()</function>
|
||
|
call, so I would not recommend running it as root at this point.
|
||
|
</para></listitem>
|
||
|
|
||
|
<listitem><para>
|
||
|
You can use <link linkend="conf-make-install-prefix">make-install-prefix</link> to
|
||
|
prefix the make install command line with a separate command, which is useful
|
||
|
for sudo.
|
||
|
</para></listitem>
|
||
|
|
||
|
<listitem><para>
|
||
|
You can use the <link linkend="conf-apidox">apidox</link> option to automatically
|
||
|
build and install the API documentation for some modules.
|
||
|
</para></listitem>
|
||
|
|
||
|
<listitem><para>
|
||
|
You can check out only a portion of a &kde; &svn; module. For example,
|
||
|
you could check out only the <application>taglib</application> from
|
||
13 years ago
|
<application>tdesupport</application>, or only <application>K3B</application> from
|
||
15 years ago
|
<application>extragear/multimedia</application>. The script will automatically pull in
|
||
|
<application>kde-common</application> if necessary to make the build work.
|
||
|
</para></listitem>
|
||
|
|
||
|
<listitem><para>
|
||
|
You can <quote>pretend</quote> to do the operations. If you pass
|
||
|
<option>--pretend</option> or <option>-p</option> on the
|
||
|
command line, the script will give a very verbose description of the commands
|
||
|
it is about to execute, without actually executing it.
|
||
|
</para></listitem>
|
||
|
|
||
|
<listitem><para>
|
||
|
Support for checking out specific branches of &svn;
|
||
|
modules. This work still needs to be completed, but you already select the branch you
|
||
|
want to build using the <link linkend="conf-module-base-path">module-base-path
|
||
|
configuration option</link>.
|
||
|
</para></listitem>
|
||
|
|
||
|
</itemizedlist>
|
||
|
|
||
|
<para>
|
||
13 years ago
|
Things that &tdesvn-build; does NOT do:
|
||
15 years ago
|
</para>
|
||
|
|
||
|
<itemizedlist>
|
||
|
|
||
|
<listitem><para>
|
||
|
Find the fastest &kde; &svn; mirror. There is not even a list shipped
|
||
|
with the script at this point, although the default server should work
|
||
|
fine.
|
||
|
</para></listitem>
|
||
|
|
||
|
<listitem><para>
|
||
|
Brush your teeth. You should remember to do that yourself.
|
||
|
</para></listitem>
|
||
|
|
||
|
<listitem><para>
|
||
|
The script probably is not bug-free. Sorry.
|
||
|
</para></listitem>
|
||
|
|
||
|
</itemizedlist>
|
||
|
|
||
|
</chapter>
|
||
|
|
||
13 years ago
|
<chapter id="tdesvn-buildrc">
|
||
|
<title>The Format of .tdesvn-buildrc</title>
|
||
15 years ago
|
|
||
|
<para>
|
||
|
To use the script, you must have a file in your home directory called
|
||
13 years ago
|
<filename>.tdesvn-buildrc</filename>, which describes the modules you would
|
||
15 years ago
|
like to download and build.
|
||
|
</para>
|
||
|
|
||
|
|
||
|
|
||
|
<para>
|
||
|
It starts with the global options, specified like the following:
|
||
|
</para>
|
||
|
|
||
|
<programlisting>
|
||
|
global
|
||
|
<replaceable>option-name option-value</replaceable>
|
||
|
<replaceable>[...]</replaceable>
|
||
|
end global
|
||
|
</programlisting>
|
||
|
|
||
|
<para>
|
||
|
It is then followed by one or more module sections, specified like the
|
||
|
following:
|
||
|
</para>
|
||
|
|
||
|
<programlisting>
|
||
|
module <replaceable>module-name</replaceable>
|
||
|
<replaceable>option-name option-value</replaceable>
|
||
|
<replaceable>[...]</replaceable>
|
||
|
end module
|
||
|
</programlisting>
|
||
|
|
||
|
<para>
|
||
|
<replaceable>module-name</replaceable> must be a module from the &kde; &svn; repository (for
|
||
13 years ago
|
example, tdelibs or tdebase). Some options override global options, some
|
||
15 years ago
|
add to global options, and some global options simply can't be overridden.
|
||
|
</para>
|
||
|
|
||
|
<para>
|
||
|
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 the
|
||
|
authors using the address you can find <link linkend="authors">above</link>.
|
||
|
</para>
|
||
|
|
||
|
<itemizedlist>
|
||
|
<listitem><para><link linkend="conf-apidox">apidox</link>, to build API Documentation</para></listitem>
|
||
|
<listitem><para><link linkend="conf-apply-qt-patches">apply-qt-patches</link>, to enhance qt-copy</para></listitem>
|
||
|
<listitem><para><link linkend="conf-binpath">binpath</link>, to set the <envar>PATH</envar> variable.</para></listitem>
|
||
|
<listitem><para><link linkend="conf-branch">branch</link>, to checkout from a branch instead of /trunk.</para></listitem>
|
||
|
<listitem><para><link linkend="conf-build-dir">build-dir</link>, to set the directory to build in.</para></listitem>
|
||
|
<listitem><para><link linkend="conf-checkout-only">checkout-only</link>, to checkout only parts of a module.</para></listitem>
|
||
|
<listitem><para><link linkend="conf-colorful-output">colorful-output</link> to add color to the script output.</para></listitem>
|
||
|
<listitem><para><link linkend="conf-configure-flags">configure-flags</link> to define what flags to configure a module with.</para></listitem>
|
||
|
<listitem><para><link linkend="conf-cxxflags">cxxflags</link> to define the <envar>CXXFLAGS</envar> variable.</para></listitem>
|
||
|
<listitem><para><link linkend="conf-dest-dir">dest-dir</link> to change the directory name for a module.</para></listitem>
|
||
13 years ago
|
<listitem><para><link linkend="conf-disable-agent-check">disable-agent-check</link>, to keep tdesvn-build from checking on ssh-agent's status.</para></listitem>
|
||
15 years ago
|
<listitem><para><link linkend="conf-do-not-compile">do-not-compile</link>, to mark directories to skip building.</para></listitem>
|
||
|
<listitem><para><link linkend="conf-inst-apps">inst-apps</link>, to only build and install some directories.</para></listitem>
|
||
|
<listitem><para><link linkend="conf-install-after-build">install-after-build</link>, to avoid installing after the build process.</para></listitem>
|
||
13 years ago
|
<listitem><para><link linkend="conf-tdedir">tdedir</link>, to set the directory to install KDE to.</para></listitem>
|
||
15 years ago
|
<listitem><para><link linkend="conf-libpath">libpath</link>, to set the <envar>LD_LIBRARY_PATH</envar> variable.</para></listitem>
|
||
|
<listitem><para><link linkend="conf-make-install-prefix">make-install-prefix</link>, to run a helper program (like sudo) during make install.</para></listitem>
|
||
|
<listitem><para><link linkend="conf-make-options">make-options</link>, to pass options to the make program.</para></listitem>
|
||
|
<listitem><para><link linkend="conf-manual-build">manual-build</link>, to avoid building the module automatically.</para></listitem>
|
||
|
<listitem><para><link linkend="conf-manual-update">manual-update</link>, to avoid doing anything to the module automatically.</para></listitem>
|
||
|
<listitem><para><link linkend="conf-module-base-path">module-base-path</link>, to change where to download the module from (useful for branches and tags).</para></listitem>
|
||
|
<listitem><para><link linkend="conf-niceness">niceness</link>, to change the CPU priority.</para></listitem>
|
||
|
<listitem><para><link linkend="conf-no-rebuild-on-fail">no-rebuild-on-fail</link>, to avoid running make again if it fails.</para></listitem>
|
||
|
<listitem><para><link linkend="conf-qtdir">qtdir</link>, to set the path to Qt.</para></listitem>
|
||
|
<listitem><para><link linkend="conf-set-env">set-env</link>, to set an environment variable.</para></listitem>
|
||
|
<listitem><para><link linkend="conf-source-dir">source-dir</link>, to change where to download the source code to.</para></listitem>
|
||
13 years ago
|
<listitem><para><link linkend="conf-stop-on-failure">stop-on-failure</link>, to make tdesvn-build stop as soon as a failure is encountered.</para></listitem>
|
||
15 years ago
|
<listitem><para><link linkend="conf-svn-server">svn-server</link>, to change the server the sources are downloaded from.</para></listitem>
|
||
|
<listitem><para><link linkend="conf-use-qt-builddir-hack">use-qt-builddir-hack</link>, to give Qt a separate build directory from its source like KDE.</para></listitem>
|
||
|
<listitem><para><link linkend="conf-use-unsermake">use-unsermake</link>, to use the advanced unsermake build system.</para></listitem>
|
||
|
</itemizedlist>
|
||
|
|
||
|
|
||
|
<para>
|
||
|
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.
|
||
|
</para>
|
||
|
|
||
|
<table id="option-table">
|
||
|
<title>Table of Options</title>
|
||
|
<tgroup cols="3">
|
||
|
|
||
|
<thead>
|
||
|
<row>
|
||
|
<entry>Option-name</entry>
|
||
|
<entry>Module -> Global Behavior</entry>
|
||
|
<entry>Notes</entry>
|
||
|
</row>
|
||
|
</thead>
|
||
|
|
||
|
<tbody>
|
||
|
|
||
|
<row id="conf-apidox">
|
||
|
<entry>apidox</entry>
|
||
|
<entry>Overrides global</entry>
|
||
13 years ago
|
<entry>Set this option to <quote>true</quote> in order to have &tdesvn-build; automatically
|
||
15 years ago
|
build and install the API documentation for the module after the normal build/install
|
||
|
process. This only works for modules where <command>make apidox</command> does something,
|
||
13 years ago
|
including tdelibs, tdebase, and koffice, among others.
|
||
15 years ago
|
</entry>
|
||
|
</row>
|
||
|
|
||
|
<row id="conf-apply-qt-patches">
|
||
|
<entry>apply-qt-patches</entry>
|
||
|
<entry>Overrides global</entry>
|
||
|
<entry>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. The default is to enable the patches.</entry>
|
||
|
</row>
|
||
|
|
||
|
<row id="conf-binpath">
|
||
|
<entry>binpath</entry>
|
||
|
<entry>Can't be overridden</entry>
|
||
|
<entry><para>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
|
||
|
<filename class="directory">/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin</filename>. This environment
|
||
|
variable should include the colon-separated paths of your development
|
||
13 years ago
|
toolchain. The paths <filename class="directory">$TDEDIR/bin</filename> and
|
||
6 years ago
|
<filename class="directory">$TQTDIR/bin</filename> are automatically added. You
|
||
15 years ago
|
may use the tilde (~) for any paths you add using this option.</para>
|
||
|
</entry>
|
||
|
</row>
|
||
|
|
||
|
<row id="conf-branch">
|
||
|
<entry>branch</entry>
|
||
|
<entry>Overrides global</entry>
|
||
|
<entry><para>Set this option to checkout from a branch of KDE instead of the
|
||
|
default of "trunk", where KDE development occurs. For instance, to checkout
|
||
|
KDE 3.4 branch, you would set this option to "3.4".</para>
|
||
|
<para>Note that some modules use a different branch name. Notably, the
|
||
|
required arts module doesn't go by KDE version numbers. The arts that
|
||
|
accompanied KDE 3.4 was version 1.4.</para>
|
||
13 years ago
|
<para>If tdesvn-build fails to properly download a branch with this option, you
|
||
15 years ago
|
may have to manually specify the URL to download from using the <link
|
||
|
linkend="conf-override-url">override-url</link> option.</para>
|
||
|
</entry>
|
||
|
</row>
|
||
|
|
||
|
<row id="conf-build-dir">
|
||
|
<entry>build-dir</entry>
|
||
|
<entry>Overrides global</entry>
|
||
|
<entry>Use this option to change the directory to contain the built sources. There
|
||
|
are three different ways to use it:
|
||
|
<itemizedlist>
|
||
|
|
||
|
<listitem><para>Relative to the &kde; &svn; source directory (see <link
|
||
|
linkend="conf-source-dir">the source-dir option</link>). 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 (/).</para>
|
||
|
<para>The default value is <filename class="directory">build</filename>.</para></listitem>
|
||
|
|
||
|
<listitem><para>Absolute path. If you specify a path that begins with a /, then that path
|
||
|
is used directly. For example, <filename class="directory">/tmp/kde-obj-dir/</filename>.</para></listitem>
|
||
|
|
||
|
<listitem><para>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, <filename class="directory">~/builddir</filename> would set the build
|
||
|
directory to <filename class="directory">/home/user-name/builddir</filename>.</para></listitem>
|
||
|
|
||
|
</itemizedlist>
|
||
|
|
||
|
Perhaps surprisingly, this option can be changed per module.
|
||
|
|
||
|
</entry>
|
||
|
</row>
|
||
|
|
||
|
<row id="conf-checkout-only">
|
||
|
<entry>checkout-only</entry>
|
||
|
<entry>Overrides global</entry>
|
||
|
<entry>Set this option to checkout &svn; 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 included (if
|
||
|
necessary). When checking out piece by piece, the admin directory will be
|
||
|
pulled in from kde-common, which is where it exists on the &svn; server.
|
||
|
Although this option overrides the global option, be aware that setting this as
|
||
|
a global option makes no sense.
|
||
|
</entry>
|
||
|
</row>
|
||
|
|
||
|
<row id="conf-configure-flags">
|
||
|
<entry>configure-flags</entry>
|
||
|
<entry>Appends to global option(except for qt-copy)</entry>
|
||
|
<entry>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
|
||
|
<emphasis>overrides</emphasis> the global settings when applied to qt-copy.</entry>
|
||
|
</row>
|
||
|
|
||
|
<row id="conf-colorful-output">
|
||
|
<entry>colorful-output</entry>
|
||
|
<entry>Can't be overridden</entry>
|
||
13 years ago
|
<entry>Set this option to false to disable the colorful output of &tdesvn-build;.
|
||
|
This option defaults to <quote>true</quote>. Note that &tdesvn-build; won't output the
|
||
15 years ago
|
color codes to anything but a terminal (such as xterm, &konsole;, or the normal
|
||
|
Linux console).
|
||
|
</entry>
|
||
|
</row>
|
||
|
|
||
|
<row id="conf-cxxflags">
|
||
|
<entry>cxxflags</entry>
|
||
|
<entry>Appends to global option</entry>
|
||
|
<entry>Use this option to specify what flags to pass to <command>./configure</command> as the
|
||
|
<envar>CXXFLAGS</envar> when creating the build system for the module. This option is
|
||
|
specified here instead of with <link
|
||
|
linkend="conf-configure-flags">configure-flags</link> because this option will also
|
||
|
set the environment variable <envar>CXXFLAGS</envar> during the build process.
|
||
|
</entry>
|
||
|
</row>
|
||
|
|
||
|
<row id="conf-dest-dir">
|
||
|
<entry>dest-dir</entry>
|
||
|
<entry>Overrides global</entry>
|
||
|
<entry>Use this option to change the name a module is given on disk. For
|
||
|
example, if your module was extragear/network, you could rename it to
|
||
|
extragear-network using this option.
|
||
|
</entry>
|
||
|
</row>
|
||
|
|
||
|
<row id="conf-disable-agent-check">
|
||
|
<entry>disable-agent-check</entry>
|
||
|
<entry>Can't be overridden</entry>
|
||
|
<entry>Normally if you're using SSH to download the Subversion sources (such as
|
||
13 years ago
|
if you're using the svn+ssh protocol), tdesvn-build will try and make sure that
|
||
15 years ago
|
if you're using ssh-agent, it is actually managing some SSH identities. This is
|
||
|
to try and prevent SSH from asking for your passphrase for every module. You can
|
||
|
disable this check by setting disable-agent-check to true.
|
||
|
</entry>
|
||
|
</row>
|
||
|
|
||
|
<row id="conf-do-not-compile">
|
||
|
<entry>do-not-compile</entry>
|
||
|
<entry>Overrides global</entry>
|
||
|
<entry><para>Use this option to set the <envar>DO_NOT_COMPILE</envar> environment variable prior to
|
||
|
running the configure script. According to the <ulink
|
||
|
url="http://developer.kde.org/documentation/other/developer-faq.html">&kde;
|
||
|
Developer FAQ</ulink>, this should cause any toplevel directory you pass to not be
|
||
|
built. The directories should be space-separated.</para>
|
||
|
|
||
|
<para>Note that the sources to the programs will still be downloaded. You can use
|
||
|
the <link linkend="conf-checkout-only">checkout-only</link>
|
||
|
directive to choose directories that you want to check out.</para>
|
||
|
</entry>
|
||
|
</row>
|
||
|
|
||
|
<row id="conf-email-address">
|
||
|
<entry>email-address</entry>
|
||
|
<entry>Can't be overridden</entry>
|
||
|
<entry>
|
||
13 years ago
|
<para>Set this option to the e-mail address tdesvn-build should send from should
|
||
15 years ago
|
it ever need to send e-mail. You do not need to worry about this if you don't
|
||
|
use any feature which send e-mail. (They are all disabled by default).
|
||
|
</para>
|
||
|
|
||
|
<para>Currently only <link linkend="conf-email-on-compile-error">email-on-compile-error</link>
|
||
|
needs this option.
|
||
|
</para>
|
||
|
</entry>
|
||
|
</row>
|
||
|
|
||
|
<row id="conf-email-on-compile-error">
|
||
|
<entry>email-on-compile-error</entry>
|
||
|
<entry>Can't be overridden</entry>
|
||
|
<entry>
|
||
|
<para>You can set this option to the email address to send a report to when a
|
||
13 years ago
|
module fails to build. tdesvn-build will wait until all the modules are done
|
||
15 years ago
|
and collate all of the results in the report. The report is only sent if a
|
||
|
module fails to build.
|
||
|
</para>
|
||
|
|
||
|
<para>Please see the <link linkend="conf-email-address">email-address</link>
|
||
13 years ago
|
option to set the address tdesvn-build should send from, since the default
|
||
15 years ago
|
is usually not what you want.
|
||
|
</para>
|
||
|
</entry>
|
||
|
</row>
|
||
|
|
||
|
<row id="conf-inst-apps">
|
||
|
<entry>inst-apps</entry>
|
||
|
<entry>Overrides global</entry>
|
||
|
<entry><para>This is the opposite of the <link
|
||
|
linkend="conf-do-not-compile">do-not-compile</link> option. This option makes it
|
||
|
so that only the given toplevel directories are built. The directories should
|
||
|
be space-separated.</para>
|
||
|
|
||
|
<para>Any changes don't take effect until the next time
|
||
|
<command>make <option>-f</option> Makefile.cvs</command> is
|
||
|
run, either automatically by the script, or manually by the <link
|
||
|
linkend="cmdline-refresh-build"><option>--refresh-build</option></link> or <link
|
||
|
linkend="cmdline-recreate-configure"><option>--recreate-configure</option></link> options.
|
||
|
</para>
|
||
|
|
||
|
<para>Note that the sources to the programs will still be downloaded. You can use
|
||
|
the <link linkend="conf-checkout-only">checkout-only</link>
|
||
|
directive to choose directories that you want to check out.</para>
|
||
|
</entry>
|
||
|
</row>
|
||
|
|
||
|
<row id="conf-install-after-build">
|
||
|
<entry>install-after-build</entry>
|
||
|
<entry>Overrides global</entry>
|
||
|
<entry>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
|
||
|
<link linkend="cmdline-no-install"><option>--no-install</option></link> command line flag.
|
||
|
</entry>
|
||
|
</row>
|
||
|
|
||
13 years ago
|
<row id="conf-tdedir">
|
||
|
<entry>tdedir</entry>
|
||
15 years ago
|
<entry>Can't be overridden</entry>
|
||
|
<entry>This option sets the directory that &kde; will be installed to after it is
|
||
|
built. It defaults to <filename class="directory">~/kde</filename>. If you change this to a directory
|
||
|
needing root access, you may want to read about the <link
|
||
|
linkend="conf-make-install-prefix">make-install-prefix</link> option as well.</entry>
|
||
|
</row>
|
||
|
|
||
|
<row id="conf-libpath">
|
||
|
<entry>libpath</entry>
|
||
|
<entry>Can't be overridden</entry>
|
||
|
<entry>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
|
||
13 years ago
|
value is blank, but the paths <filename class="directory">$TDEDIR/lib</filename> and
|
||
6 years ago
|
<filename class="directory">$TQTDIR/lib</filename> are automatically
|
||
15 years ago
|
added. You may use the tilde (~) for any paths you add using this option.
|
||
|
</entry>
|
||
|
</row>
|
||
|
|
||
|
<row id="conf-log-dir">
|
||
|
<entry>log-dir</entry>
|
||
|
<entry>Overrides global</entry>
|
||
|
<entry>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 or later.
|
||
|
</entry>
|
||
|
</row>
|
||
|
|
||
|
<row id="conf-make-install-prefix">
|
||
|
<entry>make-install-prefix</entry>
|
||
|
<entry>Overrides global</entry>
|
||
|
<entry>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.</entry>
|
||
|
</row>
|
||
|
|
||
|
<row id="conf-make-options">
|
||
|
<entry>make-options</entry>
|
||
|
<entry>Overrides global</entry>
|
||
|
<entry>Set this variable in order to pass command line options to the make
|
||
|
command. This is useful for programs such as <ulink
|
||
|
url="http://distcc.samba.org/"><application>distcc</application></ulink>.
|
||
|
<application>distcc</application> allows you to share your
|
||
|
compilation work among more than one computer. To use it, you must use the
|
||
|
<option>-j</option> option to make. Now you can. According to the docs, 2 *
|
||
|
number_of_network_cpus is recommended. I have 1 CPU total, so it would be
|
||
|
<option>-j2</option> in my case.</entry>
|
||
|
</row>
|
||
|
|
||
|
<row id="conf-manual-build">
|
||
|
<entry>manual-build</entry>
|
||
|
<entry>Overrides global</entry>
|
||
|
<entry>Set the option value to <quote>true</quote> to keep the build process from attempting to
|
||
|
build this module. It will still be kept up-to-date when updating from &svn;.
|
||
|
This option is exactly equivalent to the <link
|
||
|
linkend="cmdline-no-build"><option>--no-build</option></link> command line option.
|
||
|
</entry>
|
||
|
</row>
|
||
|
|
||
|
<row id="conf-manual-update">
|
||
|
<entry>manual-update</entry>
|
||
|
<entry>Overrides global</entry>
|
||
|
<entry>Set the option value to <quote>true</quote> to keep the build process from attempting to
|
||
|
update (and by extension, build or install) this module. If you set this
|
||
|
option for a module, then you have pretty much commented it out.
|
||
|
</entry>
|
||
|
</row>
|
||
|
|
||
|
<row id="conf-module-base-path">
|
||
|
<entry>module-base-path</entry>
|
||
|
<entry>Overrides global</entry>
|
||
13 years ago
|
<entry><para>Set this option to override &tdesvn-build;'s default directory path to the
|
||
15 years ago
|
module in question. This can be used, for example, to pull specific branches
|
||
|
or tagged versions of libraries. <ulink url="http://websvn.kde.org/">The &kde;
|
||
|
Source Viewer</ulink> is invaluable in helping to pick the right path.</para>
|
||
13 years ago
|
<para>Note that &tdesvn-build; constructs the final path according to the
|
||
15 years ago
|
following template:
|
||
|
<varname>$svn-server</varname>/home/kde/<varname>$module-base-path</varname>/<varname>$module-name</varname>.
|
||
|
</para>
|
||
|
<para>The default value is either <quote>trunk</quote> or
|
||
|
<quote>trunk/KDE</quote>, depending on the modulename.</para>
|
||
|
</entry>
|
||
|
</row>
|
||
|
|
||
|
<row id="conf-niceness">
|
||
|
<entry>niceness</entry>
|
||
|
<entry>Can't be overridden</entry>
|
||
|
<entry>Set this option to a number between 20 and 0. The higher the number, the
|
||
13 years ago
|
lower a priority &tdesvn-build; will set for itself. The default is 10.
|
||
15 years ago
|
</entry>
|
||
|
</row>
|
||
|
|
||
|
<row id="conf-no-rebuild-on-fail">
|
||
|
<entry>no-rebuild-on-fail</entry>
|
||
|
<entry>Overrides global</entry>
|
||
13 years ago
|
<entry>Set this option value to <quote>true</quote> to always prevent &tdesvn-build; from trying
|
||
15 years ago
|
to rebuild this module if it should fail an incremental build. Normally
|
||
13 years ago
|
&tdesvn-build; will try to rebuild the module from scratch to counteract the
|
||
15 years ago
|
effect of a stray &svn; update messing up the build system.</entry>
|
||
|
</row>
|
||
|
|
||
|
<row id="conf-override-url">
|
||
|
<entry>override-url</entry>
|
||
|
<entry>Overrides global</entry>
|
||
13 years ago
|
<entry>If you set this option, tdesvn-build will use its value as the URL
|
||
15 years ago
|
to pass to Subversion <emphasis>completely unchanged</emphasis>. You should
|
||
13 years ago
|
generally use this if you want to download a specific release but tdesvn-build
|
||
15 years ago
|
can't figure out what you mean using <link linkend="conf-branch">branch</link>.
|
||
|
</entry>
|
||
|
</row>
|
||
|
|
||
|
<row id="conf-qtdir">
|
||
|
<entry>qtdir</entry>
|
||
|
<entry>Can't be overridden</entry>
|
||
6 years ago
|
<entry>Set this option to set the environment variable TQTDIR while building.
|
||
15 years ago
|
You can't override this setting in a module option. If you don't specify
|
||
|
this option, it defaults to
|
||
|
<filename class="directory"><varname>$(source-dir)</varname>/build/qt-copy</filename>,
|
||
|
which uses the qt-copy module included in the &kde; source repository.
|
||
|
You may use a tilde (~) to represent your home directory.
|
||
|
</entry>
|
||
|
</row>
|
||
|
|
||
|
<row id="conf-remove-after-install">
|
||
|
<entry>remove-after-install</entry>
|
||
|
<entry>Overrides global</entry>
|
||
|
<entry><para>If you are low on hard disk space, you may want to use this option
|
||
|
in order to automatically delete the build directory (or both the source and
|
||
|
build directories for one-time installs) after the module is successfully
|
||
|
installed.
|
||
|
</para>
|
||
|
<para>Possible values for this option are:
|
||
|
<itemizedlist>
|
||
|
<listitem><para>none - Do not delete anything (This is the default).</para></listitem>
|
||
|
<listitem><para>builddir - Delete the build directory, but not the source.</para></listitem>
|
||
|
<listitem><para>all - Delete both the source code and build directory.</para></listitem>
|
||
|
</itemizedlist>
|
||
|
</para>
|
||
|
|
||
|
<para>Note that using this option can have a significant detrimental impact on
|
||
|
both your bandwidth usage (if you use 'all') and the time taken to compile KDE,
|
||
13 years ago
|
since tdesvn-build will be unable to perform incremental builds.</para>
|
||
15 years ago
|
</entry>
|
||
|
</row>
|
||
|
|
||
|
<row id="conf-set-env">
|
||
|
<entry>set-env</entry>
|
||
|
<entry>Overrides global</entry>
|
||
|
<entry><para>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:</para>
|
||
|
<screen><command>set-env</command> <envar>RONALD</envar> <userinput>McDonald</userinput></screen>
|
||
|
<para>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).</para>
|
||
|
</entry>
|
||
|
</row>
|
||
|
|
||
|
<row id="conf-source-dir">
|
||
|
<entry>source-dir</entry>
|
||
|
<entry>Can't be overridden</entry>
|
||
|
<entry>This option is used to set the directory on your computer to store the &kde;
|
||
|
&svn; sources at. If you don't specify this value, the default is
|
||
13 years ago
|
<filename class="directory">~/tdesvn</filename>. If
|
||
15 years ago
|
you do specify this value, use an absolute path name.
|
||
|
</entry>
|
||
|
</row>
|
||
|
|
||
|
<row id="conf-svn-server">
|
||
|
<entry>svn-server</entry>
|
||
|
<entry>Can't be overridden</entry>
|
||
|
<entry>This option is used to set the server used to check out from &svn;.
|
||
|
The default is the anonymous &svn; repository, <emphasis>svn://anonsvn.kde.org/</emphasis></entry>
|
||
|
</row>
|
||
|
|
||
|
<row id="conf-stop-on-failure">
|
||
|
<entry>stop-on-failure</entry>
|
||
|
<entry>Overrides global</entry>
|
||
|
<entry>Set this option value to <quote>true</quote> to cause the script to stop execution
|
||
|
after an error occurs during the build or install process. This option is off
|
||
|
by default.
|
||
|
</entry>
|
||
|
</row>
|
||
|
|
||
|
<row id="conf-tag">
|
||
|
<entry>tag</entry>
|
||
|
<entry>Overrides global</entry>
|
||
|
<entry><para>Use this option to download a specific release of a module.</para>
|
||
|
<para><emphasis>NOTE:</emphasis> The odds are very good that you DO NOT WANT
|
||
|
to use this option. KDE releases are available in tarball form from <ulink
|
||
|
url="ftp://ftp.kde.org/">The KDE FTP site</ulink> or one of <ulink
|
||
|
url="http://download.kde.org/download.php">its mirrors</ulink>.</para>
|
||
13 years ago
|
<para>If you are using tdesvn-build because you have having trouble getting
|
||
15 years ago
|
a KDE release to build on your distribution, consider using the <ulink
|
||
|
url="http://developer.kde.org/build/konstruct/">Konstruct build tool</ulink>
|
||
|
instead, which works from the release tarballs.</para>
|
||
|
</entry>
|
||
|
</row>
|
||
|
|
||
|
<row id="conf-use-qt-builddir-hack">
|
||
|
<entry>use-qt-builddir-hack</entry>
|
||
|
<entry>Overrides global</entry>
|
||
|
<entry>Although this option overrides the global option, it only makes sense for
|
||
|
qt-copy. Set this option to <quote>true</quote> to enable the script's
|
||
|
<emphasis>experimental</emphasis> srcdir != builddir mode. When enabled,
|
||
13 years ago
|
&tdesvn-build; will copy the qt-copy source module to the build directory,
|
||
6 years ago
|
and perform builds from there. That means your TQTDIR environment variable
|
||
15 years ago
|
should be set to
|
||
|
<filename class="directory">$(qt-copy-build-dir)/qt-copy/lib</filename>
|
||
|
instead. You should also change your <link linkend="conf-qtdir">qtdir</link>
|
||
|
option accordingly. Incremental make should still work in this mode, as the
|
||
|
timestamps will be preserved after the copy. If you use the
|
||
|
<link linkend="conf-apply-qt-patches">apply-qt-patches</link> option, the patches
|
||
|
will be applied in the build directory, not the source directory.
|
||
|
This option defaults to <quote>true</quote>.
|
||
|
</entry>
|
||
|
</row>
|
||
|
|
||
|
<row id="conf-use-unsermake">
|
||
|
<entry>use-unsermake</entry>
|
||
|
<entry>Overrides global</entry>
|
||
|
<entry><para>Set this option to <quote>true</quote> 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
|
||
|
<ulink url="http://www.csh.rit.edu/slashdot/distcc.html">distributed building
|
||
|
systems</ulink>. This option defaults to <quote>true</quote> (for most modules).
|
||
|
</para>
|
||
|
|
||
13 years ago
|
<para>Normally if you use this option tdesvn-build will automatically keep
|
||
15 years ago
|
unsermake up-to-date. This may start to get annoying, especially if you are
|
||
|
managing unsermake yourself. If this is the case, you can set this option to
|
||
13 years ago
|
<quote>self</quote>, and tdesvn-build will still use unsermake, but will not
|
||
15 years ago
|
do anything special to keep it updated.
|
||
|
</para>
|
||
|
</entry>
|
||
|
</row>
|
||
|
|
||
|
</tbody>
|
||
|
|
||
|
</tgroup>
|
||
|
</table>
|
||
|
|
||
|
</chapter>
|
||
|
|
||
|
<chapter id="cmdline">
|
||
|
<title>Command Line Options and Environment Variables</title>
|
||
|
|
||
|
<para>
|
||
|
This script doesn't use environment variables. If you need to set environment
|
||
|
variables for the build or install process, please see the <link
|
||
|
linkend="conf-set-env">set-env</link> option.
|
||
|
</para>
|
||
|
|
||
|
<para>
|
||
|
The script accepts the following command-line options:
|
||
|
</para>
|
||
|
|
||
|
<variablelist>
|
||
|
|
||
|
<varlistentry id="cmdline-help">
|
||
|
<term><option>--help</option></term>
|
||
|
<listitem><para>
|
||
|
only display simple help on this script.
|
||
|
</para></listitem>
|
||
|
</varlistentry>
|
||
|
|
||
|
<varlistentry id="cmdline-version">
|
||
|
<term><option>--version</option></term>
|
||
|
<listitem><para>
|
||
|
display the program version.
|
||
|
</para></listitem>
|
||
|
</varlistentry>
|
||
|
|
||
|
<varlistentry id="cmdline-author">
|
||
|
<term><option>--author</option></term>
|
||
|
<listitem><para>
|
||
|
display contact information for the
|
||
|
author.
|
||
|
</para></listitem>
|
||
|
</varlistentry>
|
||
|
|
||
|
<varlistentry id="cmdline-color">
|
||
|
<term><option>--color</option></term>
|
||
|
<listitem><para>
|
||
|
enable colorful output.
|
||
|
</para></listitem>
|
||
|
</varlistentry>
|
||
|
|
||
|
<varlistentry id="cmdline-no-color">
|
||
|
<term><option>--no-color</option></term>
|
||
|
<listitem><para>
|
||
|
disable colorful output.
|
||
|
</para></listitem>
|
||
|
</varlistentry>
|
||
|
|
||
|
<varlistentry id="cmdline-pretend">
|
||
|
<term><option>--pretend</option> (or <option>-p</option>)</term>
|
||
|
<listitem><para>
|
||
|
don't actually DO anything, but act like you did.
|
||
|
</para></listitem>
|
||
|
</varlistentry>
|
||
|
|
||
|
<varlistentry id="cmdline-quiet">
|
||
|
<term><option>--quiet</option> (or <option>-q</option>)</term>
|
||
|
<listitem><para>
|
||
|
Don't be as noisy with the output. With this switch only the basics are
|
||
|
output.
|
||
|
</para></listitem>
|
||
|
</varlistentry>
|
||
|
|
||
|
<varlistentry id="cmdline-really-quiet">
|
||
|
<term><option>--really-quiet</option></term>
|
||
|
<listitem><para>
|
||
|
Only output warnings and errors.
|
||
|
</para></listitem>
|
||
|
</varlistentry>
|
||
|
|
||
|
<varlistentry id="cmdline-verbose">
|
||
|
<term><option>--verbose</option></term>
|
||
|
<listitem><para>
|
||
13 years ago
|
Be very descriptive about what's going on, and what tdesvn-build is doing.
|
||
15 years ago
|
</para></listitem>
|
||
|
</varlistentry>
|
||
|
|
||
|
<varlistentry id="cmdline-svn-only">
|
||
|
<term><option>--svn-only</option></term>
|
||
|
<listitem><para>
|
||
|
only perform the source update.
|
||
|
</para></listitem>
|
||
|
</varlistentry>
|
||
|
|
||
|
<varlistentry id="cmdline-build-only">
|
||
|
<term><option>--build-only</option></term>
|
||
|
<listitem><para>
|
||
|
only perform the build process.
|
||
|
</para></listitem>
|
||
|
</varlistentry>
|
||
|
|
||
|
<varlistentry id="cmdline-ignore-modules">
|
||
|
<term><option>--ignore-modules</option></term>
|
||
|
<listitem><para>
|
||
|
don't include the modules passed on the rest of the command line in the update/build
|
||
|
process.
|
||
|
</para></listitem>
|
||
|
</varlistentry>
|
||
|
|
||
|
<varlistentry id="cmdline-no-svn">
|
||
|
<term><option>--no-svn</option></term>
|
||
|
<listitem><para>
|
||
|
skip contacting the &svn; server.
|
||
|
</para></listitem>
|
||
|
</varlistentry>
|
||
|
|
||
|
<varlistentry id="cmdline-no-build">
|
||
|
<term><option>--no-build</option></term>
|
||
|
<listitem><para>
|
||
|
skip the build process.
|
||
|
</para></listitem>
|
||
|
</varlistentry>
|
||
|
|
||
|
<varlistentry id="cmdline-no-install">
|
||
|
<term><option>--no-install</option></term>
|
||
|
<listitem><para>
|
||
|
don't automatically install packages after they're built.
|
||
|
</para></listitem>
|
||
|
</varlistentry>
|
||
|
|
||
|
<varlistentry id="cmdline-debug">
|
||
|
<term><option>--debug</option></term>
|
||
|
<listitem><para>
|
||
|
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.
|
||
|
</para></listitem>
|
||
|
</varlistentry>
|
||
|
|
||
|
<varlistentry id="cmdline-no-rebuild-on-fail">
|
||
|
<term><option>--no-rebuild-on-fail</option></term>
|
||
|
<listitem><para>
|
||
|
don't try and
|
||
13 years ago
|
rebuild modules that have failed building from scratch. &tdesvn-build; will
|
||
15 years ago
|
never try to do this to a module that already was tried to be built from
|
||
|
scratch.
|
||
|
</para></listitem>
|
||
|
</varlistentry>
|
||
|
|
||
|
<varlistentry id="cmdline-refresh-build">
|
||
|
<term><option>--refresh-build</option></term>
|
||
|
<listitem><para>
|
||
|
recreate the build system and make from scratch.
|
||
|
</para></listitem>
|
||
|
</varlistentry>
|
||
|
|
||
|
<varlistentry id="cmdline-reconfigure">
|
||
|
<term><option>--reconfigure</option></term>
|
||
|
<listitem><para>
|
||
|
run the configure script again
|
||
|
without cleaning the build directory.
|
||
|
</para></listitem>
|
||
|
</varlistentry>
|
||
|
|
||
|
<varlistentry id="cmdline-recreate-configure">
|
||
|
<term><option>--recreate-configure</option></term>
|
||
|
<listitem><para>
|
||
|
run <command>make <option>-f</option>
|
||
|
Makefile.cvs</command> again to create the configure script, and continue
|
||
|
building as normal. This option implies <option><link linkend="cmdline-reconfigure">--reconfigure</link></option>.
|
||
|
</para></listitem>
|
||
|
</varlistentry>
|
||
|
|
||
|
<varlistentry id="cmdline-resume">
|
||
|
<term><option>--resume</option></term>
|
||
|
<listitem><para>
|
||
|
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 <link linkend="cmdline-no-svn"><option>--no-svn</option></link>. You
|
||
|
should not specify other module names on the command line.
|
||
|
</para></listitem>
|
||
|
</varlistentry>
|
||
|
|
||
|
<varlistentry id="cmdline-resume-from">
|
||
|
<term><option>--resume-from</option></term>
|
||
|
<listitem><para>
|
||
|
which is like <link linkend="cmdline-resume"><option>--resume</option></link>, except that you supply
|
||
|
the module to start building from as the next parameter on the command line. This option
|
||
|
implies <link linkend="cmdline-no-svn"><option>--no-svn</option></link>. You should not specify
|
||
|
other module names on the command line.
|
||
|
</para></listitem>
|
||
|
</varlistentry>
|
||
|
|
||
|
<varlistentry id="cmdline-rc-file">
|
||
|
<term><option>--rc-file</option></term>
|
||
|
<listitem><para>
|
||
|
which interprets the next command line
|
||
|
parameter as the file to read the configuration options from. The default
|
||
13 years ago
|
value for this parameter is ~/.tdesvn-buildrc.
|
||
15 years ago
|
</para></listitem>
|
||
|
</varlistentry>
|
||
|
|
||
|
<varlistentry id="cmdline-prefix">
|
||
|
<term><option>--prefix=</path/to/kde></option></term>
|
||
|
<listitem><para>
|
||
|
which allows you to change the directory that &kde; will be installed to from the command line.
|
||
|
This option implies <link linkend="cmdline-reconfigure"><option>--reconfigure</option></link>.
|
||
|
</para></listitem>
|
||
|
</varlistentry>
|
||
|
|
||
|
<varlistentry id="cmdline-build-system-only">
|
||
|
<term><option>--build-system-only</option></term>
|
||
|
<listitem><para>
|
||
|
stop after running <command>make <option>-f</option> Makefile.cvs</command>. The configure
|
||
13 years ago
|
script will still need to be run, which &tdesvn-build; will do next time. This lets you
|
||
15 years ago
|
prepare all the configure scripts at once so you can view the <command>./configure
|
||
|
<option>--help</option></command> for each module, and edit your configure-flags accordingly.
|
||
|
</para></listitem>
|
||
|
</varlistentry>
|
||
|
|
||
|
<varlistentry id="cmdline-install"><term><option>--install</option></term>
|
||
|
<listitem><para>
|
||
|
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 <option>--install</option>, they are all assumed to be modules to install.
|
||
|
</para></listitem>
|
||
|
</varlistentry>
|
||
|
|
||
|
<varlistentry id="cmdline-global-option">
|
||
|
<term><option>--<option-name>=</option></term>
|
||
|
<listitem><para>
|
||
|
You can use this option to override an option in your configuration file for
|
||
|
every module. For instance, to override the <link
|
||
|
linkend="conf-log-dir">log-dir</link> option, you would do:
|
||
|
<option>--log-dir=/path/to/dir</option>.
|
||
|
</para></listitem>
|
||
|
</varlistentry>
|
||
|
|
||
|
<varlistentry id="cmdline-module-option">
|
||
|
<term><option>--<module-name>,<option-name>=</option></term>
|
||
|
<listitem><para>
|
||
|
You can use this option to override an option in your configuration file for
|
||
|
a specific module. For instance, to override the <link
|
||
13 years ago
|
linkend="conf-use-unsermake">use-unsermake</link> option for tdemultimedia, you
|
||
|
would do: <option>--tdemultimedia,use-unsermake=false</option>.
|
||
15 years ago
|
</para></listitem>
|
||
|
</varlistentry>
|
||
|
|
||
|
</variablelist>
|
||
|
|
||
|
<para>
|
||
|
Any other command-line options are assumed to be modules to update and build.
|
||
|
Please, don't mix building with installing.
|
||
|
</para>
|
||
|
|
||
|
</chapter>
|
||
|
|
||
|
<chapter id="credits-and-licenses">
|
||
|
<title>Credits And Licenses</title>
|
||
|
|
||
|
&underFDL;
|
||
|
|
||
|
</chapter>
|
||
|
|
||
|
</book>
|