root/gsdl/trunk/runtime-src/packages/apache-httpd/install-bindist.sh @ 18827

Revision 18827, 3.9 KB (checked in by ak19, 11 years ago)

In order to be able to run the final install-bindist.sh file (to be copied into the apache folder that will be compiled up) from whatever parent directory that it is called from, the script now first works out the absolute path its running from. This was necessary because if the script remained unaware of where it is running from AND it is run from outside its own directory then it will wreck the apache shell scripts it was supposed to modify, causing more trouble than its worth.

  • Property svn:executable set to *
Line 
1#!/bin/sh
2#
3# Licensed to the Apache Software Foundation (ASF) under one or more
4# contributor license agreements.  See the NOTICE file distributed with
5# this work for additional information regarding copyright ownership.
6# The ASF licenses this file to You under the Apache License, Version 2.0
7# (the "License"); you may not use this file except in compliance with
8# the License.  You may obtain a copy of the License at
9#
10#     http://www.apache.org/licenses/LICENSE-2.0
11#
12# Unless required by applicable law or agreed to in writing, software
13# distributed under the License is distributed on an "AS IS" BASIS,
14# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15# See the License for the specific language governing permissions and
16# limitations under the License.
17#
18#
19# Usage: install-bindist.sh [ServerRoot]
20# This script installs the Apache binary distribution and
21# was automatically created by binbuild.sh.
22
23
24##
25##  determine path to (optional) Perl interpreter
26##
27PERL=no-perl5-on-this-system
28perls='perl5 perl'
29path=`echo $PATH | sed -e 's/:/ /g'`
30found_perl=0
31 
32for dir in ${path} ;  do
33  for pperl in ${perls} ; do
34    if test -f "${dir}/${pperl}" ; then
35      if `${dir}/${pperl} -v >/dev/null 2>&1` ; then
36        PERL="${dir}/${pperl}"
37        found_perl=1
38        break
39      fi
40    fi
41  done
42  if test $found_perl = 1 ; then
43    break
44  fi
45done
46 
47if [ .$1 = . ]
48then
49  SR=**APACHE_HOME_OS**
50  echo "Number of arguments should be 1. Provide the root directory for the web server."
51  exit 1
52else
53  SR=$1
54fi
55
56if [ -f $SR/bin/envvars ]
57then
58  echo "[Preserving existing envvars settings.]"
59  HAD_ENVVARS=yes
60else
61  HAD_ENVVARS=no
62fi
63
64# Need to run this script from its own directory
65# instead of whatever directory it may be called from
66currentdir=$(cd `dirname $0` && pwd)
67cd $currentdir
68
69sed -e "s%\*\*APACHE_HOME_OS\*\*%$SR%" $SR/conf/httpd.conf.in > $SR/conf/httpd.conf
70
71sed -e "s;^#!\@perlbin\@.*;#!$PERL;" -e "s;\@exp_installbuilddir\@;$SR/build;" \
72    apxs.in > $SR/bin/apxs
73
74# usually we're updating existing files, so need to copy them over into tmp files first
75PRE=`grep "^prefix = " build/config_vars.mk`
76PRE=`echo $PRE | sed -e "s;prefix = ;;"`
77sed -e "s;$PRE;$SR;" build/config_vars.mk > $SR/build/config_vars.mk.tmp
78mv $SR/build/config_vars.mk.tmp $SR/build/config_vars.mk
79chmod u+rwx $SR/build/config_vars.mk
80
81sed -e "s;^#!/.*;#!$PERL;" bin/dbmmanage > $SR/bin/dbmmanage.tmp
82mv $SR/bin/dbmmanage.tmp $SR/bin/dbmmanage
83
84sed -e "s%\*\*APACHE_HOME_OS\*\*%$SR%" \
85        -e "s%^HTTPD=.*$%HTTPD=\"$SR/bin/httpd -d $SR\"%" bin/apachectl > $SR/bin/apachectl.tmp
86mv $SR/bin/apachectl.tmp $SR/bin/apachectl
87chmod u+rwx $SR/bin/apachectl
88
89sed -e "s%\*\*APACHE_HOME_OS\*\*%$SR%" \
90        bin/envvars-std > $SR/bin/envvars-std.tmp
91mv $SR/bin/envvars-std.tmp $SR/bin/envvars-std
92chmod u+rwx $SR/bin/envvars-std
93
94if [ $HAD_ENVVARS = no ]
95then
96    cp -p $SR/bin/envvars-std $SR/bin/envvars
97fi
98 
99echo "Ready."
100echo " +--------------------------------------------------------+"
101echo " | You now have successfully installed the Apache         |"
102echo " | HTTP server. To verify that Apache actually works      |"
103echo " | correctly you should first check the (initially        |"
104echo " | created or preserved) configuration files:             |"
105echo " |                                                        |"
106echo " |   $SR/conf/httpd.conf"
107echo " |                                                        |"
108echo " | You should then be able to immediately fire up         |"
109echo " | Apache the first time by running:                      |"
110echo " |                                                        |"
111echo " |   $SR/bin/apachectl start "
112echo " |                                                        |"
113echo " | Thanks for using Apache.       The Apache Group        |"
114echo " |                                http://www.apache.org/  |"
115echo " +--------------------------------------------------------+"
116echo " "
Note: See TracBrowser for help on using the browser.