General changes, extensions, and fixes of the ComPact configuration schemes are listed below:
---- [f] change set buggy-envar-substitution-fixes-01
created by wagner at 2000.06.07.12.01.27
description:
Environment variable substituion was broken due to wrong parameter use.
Now ProcessEnv.Names() returns an array of all names in an environment
to support easy fixing of this bug in other modules.
package changes:
miscutils devel_miscutils_d25_0_2 devel_miscutils_d25_0_3
compactrc devel_compactrc_d11_2_1 devel_compactrc_d11_2_2
langutils devel_langutils_d9_0_2 devel_langutils_d9_0_3
---- [ip] change set feature-compactrc-hierarchy
created by wagner at 2000.08.29.23.56.36
description:
Added evaluation of many configuration files that may or may not
exist. The current evluation order is as follows:
First the (1) resource compactrc is searched via the default
configuration path, then the file (2) ~/.compactrc is read if it
exists. After evaluation of these definitions, platform-dependend
configuration files are located and evaluated if they exist in the
following order:
(3) ~/compact/compactrc-{hosttype}
(4) ~/compact/compactrc-{ostype}
(5) ~/compact/compactrc-{hosttype}-{ostype}
(6) ~/.compactrc-{hosttype}
(7) ~/.compactrc-{ostype}
(8) ~/.compactrc-{hosttype}-{ostype}
(9) ~/.compactrc-{hostname}
Last of all, the value of the environment variable COMPACTRC is
used as a pathname and evaluated as a configuration file if it
exists.
If variables are defined more than once, the latter setting
always overrides the older one. This is also true for mapping
definitions.
package changes:
compactrc devel_compactrc_d12_0_0 devel_compactrc_d12_1_0
pkg_build devel_pkg=build_d27_3_1 devel_pkg=build_d27_4_1
poolm devel_poolm_d7_3_0 devel_poolm_d7_3_1
---- [] change set feature-compactvar-default-values
created by wagner at 2000.10.28.14.27.08
description:
new feature (compactrc):
The function TextUtils.SubstituteVariables now recognizes default
values. Three different denotations are possible:
{:varname1?varname2} use the value of varname2 if varname1 is not
defined
{:varname1:const} use the literal `const' if varname1 is not
defined
{:varname1?varname2:const} use the value of varname2 if varname1 is not
defined; use const, iff neither varname1 nor varname2 are defined
If the first character is `!' instead of `:', the default value is
used if the main variable is empty (=""), too.
new feature (CBCL):
syntax extension:
CBCL now allows the denotation of default values in variable references
in expressions, similar to those implemented in
TextUtils.SubstituteVariables (used for compactrc). The syntax is
| VariableReference ::= "{" Identifier "}"
| | "{" Identifier "?" Identifier "}"
| | "{" Identifier "?" Identifier ":" StringOrId "}"
| | "{" Identifier ":" StringOrId "}"
also:
o added debug output to parsing of compactrc resources, if verbose (-v)
and debug (-d) are given
o changed default values for TPC elements from "unknown" to ""
o improved TPC detection in bundled compactrc resource
o minor TPC fixes for Java
package changes:
miscutils devel_miscutils_d30_0_0 devel_miscutils_d30_1_3
pkg_global devel_pkg=global_d16_2_1 devel_pkg=global_d16_2_3
compactrc devel_compactrc_d16_1_1 devel_compactrc_d16_1_2
pkgconf devel_pkgconf_d18_2_1 devel_pkgconf_d18_3_0
lanutils devel_langutils_d9_0_3 devel_langutils_d9_1_0
---- [f] change set fix-tpc-init
created by wagner at 2000.10.27.16.35.38
description:
Patches to improve the handling of TPC initialization:
o define tpc-opts in addition to tpc-options for overrides from
the command line. tpc-opts does not start with a -
o evaluate the TPC object to obtain a standardized internal representation
after all configuration settings have been evaluated
Also: typo in pkgconf doc corrected
package changes:
pkg_global devel_pkg=global_d16_2_0 devel_pkg=global_d16_2_1
compactrc devel_compactrc_d16_1_0 devel_compactrc_d16_1_1
pkgconf devel_pkgconf_d18_2_0 devel_pkgconf_d18_2_1
---- [f] change set fix-no-empty-envar-substitutitions
created by wagner at 2000.11.07.14.06.55
description:
Explicitly check for empty environment variable names when substituting
environment values. Under Cygwin, some obscure settings are parsed as
empty variable names by the M3 libraries, which led to various interesting
effects...
package changes:
miscutils devel_miscutils_d30_1_7 devel_miscutils_d30_1_8
---- [] change set feature-hostname-computation
created by wagner at 2000.11.08.18.35.48
description:
The actual hostname of the computer ComPact is running on can now
be correctly determined via gethostname. The environment variables
HOSTNAME and COMPUTERNAME can be used to override the name supplied
by the operating system.
A Hostname() function has been added to the System module in package
miscutils. This is not entirely appropriate, but there is no better
suitable module, and it didn't seem worth creating a new interface.
package changes:
miscutils devel_miscutils_d30_1_8 devel_miscutils_d30_2_1
compactrc devel_compactrc_d16_1_3 devel_compactrc_d16_2_0
---- [m] change set feature-prjm-enforce-pkgdeps-variable
created by wagner at 2001.01.17.14.05.35
description:
This change set introduces a new configuration variable in compactrc:
enforce-pkgdeps true|false [default true]
Setting this variable to `false' or `no' will make the computation of
package dependencies optional, and failure to do so will not make prjm
stop with an error message, but simply issue a warning.
The introduction of this variable has been motivated by ComPact Light,
which does not contain build management, and should nonetheless be able
to perform all necessary version control on prject level.
package changes:
prjbase devel_prjbase_d37_0_15 devel_prjbase_d37_1_1
compactrc devel_compactrc_d16_2_1 devel_compactrc_d16_3_0
prjm devel_prjm_d26_1_5 devel_prjm_d26_2_0
ComPactHTTPd devel_ComPactHTTPd_d18_2_2 devel_ComPactHTTPd_d18_3_0