kdecvs-build 0.87 review
Downloadkdecvs-build is a Perl script to help users install KDE from CVS
|
|
kdecvs-build is a Perl script to help users install KDE from CVS. Unlike the two scripts available at http://developer.kde.org/build/compile_cvs.html, this script neither requires nor uses CVSup, for those who either can't or don't feel like installing it.
Here are some key features of "kdecvs build":
Automatically checks out modules from CVS or updates from CVS, as appropriate.
Support for checking out specific branches of CVS modules.
Times the build process for modules.
Will automatically try to rebuild modules that were using incremental make, which is prone to failure after certain kinds of CVS commits.
Can resume a previous script, or start the build process from a particular module.
Much better support for qt-copy than 0.4x.
Can create a .cvsrc automatically if you forget to. .cvspass still isn't automatically created.
Unsermake support.
Tilde-expansion for your configuration options. For example, you can specify:
qtdir ~/kdecvs/qt-copy
Configurable build and logging directories
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 use-qt-builddir-hack).
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.
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.
You can specify various environment values to be used during the build, including KDEDIR, QTDIR, DO_NOT_COMPILE, and CXXFLAGS.
Includes CVS over SSH support. The script CANNOT access your private key if it is password protected, so using ssh-agent is recommended.
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.
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 system() call, so I would not recommend running it as root at this point.
You can use make-install-prefix to prefix the make install command line with a separate command, which is useful for sudo.
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.
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.
Can log output of all commands to a file in $KDECVSDIR/log.
Limitations:
Find the fastest KDE CVS mirror. There isn't even a list shipped with the script at this point.
Brush your teeth. You should remember to do that yourself.
The script probably isn't bug-free. Sorry.
What's New in This Release:
New features:
Add KDE-specific directory to pkg-config search path, so that digikam will build without any special help.
Added option manual-update, which prevents a module from updating, building, and installing unless it is specified on the command line.
Bug fixes:
Don't warn when specifying modules on the command line along with the --install option.
kdecvs-build 0.87 keywords