The following reply was made to PR os-sco/2533; it has been noted by GNATS.
From: [EMAIL PROTECTED] To: [EMAIL PROTECTED], [EMAIL PROTECTED] Cc: [EMAIL PROTECTED] Subject: Re: os-sco/2533: Apache 1.3.0 won't build with Dynamic Shared Object (DSO) support Date: Thu, 10 Sep 1998 14:11 PDT Below are patches i've made to Apache 1.3.1 in order to detect which release of SCO OpenServer 5 you are on and whether the appropriate supplements have been installed. Install with "patch -p 0 -i /path/to/patchfile". These patches (src/helpers/GuessOS, src/include/ap_config.h, and src/Configure) obviate the need for the #define USE_FCNTL_SERIALIZED_ACCEPT when building on OpenServer 5.0.4 or later, or when building on 5.0.0/5.0.2 with the appropriate supplements installed. If the supplements aren't installed, we use #define USE_FCNTL_SERIALIZED_ACCEPT and tell the user where to download the freely available supplements. I realize these patches are non-trivial and may take some time to grok. However, i believe they do not effect the configure/build of any other platform and i have tested them successfully. When i build Apache for use on OpenServer, i use something similar in the installation scripts to detect the release and supplement state of the target platform prior to installing. These installation scripts are still necessary as Apache built on one system may be installed on another (unsuitable) system. Do you want my installation scripts (useful only when packaging for an SCO Custom install on OpenServer). If you have any questions of further requests, please feel free to contact me. Ron Record [EMAIL PROTECTED] p.s. did you get the free OpenServer & UnixWare i requested for you ? re: =====================cut here===================================== *** ./src/helpers/GuessOS.00 Thu Sep 10 11:25:18 1998 --- ./src/helpers/GuessOS Thu Sep 10 11:55:29 1998 *************** *** 21,26 **** --- 21,91 ---- # Now test for ISC and SCO, since it is has a braindamaged uname. # + MSG_missPatch="WARNING: The following supplements(s) are STRONGLY recommended + for all systems running this software. You should install + these supplement(s) prior to configuring this software for + compilation. The supplement(s) are available via anonymous ftp + from ftp.sco.com in the /SLS directory (ftp://ftp.sco.com/SLS/). + In particular, the Network Maintenance Supplement can be downloaded from + ftp://ftp.sco.com/SLS/oss449f/ ." + + MSG_noDB="ERROR: Cannot locate component database for _cmpnt_ component." + + #============================================================================= + # check_patch <patchID> <patchDescription> + # + # Check that a given patch is applied to the component that we are + # working on. We need to check for this in the *client* databases. + #============================================================================= + + check_patch() { + if [ -f $CLIENT_DB ] ; then + pattern=`echo $1 | sed "s!\.!\\\\\.!g"` + pattern="patches.*[= ]${pattern}" + + grep -q "${pattern}" $CLIENT_DB + if [ $? -ne 0 ] ; then + List="$List\n\t$2" + fi + else + List=`echo "\n$MSG_noDB" | sed "s!_cmpnt_!${CMPNT}!"` + fi + } + + check_if_patched() + { + PATCHED=1 + unixVer=`customquery ListComponents -p CONFIGURE SCO:Unix` + + case $unixVer in + SCO:Unix::5.0.0Cl) + CMPNT=Unix + CLIENT_DB=/var/opt/K/SCO/Unix/5.0.0Cl/.softmgmt/client.db + check_patch rs.Unix500.1 "SCO OpenServer Release 5 Release Supplement" + check_patch rs.Unix500.2 "Networking Supplement Release 1.0" + check_patch rs.4.0 "SCO Internet Supplement for SCO OpenServer 5" + check_patch OSS449. "OSS449 Network Performance SLS" + [ "${List}" ] && { + echo "${List}" + PATCHED= + } + break + ;; + SCO:Unix::5.0.2Dp) + CMPNT=Unix + CLIENT_DB=/var/opt/K/SCO/Unix/5.0.2Dp/.softmgmt/client.db + check_patch rs.4.0 "SCO Internet Supplement for SCO OpenServer 5" + check_patch OSS449. "OSS449 Network Performance SLS" + [ "${List}" ] && { + echo "${List}" + PATCHED= + } + break + ;; + esac + } + + # # We need to work around FreeBSD 1.1.5.1 XREL=`uname -X 2>/dev/null | grep "^Release" | awk '{print $3}'` if [ "x$XREL" != "x" ]; then *************** *** 34,39 **** --- 99,113 ---- case "$XREL" in 3.2v4.2) echo "whatever-whatever-sco3"; exit 0 + ;; + 3.2v5.0.0|3.2v5.0.2) + check_if_patched + if [ "$PATCHED" ] + then + echo "whatever-whatever-sco5"; exit 0 + else + echo "whatever-whatever-sco5pre"; exit 0 + fi ;; 3.2v5.0*) echo "whatever-whatever-sco5"; exit 0 *** ./src/include/ap_config.h.00 Thu Sep 10 11:36:16 1998 --- ./src/include/ap_config.h Thu Sep 10 11:40:46 1998 *************** *** 425,431 **** --- 425,433 ---- #elif defined(SCO5) + #if defined(PRE504) #define USE_FCNTL_SERIALIZED_ACCEPT + #endif #define HAVE_MMAP 1 #define USE_MMAP_SCOREBOARD #define USE_MMAP_FILES *** ./src/Configure.00 Thu Sep 10 11:27:59 1998 --- ./src/Configure Thu Sep 10 11:57:12 1998 *************** *** 527,536 **** LIBS="$LIBS -lPW -lsocket -lmalloc -lcrypt_i" DEF_WANTHSREGEX=yes ;; *-sco5*) OS='SCO 5' CFLAGS="$CFLAGS -DSCO5" ! LIBS="$LIBS -lsocket -lmalloc -lprot" DEF_WANTHSREGEX=no ;; *-sco_sv*) --- 527,543 ---- LIBS="$LIBS -lPW -lsocket -lmalloc -lcrypt_i" DEF_WANTHSREGEX=yes ;; + *-sco5pre) + OS='SCO 5' + CFLAGS="$CFLAGS -DSCO5 -DPRE504" + LIBS="$LIBS -lsocket -lmalloc -lprot -ltinfo -lx -lm" + DBM_LIB="-lndbm" + DEF_WANTHSREGEX=no + ;; *-sco5*) OS='SCO 5' CFLAGS="$CFLAGS -DSCO5" ! LIBS="$LIBS -lsocket -lmalloc -lprot -ltinfo -lx -lm" DEF_WANTHSREGEX=no ;; *-sco_sv*)
