rse 98/12/16 07:57:28
Modified: src CHANGES
. configure config.layout
Log:
Removed recently introduced bugs and disfigurements in APACI:
o fixed argument line processing: using $args was broken: It was not
initialized and using args="$args $apc_option" and even args="$args
\"$apc_option\"" fails in the second processing round for any arguments
containing whitespaces. The only correct way is to use the construct
"$@" (but not possible here) or iterate _both_ times over the implicit
argument line (no argument to for-loop) which is what we now use.
o make --with-layout=Apache the default without creating
redundancy (copying the --with-layout block in the argument parsing
loop). We achieve this by using the "$@" construct together with the
`set' command to prepend --with-layout=Apache to the command line in
case --with-layout is not used.
o fixed auto-suffix handling now that config.layout exists.
Paths which are auto-suffixed are marked with a trailing plus sign in
config.layout and every path now can be marked this way (not only the
four paths for which we do it currently). Additionally the suffix is
no longer a static one. Instead it's now `/<target>' where <target> is
the argument of the --target option or per default `httpd'.
o allow also tabs (and only spaces) where we match whitespaces
o various fixes and cleanups related to used shell coding style
o made Jim happy by replacing `Written by' with `Initially written by' ;-)
o trimmed output of --help to fit into 80 columns
Now APACI is again clean and ready for 1.3.4 ;-) (IMHO)
Revision Changes Path
1.1171 +24 -0 apache-1.3/src/CHANGES
Index: CHANGES
===================================================================
RCS file: /home/cvs/apache-1.3/src/CHANGES,v
retrieving revision 1.1170
retrieving revision 1.1171
diff -u -r1.1170 -r1.1171
--- CHANGES 1998/12/12 05:26:00 1.1170
+++ CHANGES 1998/12/16 15:57:26 1.1171
@@ -1,5 +1,29 @@
Changes with Apache 1.3.4
+ *) Removed recently introduced bugs and disfigurements in APACI:
+ o fixed argument line processing: using $args was broken: It was not
+ initialized and using args="$args $apc_option" and even args="$args
+ \"$apc_option\"" fails in the second processing round for any
arguments
+ containing whitespaces. The only correct way is to use the construct
+ "$@" (but not possible here) or iterate _both_ times over the implicit
+ argument line (no argument to for-loop) which is what we now use.
+ o make --with-layout=Apache the default without creating
+ redundancy (copying the --with-layout block in the argument parsing
+ loop). We achieve this by using the "$@" construct together with the
+ `set' command to prepend --with-layout=Apache to the command line in
+ case --with-layout is not used.
+ o fixed auto-suffix handling now that config.layout exists.
+ Paths which are auto-suffixed are marked with a trailing plus sign in
+ config.layout and every path now can be marked this way (not only the
+ four paths for which we do it currently). Additionally the suffix is
+ no longer a static one. Instead it's now `/<target>' where <target> is
+ the argument of the --target option or per default `httpd'.
+ o allow also tabs (and only spaces) where we match whitespaces
+ o various fixes and cleanups related to used shell coding style
+ o made Jim happy by replacing `Written by' with `Initially written by'
;-)
+ o trimmed output of --help to fit into 80 columns
+ [Ralf S. Engelschall]
+
*) Added two new core API functions, ap_single_module_configure() and
ap_single_module_init(), which are now used by mod_so to correctly
initialize a module after loading. This fixes a problem with unusable
1.63 +101 -89 apache-1.3/configure
Index: configure
===================================================================
RCS file: /home/cvs/apache-1.3/configure,v
retrieving revision 1.62
retrieving revision 1.63
diff -u -r1.62 -r1.63
--- configure 1998/12/16 10:57:45 1.62
+++ configure 1998/12/16 15:57:28 1.63
@@ -58,7 +58,7 @@
##
## configure -- Apache Autoconf-style Interface (APACI)
##
-## Written by Ralf S. Engelschall <[EMAIL PROTECTED]>
+## Initially written by Ralf S. Engelschall <[EMAIL PROTECTED]>
##
# default input separator chars: <space><tab><cr>
@@ -68,7 +68,6 @@
##
## the paths to the Apache source tree
##
-
top=.
mkf=Makefile
src=src
@@ -84,7 +83,6 @@
##
## pre-determine runtime modes
##
-
help=no
quiet=no
verbose=no
@@ -98,7 +96,6 @@
##
## display version information
##
-
if [ ".$quiet" = .no ]; then
APV=`cat $src/include/httpd.h |\
grep "#define SERVER_BASEVERSION" |\
@@ -109,7 +106,6 @@
##
## important hint for the first-time users
##
-
if [ $# -eq 0 ]; then
echo " + Warning: Configuring Apache with default settings."
echo " + This is probably not what you really want."
@@ -121,7 +117,6 @@
##
## determine path to (optional) Perl interpreter
##
-
PERL=no-perl-on-this-system
perlpath="`$aux/PrintPath perl5 perl miniperl`"
if [ ".$perlpath" != . ]; then
@@ -134,7 +129,6 @@
## and if it then is still broken we give a warning message.
## If it works set the `Safe Echo Option' (SEO) variable.
##
-
SEO='' # CHANGE THIS VARIABLE HERE IF YOU HAVE PROBLEMS WITH ECHO!
bytes=`echo $SEO '\1' | wc -c | awk '{ printf("%s", $1); }'`
if [ ".$bytes" != .3 ]; then
@@ -156,7 +150,6 @@
## standard Awks are really braindead and cause
## problems for our scripts under some platforms.
##
-
AWK=awk
awkpath="`$aux/PrintPath nawk gawk awk`"
if [ ".$awkpath" != . ]; then
@@ -170,13 +163,6 @@
# default paths
prefix=UNSET
-# customization flags for
-# automatic "apache" suffix
-customized_sysconfdir=0
-customized_datadir=0
-customized_localstatedir=0
-customized_includedir=0
-
# layout configuration
with_layout=0
show_layout=0
@@ -192,24 +178,20 @@
suexec_gidmin=100
suexec_safepath="/usr/local/bin:/usr/bin:/bin"
-# with support tools
+# various other flags
support=1
-
-# with adjustments
confadjust=1
-
-# module ordering
permute=''
# determine rules
-rules=""
-rulelist=""
+rules=''
+rulelist=''
OIFS="$IFS" IFS='
'
for rule in `grep '^Rule' $src/Configuration.tmpl`; do
- rule=`echo "$rule" | sed -e 's/^Rule[ ]*//'`
+ rule=`echo "$rule" | sed -e 's/^Rule[ ]*//'`
name=`echo "$rule" | sed -e 's/=.*$//'`
- namelow=`echo "$name" | tr "A-Z" "a-z"`
+ namelow=`echo "$name" | tr 'A-Z' 'a-z'`
arg=`echo "$rule" | sed -e 's/^.*=//'`
eval "rule_$namelow=$arg"
rules="$rules:$namelow"
@@ -219,11 +201,11 @@
rules=`echo $rules | sed -e 's/^://'`
# determine modules
-modules=""
-modulelist=""
+modules=''
+modulelist=''
OIFS="$IFS" IFS='
'
-for module in `egrep '^[# ]*(Add|Shared)Module' $src/Configuration.tmpl`; do
+for module in `egrep '^[# ]*(Add|Shared)Module' $src/Configuration.tmpl`;
do
add=yes
share=no
if [ ".`echo $module | grep '^#'`" != . ]; then
@@ -234,7 +216,8 @@
fi
module=`echo "$module" |\
sed -e 's%^.*/\(.*\)$%\1%' \
- -e 's/\.[oam].*$//' \
+ -e 's/\.[oa]$//' \
+ -e 's/\.module$//' \
-e 's/^mod_//' \
-e 's/^lib//'`
eval "module_$module=$add"
@@ -248,7 +231,7 @@
IFS="$OIFS"
modules=`echo $modules | sed -e 's/^://'`
-# backward compatibility from old src/Configuration.tmpl
+# backward compatibility for old src/Configuration.tmpl
# parameter names to the canonical Autoconf-style shell
# variable names.
OIFS="$IFS" IFS="$DIFS"
@@ -263,10 +246,24 @@
IFS="$OIFS"
##
-## check for help option and preprocess path layout definititions so that
-## these can be overriden
+## support for the default layout
##
-apc_prev=""
+case "$*" in
+ *--with-layout=* )
+ ;;
+ * )
+ set -- '--with-layout=Apache' "$@"
+ ;;
+esac
+
+##
+## Iterate over the command line options the first time.
+##
+## This time we pre-process options which need high priority
+## on the command line independent of their position, so they
+## can be overridden by others.
+##
+apc_prev=''
OIFS1="$IFS" IFS="$DIFS"
for apc_option
do
@@ -281,7 +278,7 @@
-*=*) apc_optarg=`echo "$apc_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
*) apc_optarg= ;;
esac
-
+ # pre-process only a few options now
case "$apc_option" in
--help | -h | -help )
echo "Usage: configure [options]"
@@ -297,7 +294,7 @@
echo ""
echo "Installation layout options:"
echo " --with-layout=[F:]ID use installation path layout ID
(from file F)"
- echo " --target=TARGET install server executable and
associated files using basename TARGET"
+ echo " --target=TARGET install name-associated files
using basename TARGET"
echo " --prefix=PREFIX install architecture-independent
files in PREFIX"
echo " --exec-prefix=EPREFIX install architecture-dependent
files in EPREFIX"
echo " --bindir=DIR install user executables in
DIR"
@@ -316,17 +313,17 @@
echo " --enable-rule=NAME enable a particular Rule named
'NAME'"
echo " --disable-rule=NAME disable a particular Rule named
'NAME'"
$aux/ppl.sh $rulelist
- echo " --add-module=FILE on-the-fly copy & activate a
third-party Module source"
- echo " --activate-module=FILE on-the-fly activate existing
third-party Module source"
- echo " --permute-module=N1:N2 permute module 'N1' with module
'N2' in the configuration"
+ echo " --add-module=FILE on-the-fly copy & activate a
3rd-party Module"
+ echo " --activate-module=FILE on-the-fly activate existing
3rd-party Module"
+ echo " --permute-module=N1:N2 on-the-fly permute module 'N1'
with module 'N2'"
echo " --enable-module=NAME enable a particular Module named
'NAME'"
echo " --disable-module=NAME disable a particular Module named
'NAME'"
$aux/ppl.sh $modulelist
- echo " --enable-shared=NAME enable build of Module named
'NAME' as a shared object"
- echo " --disable-shared=NAME disable build of Module named
'NAME' as a shared object"
- echo " --with-perl=FILE set the path to the optional Perl
interpreter to use"
+ echo " --enable-shared=NAME enable build of Module named
'NAME' as a DSO"
+ echo " --disable-shared=NAME disable build of Module named
'NAME' as a DSO"
+ echo " --with-perl=FILE path to the optional Perl
interpreter"
echo " --without-support disable the build and installation
of support tools"
- echo " --without-confadjust disable some build user/situation
adjustments to config files"
+ echo " --without-confadjust disable the user/situation
adjustments in config"
echo ""
echo "suEXEC options:"
echo " --enable-suexec enable the suEXEC feature"
@@ -368,6 +365,23 @@
-e "s/[ ]*$/'/g" \
$file >$pldconf
. $pldconf
+ OIFS="$IFS" IFS="$DIFS"
+ for var in prefix exec_prefix bindir sbindir libexecdir mandir \
+ sysconfdir datadir includedir localstatedir
runtimedir \
+ logfiledir proxycachedir; do
+ eval "val=\"\$$var\""
+ case $val in
+ *+ )
+ val=`echo $val | sed -e 's;\+$;;'`
+ eval "$var=\"\$val\""
+ eval "autosuffix_$var=yes"
+ ;;
+ * )
+ eval "autosuffix_$var=no"
+ ;;
+ esac
+ done
+ IFS="$OIFS"
rm -f $pldconf 2>/dev/null
if [ ".$prefix" = .UNSET ]; then
echo "configure:Error: Path layout definition not found or
incorrect" 1>&2
@@ -379,26 +393,19 @@
with_layout=1
;;
*)
- args="$args $apc_option"
;;
esac
done
-IFS="$OIFS1"
-
-if [ ".$with_layout" = .0 ]; then
- echo "configure:Error: Please select an installation path layout with"
- echo " the --with-layout=[FILE:]ID option. Use 'Apache'
or"
- echo " 'GNU' for ID to select the two predefined
layouts."
- exit 1
-fi
+##
+## Iterate over the command line options the second time.
##
-## parse argument line options
+## This time we parse the standard options.
##
addconf_created=0
-apc_prev=""
+apc_prev=''
OIFS1="$IFS" IFS="$DIFS"
-for apc_option in $args
+for apc_option
do
# if previous option needs an argument, assign it.
if [ ".$apc_prev" != . ]; then
@@ -413,6 +420,9 @@
esac
# accept only the most important GNU Autoconf-style options
case "$apc_option" in
+ --help|-h|-help|--with-layout=*|-compat)
+ # just ignore already parsed options
+ ;;
--quiet | --silent)
quiet=yes
;;
@@ -491,46 +501,55 @@
;;
--prefix=*)
prefix="$apc_optarg"
+ autosuffix_prefix=no
;;
--exec-prefix=*)
exec_prefix="$apc_optarg"
+ autosuffix_exec_prefix=no
;;
--bindir=*)
bindir="$apc_optarg"
+ autosuffix_bindir=no
;;
--sbindir=*)
sbindir="$apc_optarg"
+ autosuffix_sbindir=no
;;
--libexecdir=*)
libexecdir="$apc_optarg"
+ autosuffix_libexecdir=no
;;
--mandir=*)
mandir="$apc_optarg"
+ autosuffix_mandir=no
;;
--sysconfdir=*)
sysconfdir="$apc_optarg"
- customized_sysconfdir=1
+ autosuffix_sysconfdir=no
;;
--datadir=*)
datadir="$apc_optarg"
- customized_datadir=1
+ autosuffix_datadir=no
;;
--includedir=*)
includedir="$apc_optarg"
- customized_includedir=1
+ autosuffix_includedir=no
;;
--localstatedir=*)
localstatedir="$apc_optarg"
- customized_localstatedir=1
+ autosuffix_localstatedir=no
;;
--runtimedir=*)
runtimedir="$apc_optarg"
+ autosuffix_runtimedir=no
;;
--logfiledir=*)
logfiledir="$apc_optarg"
+ autosuffix_logfiledir=no
;;
--proxycachedir=*)
proxycachedir="$apc_optarg"
+ autosuffix_proxycachedir=no
;;
--add-module=*)
file="$apc_optarg"
@@ -821,8 +840,10 @@
touch $addconf 2>/dev/null
fi
-# create a config status script for restoring
-# the configuration via a simple shell script
+##
+## create a config status script for restoring
+## the configuration via a simple shell script
+##
rm -f $configstatus 2>/dev/null
echo "#!/bin/sh" >$configstatus
echo "##" >>$configstatus
@@ -859,7 +880,7 @@
chmod a+x $configstatus
##
-## a few errors
+## a few errors and warnings
##
if [ ".$suexec" = .1 ]; then
if [ ".$suexec_ok" = .0 ]; then
@@ -870,12 +891,6 @@
echo " and htdocs/manual/suexec.html documents
first."
exit 1
fi
-fi
-
-##
-## a few warnings
-##
-if [ ".$suexec" = .1 ]; then
if [ ".`id | grep root`" = . ]; then
echo " + Warning: You enabled the suEXEC feature. Be aware that you
need" 1>&2
echo " + root privileges for this, at the latest at the installation
step." 1>&2
@@ -902,25 +917,21 @@
## they do not end with a backslash
##
OIFS="$IFS" IFS="$DIFS"
-for var in prefix exec_prefix bindir sbindir libexecdir mandir sysconfdir \
+for var in prefix exec_prefix bindir sbindir libexecdir mandir \
sysconfdir datadir includedir localstatedir runtimedir \
logfiledir proxycachedir suexec_docroot suexec_logexec; do
eval "val=\"\$$var\"";
val=`echo $val | sed -e 's:/*$::'`
eval "$var=\"$val\""
- case $var in
- libexecdir|sysconfdir|datadir|localstatedir|includedir )
- eval "val=\$$var"
- case $val in
- *apache | *apache* ) ;;
- * ) eval "customized=\$customized_$var"
- if [ ".$customized" = .0 ]; then
- eval "$var=\"\$$var/apache\""
- fi
- ;;
- esac
- ;;
- esac
+ # expand value
+ eval "val=\$$var"
+ # add target suffix when requested
+ if [ ".`echo $val | grep $thetarget`" = . ]; then
+ eval "autosuffix=\$autosuffix_$var"
+ if [ ".$autosuffix" = .yes ]; then
+ eval "$var=\"\$$var/$thetarget\""
+ fi
+ fi
done
IFS="$OIFS"
@@ -928,15 +939,15 @@
## determine special configurable Makefile targets
##
if [ ".$support" = .1 ]; then
- build_support=build-support
- install_support=install-support
- clean_support=clean-support
- distclean_support=distclean-support
+ build_support='build-support'
+ install_support='install-support'
+ clean_support='clean-support'
+ distclean_support='distclean-support'
else
- build_support=
- install_support=
- clean_support=
- distclean_support=
+ build_support=''
+ install_support=''
+ clean_support=''
+ distclean_support=''
fi
##
@@ -1161,7 +1172,8 @@
for line in `cat src/Configuration.tmpl $addconf | egrep '^[#
]*(Add|Shared)Module'`; do
name=`echo "$line" |\
sed -e 's%^.*/\(.*\)$%\1%' \
- -e 's/\.[oam].*$//' \
+ -e 's/\.[oa]$//' \
+ -e 's/\.module$//' \
-e 's/^mod_//' \
-e 's/^lib//'`
echo "${name}:${line}"
1.2 +14 -7 apache-1.3/config.layout
Index: config.layout
===================================================================
RCS file: /home/cvs/apache-1.3/config.layout,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- config.layout 1998/12/02 06:11:52 1.1
+++ config.layout 1998/12/16 15:57:28 1.2
@@ -1,9 +1,15 @@
##
## config.layout -- APACI Pre-defined Installation Path Layouts
-## (selectable with APACI's --with-layout=ID option)
##
+## Hints:
+## - layouts can be loaded with APACI's --with-layout=ID option
+## - when no --with-layout option is given, the default layout is `Apache'
+## - a trailing plus character (`+') on paths is replaced with a
+## `/<target>' suffix where <target> is the the argument from
+## option --target (defaults to `httpd').
+##
-# Classical Apache path layout
+# Classical Apache path layout.
<Layout Apache>
prefix: /usr/local/apache
exec_prefix: $prefix
@@ -20,7 +26,8 @@
proxycachedir: $localstatedir/proxy
</Layout>
-# GNU standards conforming path layout
+# GNU standards conforming path layout.
+# See FSF's GNU project `make-stds' document for details.
<Layout GNU>
prefix: /usr/local
exec_prefix: $prefix
@@ -28,10 +35,10 @@
sbindir: $exec_prefix/sbin
libexecdir: $exec_prefix/libexec
mandir: $prefix/man
- sysconfdir: $prefix/etc
- datadir: $prefix/share
- includedir: $prefix/include
- localstatedir: $prefix/var
+ sysconfdir: $prefix/etc+
+ datadir: $prefix/share+
+ includedir: $prefix/include+
+ localstatedir: $prefix/var+
runtimedir: $localstatedir/run
logfiledir: $localstatedir/log
proxycachedir: $localstatedir/proxy