removed some of the debug logging and added author details
[httpd-crcsyncproxy.git] / build / binbuild.sh
blob92fe0a723e99eccd45a9f9f549585427649b4f34
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
10 # http://www.apache.org/licenses/LICENSE-2.0
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.
19 # binbuild.sh - Builds an Apache binary distribution.
20 # Initially written by Lars Eilebrecht <lars apache.org>.
22 OS=`./build/config.guess`
23 PRINTPATH="build/PrintPath"
24 APFULLDIR=`pwd`
25 BUILD_DIR="$APFULLDIR/bindist"
26 DEFAULT_DIR="/usr/local/apache2"
27 APDIR="$APFULLDIR"
28 APDIR=`basename $APDIR`
29 CONFIGPARAM="--enable-layout=Apache --prefix=$BUILD_DIR --enable-mods-shared=most --with-expat=$APFULLDIR/srclib/apr-util/xml/expat --enable-static-support"
30 VER=`echo $APDIR | sed s/httpd-//`
31 TAR="`$PRINTPATH tar`"
32 GZIP="`$PRINTPATH gzip`"
33 COMPRESS="`$PRINTPATH compress`"
34 MD5="`$PRINTPATH md5`"
35 if [ x$MD5 = x ]; then
36 OPENSSL="`$PRINTPATH openssl`"
37 if [ x$OPENSSL != x ]; then
38 MD5="$OPENSSL md5"
42 if [ x$1 != x ]; then
43 USER=$1
44 else
45 USER="`build/buildinfo.sh -n %u@%h%d`"
48 if [ ! -f ./ABOUT_APACHE ]; then
49 echo "ERROR: The current directory contains no valid Apache distribution."
50 echo "Please change the directory to the top level directory of a freshly"
51 echo "unpacked Apache 2.0 source distribution and re-execute the script"
52 echo "'./build/binbuild.sh'."
53 exit 1;
56 if [ -d ./CVS ]; then
57 echo "ERROR: The current directory is a CVS checkout of Apache."
58 echo "Only a standard Apache 2.0 source distribution should be used to"
59 echo "create a binary distribution."
60 exit 1;
63 echo "Building Apache $VER binary distribution..."
64 echo "Platform is \"$OS\"..."
66 ( echo "Build log for Apache binary distribution" && \
67 echo "----------------------------------------------------------------------" && \
68 ./configure $CONFIGPARAM && \
69 echo "----------------------------------------------------------------------" && \
70 make clean && \
71 rm -rf bindist install-bindist.sh *.bindist
72 echo "----------------------------------------------------------------------" && \
73 make && \
74 echo "----------------------------------------------------------------------" && \
75 make install root="bindist/" && \
76 echo "----------------------------------------------------------------------" && \
77 make clean && \
78 echo "----------------------------------------------------------------------" && \
79 echo "[EOF]" \
80 ) 2>&1 | tee build.log
82 if [ ! -f ./bindist/bin/httpd ]; then
83 echo "ERROR: Failed to build Apache. See \"build.log\" for details."
84 exit 1;
87 echo "Binary image successfully created..."
89 ./bindist/bin/httpd -v
91 echo "Creating supplementary files..."
93 ( echo " " && \
94 echo "Apache $VER binary distribution" && \
95 echo "================================" && \
96 echo " " && \
97 echo "This binary distribution is usable on a \"$OS\"" && \
98 echo "system and was built by \"$USER\"." && \
99 echo "" && \
100 echo "The distribution contains all standard Apache modules as shared" && \
101 echo "objects. This allows you to enable or disable particular modules" && \
102 echo "with the LoadModule/AddModule directives in the configuration file" && \
103 echo "without the need to re-compile Apache." && \
104 echo "" && \
105 echo "See \"INSTALL.bindist\" on how to install the distribution." && \
106 echo " " && \
107 echo "NOTE: Please do not send support-related mails to the address mentioned" && \
108 echo " above or to any member of the Apache Group! Support questions" && \
109 echo " should be directed to the forums mentioned at" && \
110 echo " http://httpd.apache.org/lists.html#http-users" && \
111 echo " where some of the Apache team lurk, in the company of many other" && \
112 echo " Apache gurus who should be able to help." && \
113 echo " If you think you found a bug in Apache or have a suggestion please" && \
114 echo " visit the bug report page at http://httpd.apache.org/bug_report.html" && \
115 echo " " && \
116 echo "----------------------------------------------------------------------" && \
117 ./bindist/bin/httpd -V && \
118 echo "----------------------------------------------------------------------" \
119 ) > README.bindist
120 cp README.bindist ../httpd-$VER-$OS.README
122 ( echo " " && \
123 echo "Apache $VER binary installation" && \
124 echo "================================" && \
125 echo " " && \
126 echo "To install this binary distribution you have to execute the installation" && \
127 echo "script \"install-bindist.sh\" in the top-level directory of the distribution." && \
128 echo " " && \
129 echo "The script takes the ServerRoot directory into which you want to install" && \
130 echo "Apache as an option. If you omit the option the default path" && \
131 echo "\"$DEFAULT_DIR\" is used." && \
132 echo "Make sure you have write permissions in the target directory, e.g. switch" && \
133 echo "to user \"root\" before you execute the script." && \
134 echo " " && \
135 echo "See \"README.bindist\" for further details about this distribution." && \
136 echo " " && \
137 echo "Please note that this distribution includes the complete Apache source code." && \
138 echo "Therefore you may compile Apache yourself at any time if you have a compiler" && \
139 echo "installation on your system." && \
140 echo "See \"INSTALL\" for details on how to accomplish this." && \
141 echo " " \
142 ) > INSTALL.bindist
144 sed -e "s%\@default_dir\@%$DEFAULT_DIR%" \
145 -e "s%\@ver\@%$VER%" \
146 -e "s%\@os\@%$OS%" \
147 build/install-bindist.sh.in > install-bindist.sh
149 chmod 755 install-bindist.sh
151 sed -e "s%$BUILD_DIR%$DEFAULT_DIR%" \
152 -e "s%^ServerAdmin.*%ServerAdmin you@your.address%" \
153 -e "s%#ServerName.*%#ServerName localhost%" \
154 bindist/conf/httpd-std.conf > bindist/conf/httpd.conf
155 cp bindist/conf/httpd.conf bindist/conf/httpd-std.conf
157 for one_file in apachectl envvars envvars-std; do
158 sed -e "s%$BUILD_DIR%$DEFAULT_DIR%" \
159 bindist/bin/$one_file > bindist/bin/$one_file.tmp
160 mv bindist/bin/$one_file.tmp bindist/bin/$one_file
161 done
163 echo "Creating distribution archive and readme file..."
165 if [ ".`grep -i error build.log > /dev/null`" != . ]; then
166 echo "ERROR: Failed to build Apache. See \"build.log\" for details."
167 exit 1;
168 else
169 if [ "x$TAR" != "x" ]; then
170 case "x$OS" in
171 x*os390*) $TAR -cfU ../httpd-$VER-$OS.tar -C .. httpd-$VER;;
172 *) (cd .. && $TAR -cf httpd-$VER-$OS.tar httpd-$VER);;
173 esac
174 if [ "x$GZIP" != "x" ]; then
175 $GZIP -9 ../httpd-$VER-$OS.tar
176 ARCHIVE=../httpd-$VER-$OS.tar.gz
177 elif [ "x$COMPRESS" != "x" ]; then
178 $COMPRESS ../httpd-$VER-$OS.tar
179 ARCHIVE=../httpd-$VER-$OS.tar.Z
180 else
181 echo "WARNING: Could not find a 'gzip' program!"
182 echo " tar archive is not compressed."
183 ARCHIVE=../httpd-$VER-$OS.tar
185 else
186 echo "ERROR: Could not find a 'tar' program!"
187 echo " Please execute the following commands manually:"
188 echo " tar -cf ../httpd-$VER-$OS.tar ."
189 echo " gzip -9 ../httpd-$VER-$OS.tar"
192 if [ "x$MD5" != "x" ]; then
193 $MD5 $ARCHIVE > $ARCHIVE.md5
196 if [ -f $ARCHIVE ] && [ -f ../httpd-$VER-$OS.README ]; then
197 echo "Ready."
198 echo "You can find the binary archive ($ARCHIVE)"
199 echo "and the readme file (httpd-$VER-$OS.README) in the"
200 echo "parent directory."
201 exit 0;
202 else
203 echo "ERROR: Archive or README is missing."
204 exit 1;