Version history: 0.82 * Add hack to make kdebindings build using builddir == srcdir even though srcdir is really != builddir. Version history: 0.81 * Fix use-qt-builddir-hack to work on the second and subsequent runs. * Add a warning if you're using qt-copy but qtdir isn't set to use qt-copy Version history: 0.80 * Fixed an output quibble discovered by Michal Rokos * Added set-env config option. Version history: 0.77 * Added inst-apps config option. Version history: 0.76 * Added --cvs-only option. * Added --build-only option. * --help output updates. Version history: 0.75 * Add signal handler for SIGPIPE to stop less from aborting the script prematurely. * Silence warnings when the script informs you that you're missing the conf file. * Try to build modules even if one failed in the update process. * Added --rc-file option. * Make --debug option use logging in addition to dumping to stdout. Version history: 0.74 * Fixed bug processing command line options where --help would call the wrong exit routine, leading to some warnings. I had a fix for this myself, but someone sent a (correct) patch, which I couldn't help but to apply. Thanks Kurt! * On the same note, the --install option wouldn't work right either because we need the conf file to be loaded, but that can't happen until the 'simple' options like --help, --version, and --author are done. So now options which require an argument set a flag, and the processing is done later. * Add feature for Amilcar, failed packages will display the path to the appropriate log file. * Another feature, automatically refresh build system if a Makefile.am is added. Version history: 0.73 * Added support for timing a build to the program. Each make attempt is timed, along with the install process, and the overall time spent trying to install. * I can't seem to find a way to separate compilation and linking with unsermake, so there will be no such option forthcoming. Version history: 0.73-pre1 * Improved autorebuilder process. Now the module's build directory won't be unnecessarily cleaned. * Added new configuration file option make-install-prefix. * Added exception handling to the main loop. You should never again have the script crash and then have it complain that it's still running. * The build process now outputs to a file called build-status in the log directory for that run, which reports on the success/failure of each build attempt. * Fix a bug with use-qt-builddir-hack that caused it to affect all modules during the build system setup instead of just qt-copy. * Don't add 'global' to the log directory path if we're getting the global log directory. * Script now informs you of your log directory at the end of the script run. * Fix infinite loop when you've disable automatic module install. * Added --resume and --resume-from options. Version history: 0.72 * qt-copy bugfix #6564: There's no reason to try to download the admin dir for qt-copy. * The workaround in 0.70 for the autorebuilding bug caused a bug of its own, for which I apologize. Both bugs should now be fixed. * kde-common is no longer required to support checkout-only, and will no longer be automatically downloaded. It will still be downloaded if you place it in your .kdecvs-buildrc. * qt-copy bugfix #2312: Although the last attempt to reconfigure qt-copy was inspired, it was ultimately flawed due to programmer incompetence. * Rearrange startup sequence a little bit so that you can pass command-line options like -v and -h to the program without having to have a configuration file. Version history: 0.71 * qt-copy bugfix #2342: Force configure to run if qt-copy hasn't been configured. * Added use-qt-builddir-hack option. * Accept GPL license by default for qt-copy. * Debug mode improvements. * Better script header documentation. * Symlink to latest log directory. * Check if admin dir has downloaded, and if not, make it do so. Version history: 0.70 * Fix the --no-build option. * Add the stop-after-failure config file option. * The script now comes in its own directory instead of messing up your pwd. * Fix handling of the /admin directory on modules where checkout-only is set, but had already been checked out. * Workaround bug in autorebuilding for qt-copy until I figure out what's going on. Version history: 0.66 * Make sure UNSERMAKE isn't defined if the module says not to use unsermake. * Really fix the bug where "Script starts" output even for dumb things like the -v flag. * Keep environment changes in the build process for one module from affecting other modules. This should fix a build bug in kdepim due to qt-copy. Version history: 0.65 2004-Jun-03 * Fix a horrible horrible bug, where some functions still tried to use the old version of log_command(), crashing the script. Version history: 0.64 2004-Jun-03 * Basically a code cleanup release, but I did manage to sneak in a few bugfixes and features. * kdecvs-build will now attempt to rebuild a module from scratch after an incremental make failure. You can disable this per-module using the no-rebuild-on-fail option. * Log directories are now dated, and the log directory can now be changed per module. * Changed the way that options are read so that command-line options completely override settings in the configuration file. * You may use false in the configuration file to indicate that you want to disable a setting. (Previously you had to either leave the value blank or use 0). * kdecvs-build now accepts periods (.) in CVS module names. * Output is much cleaner thanks to the joys of indentation. * Unsermake is only added to the list of packages to download or update if you are building a module that relies on it. It used to download if you were downloading a module that relied on it. * Enabling --debug on the command line will also output what kdecvs-build thinks the options are globally and for each module. * Documentation improvements. Version history: 0.63 2004-May-26 * Another request by Amilcar. :-) Now all log files end in .log, for consistency. Version history: 0.62 2004-May-25 * Fix a bug where making sure a module was checked out was trying to ensure that the module was built instead. This meant new users had errors when trying to build a module for the first time. Thanks to Amilcar Lucas for spotting the bug. Version history: 0.61 2004-May-24 * A few new features, requested by Amilcar Lucas of KDevelop fame. * Build directory can now be changed (even per-module!). * Log directory can now be changed (It's a global setting though). * --recreate-configure command-line option to re-run make -f Makefile.cvs, since --build-system-only wasn't quite what I wanted. Version history: 0.60 2004-May-24 * Modules are now installed after a successful build. This means that if you are using a single user build of KDE, you can download, build, and install everything with a single command. * Most commands are logged now. * Module passed on the command line are ignored if not present in the configuration file. This prevents problems with typos. * Some output cleanups. For example, the Packages Failed section is only printed out if a package has actually failed. * CVS over SSH support. If your CVSROOT begins with :ext:, the environment variable CVS_RSH is automatically set to ssh. Note that the script can't access your private key, so you may need to run ssh-agent. * Better handling of qt-copy. Now the script can determine if qt-copy has been configured, and won't unnecessarily rebuild from scratch. The apply-patches option should work properly as well. * The script returns non-zero on error for use with other scripts. * Added options, --debug logs all output to stdout, and --reconfigure allows you to reconfigure a module without recreating the build system. * Some bug fixes and code cleanups. * The --prefix option is always passed to configure instead of letting it guess the correct prefix. Version history: 0.52 * The PATH environment variable wasn't being set correctly while running the configure script. * Make sure that KDE and Qt path entries go first in the path in case you already have a KDE installation. Version history: 0.51 * Add support for make-options. This is useful for distcc. * Always remove the lockfile on program exit. Version history: 0.50 * Add support for qt-copy. This involved many changes in the script to special-case for qt-copy, including not building qt-copy in the build directory, configure-flags magic, and a few qt-copy specific options. For example, you can automatically run the apply-patches script in qt-copy. * Allow building with unsermake, from kdenonbeta. If you choose to enable unsermake, it is automatically downloaded for you. * Added do-not-compile option to block compilation of specific packages. * You can now use the tilde (~) when specifying paths, and kdecvs-build will replace it with your home directory. * Add support for creating .cvsrc. If you don't have one, the script will generate one for you using the recommended options from developer.kde.org/. * Now when you use the checkout-only option, you can checkout only a given subdirectory of a module. For example, applets/ksearchapplet from kdenonbeta. * Some refactoring of code, to join common cases (such as checking-out or updating from CVS). * Automatically add $KDEDIR/bin and $QTDIR/bin to PATH, and $KDEDIR/lib and $QTDIR/lib to LD_LIBRARY_PATH. The script makes sure that colons are only present in PATH and LD_LIBRARY_PATH where necessary. (LD_LIBRARY_PATH=/usr/local/lib: is bad, for example). * Make the --help and --version command line options work even if the program is already running. * 2004-04-23. Version history: 0.44 * Fix CVS checkout bug caused by refactoring. * Add logging feature. Now make output goes to $kdecvs/log/$module-$output-file-name if the make-output-file option is used. * Add --no-cvs command line option to temporarily disable CVS updates. * Add --no-build command line option to temporarily disable builds. * Add --build-system-only command line options to only create the build system, but don't start building. * Add --refresh-build command line option to force to build system to be rebuilt. Version history: 0.43 * Change code layout by refactoring some code into its own function. Especially the system calls which must be protected if pretend is set. Version history: 0.4 * Allow comments in .kdecvs-buildrc. * Reconfigure to allow more options to be specified by module. Now CXXFLAGS can be set per module, for example. * Add new option to output the make process to a file for shorter e-mails. * Automatically pulls in kde-common for cases where something is getting checked out in pieces. * Allows you to set QTDIR, KDEDIR, etc. in order to install the result. * Added a few command line options. * Added the --pretend command line option which gives a very verbose description of what the script is going to do, without doing it. Version history: 0.3 * Most features done, needs documentation and bugtesting. * 2003-12-29.