From 78037e6ca6715b89e3621bef582e38c02a0ece2e Mon Sep 17 00:00:00 2001
From: Michael Pyne
Date: Sun, 25 Jul 2004 23:10:59 +0000
Subject: [PATCH] Add set-env option.
svn path=/trunk/kdenonbeta/kdecvs-build/; revision=332751
---
HISTORY | 1 +
doc.html.in | 163 ++++++++++-----------------------------------------
kdecvs-build | 24 +++++++-
3 files changed, 56 insertions(+), 132 deletions(-)
diff --git a/HISTORY b/HISTORY
index 95a56e9..ac06542 100644
--- a/HISTORY
+++ b/HISTORY
@@ -1,5 +1,6 @@
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.
diff --git a/doc.html.in b/doc.html.in
index 7c71e8f..0f56408 100644
--- a/doc.html.in
+++ b/doc.html.in
@@ -66,6 +66,21 @@ those who either can't or don't feel like installing it.
(DOT) net), and is one of several build scripts for this purpose.
2004-Jul-25: v0.80
+New features:
+
+- Since I won't be able to predict what environment variables will need to
+be set in the future, I've added an option to allow you to set environment
+variables (either globally or per module). This option is called set-env, and it's a special option in that you can
+repeat the option without overwriting the previous value you gave it, as long
+as it is during the same section. The format is (in the config file):
+set-env ENV-VAR value
+Those who have had to run the cron job for this script from a wrapper shell
+script to read in /etc/profile should be able to use this option instead. If
+not, I'm thinking of a way to source /etc/profile from a Perl script without
+having to write my own Bourne-shell, so let me know if you need it.
+
+
Bugfixes:
- Fixed an output alignment error discovered by Michal Rokos.
@@ -148,136 +163,6 @@ successfully-build is no longer created.
-2004-Jun-17: v0.73
-New features:
-
-- The script now will report how long each module spent building, both in
-the output and in the build-status log file.
-- Someone had requested an option for having separate compilation and link
-cycles while building a program. Unfortunately, that doesn't appear to be
-supported by unsermake, and I don't think it makes sense anyways, as some
-programs in a module depend on a shared or convienience lib that must be
-linked first. So this option isn't coming. :-(
-- Other than that, everything I wanted to accomplish for v0.73 should be
-in.
-
-
-
-2004-Jun-15: v0.73-pre1
-Bugfixes:
-
-- The no-rebuild-on-fail
-configuration file option didn't actually work in prior versions.
-
-- Fix an infinite loop exposed when you disable auto-install.
-
-- The log file for a build now has a number appended, since multiple build
-attempts can occur during a single script run.
-
-- A few unlikely errors now have explicit checks in place.
-
-- More debugging output when --debug is
-activated.
-
-- Perl exception handling has been added to the main execution loop, so you
-should never again have one of my bugs crash the script and then force you to
-manually remove the lockfile.
-
-- Fix a bug with use-qt-builddir-hack where having the
-option set would cause the build system setup to fail on modules other than
-qt-copy. At least I've been testing. :-D
-
-- Don't add global to the log directory path if we're grabbing the global
-log directory.
-
-
-Features:
-
-- Based on a suggestion by mornfall, the autorebuilding process doesn't
-clean out the build directory for a module when trying to rebuild. In
-addition, on a failure, make will be run again since sometimes that's all it
-takes to make it work. If the build process still fails, the build system
-will be recreated, but the build directory won't be cleaned. This is a big
-time saver, and should give the same results. Using the --refresh-build option will still cause the
-build directory to be cleaned at this point.
-
-- Added new option, make-install-prefix, which is a
-space-separated command (and options) to prefix the make command with when
-installing modules. This is useful for using sudo to automatically install
-packages with root privileges, but be careful! If you don't run this script
-from a terminal and you have this option set, you will have no way to enter a
-password if you need to.
-
-- Added new command line options, --resume,
-and --resume-from, which allows you to
-start the build process from a specific module. This option implies --no-cvs.
-
-- The build process outputs to a file called build-status in the global log
-directory, which lets you tell at a glance what modules built during the run
-of the script.
-
-- The script tells you the log directory to examine after running.
-
-
-
-2004-Jun-13: v0.72 -- This Should Work Edition™
-Bugfixes:
-
-- qt-copy bugfix #6564: There's no reason to try to download the admir dir
-for qt-copy, so let's not bother trying.
-
-- The workaround in 0.70 and 0.71 for the autorebuilding bug caused a bug of
-its own (no, I don't work for Microsoft), for which I apologize. Both bugs
-should now be fixed.
-
-- kde-common is no longer required to support checkout-only, and will therefore 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
-only when needed was inspired, it was ultimately flawed due to programmer
-incompetence. ;-)
-
-- Rearrange command-line options a little bit so that you can pass the --help and --version
-options to the script without having to have a configuration file installed.
-
-
-- Although not related to the end-user experience of the script per se, my
-packing script for kdecvs-build has been updated in the downtime while testing
-the script, and now keeps me from doing stupid stuff like forgetting to
-upgrade the version number in the script, forgetting to commit my changes to
-my CVS repository, and forgetting to actually install the script to test.
-
-
-
-I recommend that you set up a separate user account if you decide to run KDE
-from CVS. I didn't at first, and I won't repeat that mistake for KDE 3.3 ;-).
-I would also recommend that you add this script to your crontab so that you
-don't have to worry about manually running the build process. The script
-employs locking to prevent parallel execution. You also need to follow the
-instructions on http://developer.kde.org/source/anoncvs.html
-to set up your .cvsrc and .cvspass. You should also follow the instructions on
-that page regarding setting up your own repository, especially if you intend to
-use qt-copy. Make sure that qt-copy, arts, kdelibs, and kdebase are listed in
-that order in your configuration file. If you perform a single-user install of
-kdecvs-build, all you have to do to download, build, and install KDE from CVS
-(assuming no build errors) is to run the script.
-
$ kdecvs-build
-
-
-
-If you perform a system-wide installation, you can run the entire script
-as root, although I would recommend using your distribution's packages or
-Konstruct to install a
-stable KDE.
-
Features
@@ -419,6 +304,7 @@ using the address you can find above.
recreate-configure
refresh-build
release-tag
+set-env
stop-on-failure
use-qt-builddir-hack
use-unsermake
@@ -789,6 +675,21 @@ line option.
+
+| 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 RONALD McDonald
+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).
+ |
+
+
| stop-on-failure |
Overrides global |
@@ -921,7 +822,7 @@ href="#options">.kdecvs-buildrc options.
CVSup is a registered trademark of John D. Polstra.
-Last modified: Sun Jul 25 17:19:56 2004
+Last modified: Sun Jul 25 19:10:36 2004