To use the script, you must have a file in your home directory called
.tdesvn-buildrc
, which describes the modules you would
like to download and build.
It starts with the global options, specified like the following:
globaloption-name option-value
[...]
end global
It is then followed by one or more module sections, specified like the following:
modulemodule-name
option-name option-value
[...]
end module
module-name
must be a module from the KDE Subversion repository (for
example, tdelibs or tdebase). Some options override global options, some
add to global options, and some global options simply can't be overridden.
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 above.
apidox, to build API Documentation
apply-qt-patches, to enhance qt-copy
binpath, to set the PATH
variable.
branch, to checkout from a branch instead of /trunk.
build-dir, to set the directory to build in.
checkout-only, to checkout only parts of a module.
colorful-output to add color to the script output.
configure-flags to define what flags to configure a module with.
cxxflags to define the CXXFLAGS
variable.
dest-dir to change the directory name for a module.
disable-agent-check, to keep tdesvn-build from checking on ssh-agent's status.
do-not-compile, to mark directories to skip building.
inst-apps, to only build and install some directories.
install-after-build, to avoid installing after the build process.
tdedir, to set the directory to install KDE to.
libpath, to set the LD_LIBRARY_PATH
variable.
make-install-prefix, to run a helper program (like sudo) during make install.
make-options, to pass options to the make program.
manual-build, to avoid building the module automatically.
manual-update, to avoid doing anything to the module automatically.
module-base-path, to change where to download the module from (useful for branches and tags).
niceness, to change the CPU priority.
no-rebuild-on-fail, to avoid running make again if it fails.
qtdir, to set the path to Qt.
set-env, to set an environment variable.
source-dir, to change where to download the source code to.
stop-on-failure, to make tdesvn-build stop as soon as a failure is encountered.
svn-server, to change the server the sources are downloaded from.
use-qt-builddir-hack, to give Qt a separate build directory from its source like KDE.
use-unsermake, to use the advanced unsermake build system.
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.
Table 4.1. Table of Options
Option-name | Module -> Global Behavior | Notes |
---|---|---|
apidox | Overrides global | Set this option to “true” in order to have tdesvn-build automatically build and install the API documentation for the module after the normal build/install process. This only works for modules where make apidox does something, including tdelibs, tdebase, and koffice, among others. |
apply-qt-patches | Overrides global | 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. |
binpath | Can't be overridden | 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
|
branch | Overrides global | 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". 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. If tdesvn-build fails to properly download a branch with this option, you may have to manually specify the URL to download from using the override-url option. |
build-dir | Overrides global | Use this option to change the directory to contain the built sources. There
are three different ways to use it:
|
checkout-only | Overrides global | Set this option to checkout Subversion 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 Subversion server. Although this option overrides the global option, be aware that setting this as a global option makes no sense. |
configure-flags | Appends to global option(except for qt-copy) | 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 overrides the global settings when applied to qt-copy. |
colorful-output | Can't be overridden | Set this option to false to disable the colorful output of tdesvn-build. This option defaults to “true”. Note that tdesvn-build won't output the color codes to anything but a terminal (such as xterm, Konsole, or the normal Linux console). |
cxxflags | Appends to global option | 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 configure-flags because this option will also
set the environment variable CXXFLAGS during the build process.
|
dest-dir | Overrides global | 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. |
disable-agent-check | Can't be overridden | Normally if you're using SSH to download the Subversion sources (such as if you're using the svn+ssh protocol), tdesvn-build will try and make sure that 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. |
do-not-compile | Overrides global | Use this option to set the Note that the sources to the programs will still be downloaded. You can use the checkout-only directive to choose directories that you want to check out. |
email-address | Can't be overridden |
Set this option to the e-mail address tdesvn-build should send from should 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). Currently only email-on-compile-error needs this option. |
email-on-compile-error | Can't be overridden |
You can set this option to the email address to send a report to when a module fails to build. tdesvn-build will wait until all the modules are done and collate all of the results in the report. The report is only sent if a module fails to build. Please see the email-address option to set the address tdesvn-build should send from, since the default is usually not what you want. |
inst-apps | Overrides global | This is the opposite of the do-not-compile option. This option makes it so that only the given toplevel directories are built. The directories should be space-separated. Any changes don't take effect until the next time
make Note that the sources to the programs will still be downloaded. You can use the checkout-only directive to choose directories that you want to check out. |
install-after-build | Overrides global | 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
--no-install command line flag.
|
tdedir | Can't be overridden | This option sets the directory that KDE will be installed to after it is
built. It defaults to ~/kde . If you change this to a directory
needing root access, you may want to read about the make-install-prefix option as well. |
libpath | Can't be overridden | 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 $TDEDIR/lib and
$TQTDIR/lib are automatically
added. You may use the tilde (~) for any paths you add using this option.
|
log-dir | Overrides global | 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. |
make-install-prefix | Overrides global | 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. |
make-options | Overrides global | Set this variable in order to pass command line options to the make
command. This is useful for programs such as distcc.
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 1 CPU total, so it would be
-j2 in my case. |
manual-build | Overrides global | 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 Subversion.
This option is exactly equivalent to the --no-build command line option.
|
manual-update | Overrides global | Set the option value to “true” 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. |
module-base-path | Overrides global | Set this option to override tdesvn-build's default directory path to the module in question. This can be used, for example, to pull specific branches or tagged versions of libraries. The KDE Source Viewer is invaluable in helping to pick the right path. Note that tdesvn-build constructs the final path according to the
following template:
The default value is either “trunk” or “trunk/KDE”, depending on the modulename. |
niceness | Can't be overridden | Set this option to a number between 20 and 0. The higher the number, the lower a priority tdesvn-build will set for itself. The default is 10. |
no-rebuild-on-fail | Overrides global | Set this option value to “true” to always prevent tdesvn-build from trying to rebuild this module if it should fail an incremental build. Normally tdesvn-build will try to rebuild the module from scratch to counteract the effect of a stray Subversion update messing up the build system. |
override-url | Overrides global | If you set this option, tdesvn-build will use its value as the URL to pass to Subversion completely unchanged. You should generally use this if you want to download a specific release but tdesvn-build can't figure out what you mean using branch. |
qtdir | Can't be overridden | Set this option to set the environment variable TQTDIR while building.
You can't override this setting in a module option. If you don't specify
this option, it defaults to
,
which uses the qt-copy module included in the KDE source repository.
You may use a tilde (~) to represent your home directory.
|
remove-after-install | Overrides global | 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. Possible values for this option are:
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, since tdesvn-build will be unable to perform incremental builds. |
set-env | Overrides global | 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: set-env 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). |
source-dir | Can't be overridden | This option is used to set the directory on your computer to store the KDE
Subversion sources at. If you don't specify this value, the default is
~/tdesvn . If
you do specify this value, use an absolute path name.
|
svn-server | Can't be overridden | This option is used to set the server used to check out from Subversion. The default is the anonymous Subversion repository, svn://anonsvn.kde.org/ |
stop-on-failure | Overrides global | 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. |
tag | Overrides global | Use this option to download a specific release of a module. NOTE: The odds are very good that you DO NOT WANT to use this option. KDE releases are available in tarball form from The KDE FTP site or one of its mirrors. If you are using tdesvn-build because you have having trouble getting a KDE release to build on your distribution, consider using the Konstruct build tool instead, which works from the release tarballs. |
use-qt-builddir-hack | Overrides global | Although this option overrides the global option, it only makes sense for
qt-copy. Set this option to “true” to enable the script's
experimental srcdir != builddir mode. When enabled,
tdesvn-build will copy the qt-copy source module to the build directory,
and perform builds from there. That means your TQTDIR environment variable
should be set to
$(qt-copy-build-dir)/qt-copy/lib
instead. You should also change your qtdir
option accordingly. Incremental make should still work in this mode, as the
timestamps will be preserved after the copy. If you use the
apply-qt-patches option, the patches
will be applied in the build directory, not the source directory.
This option defaults to “true”.
|
use-unsermake | Overrides global | Set this option to “true” 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 distributed building systems. This option defaults to “true” (for most modules). Normally if you use this option tdesvn-build will automatically keep 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 “self”, and tdesvn-build will still use unsermake, but will not do anything special to keep it updated. |
Would you like to comment or contribute an update to this page?
Send feedback to the TDE Development Team