rse         98/04/27 02:55:07

  Modified:    .        STATUS configure
               src      CHANGES
  Log:
  Workaround sed limitations in APACI's configure script by now substituting in
  chunks of 50 commands.
  
  PR: 2136
  
  Revision  Changes    Path
  1.334     +1 -0      apache-1.3/STATUS
  
  Index: STATUS
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/STATUS,v
  retrieving revision 1.333
  retrieving revision 1.334
  diff -u -r1.333 -r1.334
  --- STATUS    1998/04/27 08:17:22     1.333
  +++ STATUS    1998/04/27 09:55:04     1.334
  @@ -69,6 +69,7 @@
       * Ralf's workaround for braindead awk when generating ap_config.h, 
PR#2139
       * Ralf's manual renaming of forgotten non-ap_-symbols because of #define
       * Ralf's fix for SOCKS4 and adding of additional SOCKS5 support, PR#2140
  +    * Ralf's workaround for sed limitation in configure script, PR#2136
   
   Available Patches:
   
  
  
  
  1.20      +52 -30    apache-1.3/configure
  
  Index: configure
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/configure,v
  retrieving revision 1.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- configure 1998/04/26 17:57:23     1.19
  +++ configure 1998/04/27 09:55:04     1.20
  @@ -74,6 +74,9 @@
   src=src
   aux=src/helpers
   
  +sedsubst=src/.apaci.sedsubst
  +addconf=src/.apaci.addconf
  +
   ##
   ##  pre-determine runtime modes
   ##
  @@ -185,7 +188,8 @@
   rules=`echo $rules | sed -e 's/^://'`
   
   #   determine modules
  -rm -f $src/Configuration.apaci 2>/dev/null
  +rm -f $addconf 2>/dev/null
  +touch $addconf
   modules=""
   modulelist=""
   OIFS="$IFS" IFS='
  @@ -406,10 +410,10 @@
               if [ ".$file" != ".$src/modules/extra/$modfilec" ]; then
                   cp $file $src/modules/extra/$modfilec
               fi
  -            echo "" >>$src/Configuration.apaci
  -            echo "## On-the-fly added module" >>$src/Configuration.apaci
  -            echo "## (configure --add-module=$file)" 
>>$src/Configuration.apaci
  -            echo "AddModule modules/extra/$modfileo" 
>>$src/Configuration.apaci
  +            echo "" >>$addconf
  +            echo "## On-the-fly added module" >>$addconf
  +            echo "## (configure --add-module=$file)" >>$addconf
  +            echo "AddModule modules/extra/$modfileo" >>$addconf
               module=`echo "$modfileo" |\
                       sed -e 's%^.*/\(.*\)$%\1%' \
                           -e 's/\.[^.]*$//' \
  @@ -432,10 +436,10 @@
                       ;;
               esac
               modfile=`echo $file | sed -e 's;^src/;;'`
  -            echo "" >>$src/Configuration.apaci
  -            echo "## On-the-fly activated module" >>$src/Configuration.apaci
  -            echo "## (configure --activate-module=$file)" 
>>$src/Configuration.apaci
  -            echo "AddModule $modfile" >>$src/Configuration.apaci
  +            echo "" >>$addconf
  +            echo "## On-the-fly activated module" >>$addconf
  +            echo "## (configure --activate-module=$file)" >>$addconf
  +            echo "AddModule $modfile" >>$addconf
               module=`echo "$modfile" |\
                       sed -e 's%^.*/\(.*\)$%\1%' \
                           -e 's/\.[^.]*$//' \
  @@ -783,8 +787,8 @@
   if [ .$quiet = .no ]; then
       echo "Creating Configuration.apaci in $src"
   fi
  -rm -f sedsubst 2>/dev/null
  -touch sedsubst
  +rm -f $sedsubst 2>/dev/null
  +touch $sedsubst
   
   #   generate settings from imported environment variables
   OIFS="$IFS" IFS="$DIFS"
  @@ -794,10 +798,10 @@
       if [ ".$val" != . ]; then
           case $var in 
               CFLAGS|LDFLAGS|LIBS|INCLUDES) 
  -                echo "s%^#*\\(EXTRA_$var=\\).*%\\1$val%g" >>sedsubst
  +                echo "s%^#*\\(EXTRA_$var=\\).*%\\1$val%g" >>$sedsubst
                   ;;
               *)
  -                echo "s%^#*\\($var=\\).*%\\1$val%g" >>sedsubst
  +                echo "s%^#*\\($var=\\).*%\\1$val%g" >>$sedsubst
                   ;;
           esac
           eval "$var=\"\"; export $var"
  @@ -810,7 +814,7 @@
   for rule in $rules; do
       name="`echo $rule | tr "a-z" "A-Z"`"
       eval "val=\$rule_$rule"
  -    echo "s%^\\(Rule $name=\\).*%\\1$val%g" >>sedsubst
  +    echo "s%^\\(Rule $name=\\).*%\\1$val%g" >>$sedsubst
       if [ $verbose = yes ]; then
           echo " + Rule $name=$val"
       fi
  @@ -846,17 +850,17 @@
   for module in $modules; do
       eval "add=\$module_$module"
       if [ $add = yes ]; then
  -        echo "s%^.*\\(AddModule.*$module\\..*\\)%\\1%g" >>sedsubst
  -        echo "s%^.*\\(SharedModule.*$module\\..*\\)%\\1%g" >>sedsubst
  +        echo "s%^.*\\(AddModule.*$module\\..*\\)%\\1%g" >>$sedsubst
  +        echo "s%^.*\\(SharedModule.*$module\\..*\\)%\\1%g" >>$sedsubst
           m="yes [static]"
       else
  -        echo "s%^.*\\(AddModule.*$module\\..*\\)%# \\1%g" >>sedsubst
  -        echo "s%^.*\\(SharedModule.*$module\\..*\\)%# \\1%g" >>sedsubst
  +        echo "s%^.*\\(AddModule.*$module\\..*\\)%# \\1%g" >>$sedsubst
  +        echo "s%^.*\\(SharedModule.*$module\\..*\\)%# \\1%g" >>$sedsubst
           m=no
       fi
       eval "share=\$shared_$module"
       if [ $share = yes ]; then
  -        echo 
"s%^\\(.*\\)AddModule\\(.*$module\\.\\)[oa]\\(.*\\)%\\1SharedModule\\2so\\3%g" 
>>sedsubst
  +        echo 
"s%^\\(.*\\)AddModule\\(.*$module\\.\\)[oa]\\(.*\\)%\\1SharedModule\\2so\\3%g" 
>>$sedsubst
           m="yes [shared]"
       fi
       if [ $verbose = yes ]; then
  @@ -865,17 +869,35 @@
   done
   IFS="$OIFS"
   
  -#   and finally translate the config template according to our situation
  -if [ -f $src/Configuration.apaci ]; then
  -    (cat $src/Configuration.tmpl;
  -     cat $src/Configuration.apaci ) |\
  -    sed -f sedsubst >$src/Configuration.apaci.tmp
  -    cp $src/Configuration.apaci.tmp $src/Configuration.apaci
  -    rm -f $src/Configuration.apaci.tmp
  -else
  -    cat $src/Configuration.tmpl | sed -f sedsubst >$src/Configuration.apaci
  -fi
  -rm -f sedsubst 2>/dev/null
  +#   split sedsubst into chunks of 50 commands
  +#   to workaround limits in braindead seds
  +files=`awk <$sedsubst '
  +    BEGIN { line=0; cnt=0; }
  +    {
  +        if (line % 50 == 0) {
  +            file = sedsubst "." cnt;
  +            printf("%s\n", file);
  +            cnt++;
  +        }
  +        line++;
  +        print $0 >file;
  +    }
  +' "sedsubst=$sedsubst"`
  +OIFS="$IFS" IFS="$DIFS"
  +substcmd=""
  +for file in $files; do
  +    substcmd="${substcmd} sed -f $file |"
  +done
  +substcmd="${substcmd} cat"
  +IFS="$OIFS"
  +
  +#   and finally translate the config template 
  +#   according to our defined configuration
  +eval "cat $src/Configuration.tmpl $addconf | $substcmd 
>$src/Configuration.apaci"
  +
  +#   cleanup
  +rm -f $sedsubst $sedsubst.[0-9] 2>/dev/null
  +rm -f $addconf 2>/dev/null
   
   ##
   ##  create all other Makefiles by running the proprietary 
  
  
  
  1.797     +5 -0      apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.796
  retrieving revision 1.797
  diff -u -r1.796 -r1.797
  --- CHANGES   1998/04/27 08:17:24     1.796
  +++ CHANGES   1998/04/27 09:55:05     1.797
  @@ -1,5 +1,10 @@
   Changes with Apache 1.3b7
   
  +  *) Workaround sed limitations in APACI's configure script by now
  +     substituting in chunks of 50 commands (because for instance HPUX's 
vendor
  +     sed has a limit of max. 98 commands)
  +     [Ralf S. Engelschall] PR#2136
  +
     *) Adding SOCKS5 support and fixing existing SOCKS4 support.
        [Ralf S. Engelschall] PR#2140
   
  
  
  

Reply via email to