update httpd: 1.3.27 -> 1.3.28
[nethome.git] / bin / vellumweb-build
1 #! /bin/sh
2 #
3 # $Id$
4
5 arch=$HOME/arch
6 prefix=/usr/local/apache
7 pkgs="
8         httpd=apache_1.3.28
9         openssl=openssl-0.9.7b
10         modssl=mod_ssl-2.8.15-1.3.28
11         php=php-4.3.2
12         modperl=mod_perl-1.28
13         "
14 with_perl=false
15 export CFLAGS="-ggdb3"
16
17 #-----------------------------------------------------------------------------
18
19 do_failed=true
20 trap 'if $do_failed;then echo "FAILED FAILED FAILED!";fi' EXIT
21
22 set -e
23 eval "$pkgs"
24 echo "$pkgs"|sed -n 's/=/ /p'|while read -r pkg pkgb;do
25         ! $with_perl && test $pkg = modperl && continue
26           if test -f $arch/$pkgb.tar.gz ;then pkgarchext=.tar.gz ;z=z
27         elif test -f $arch/$pkgb.tgz    ;then pkgarchext=.tgz    ;z=z
28         elif test -f $arch/$pkgb.tar.bz2;then pkgarchext=.tar.bz2;z=j
29         else echo "Missing archive \"$pkgb*\"!";exit 1;fi
30         rm -rf $pkg;echo -n .
31         tar x${z}f $arch/$pkgb$pkgarchext;echo -n .
32 done;echo
33
34 (
35 set -ex
36
37 pushd $httpd
38         ./configure --prefix=$prefix
39 popd
40
41 pushd $openssl
42         rm -rf /usr/local/ssl*
43         ./config
44         make
45         make install
46 popd
47
48 pushd $modssl
49         ./configure --with-apache=../$httpd --with-ssl=../$openssl \
50                 --prefix=$prefix \
51                 --with-crt=/etc/httpd/conf/ssl.crt/server.crt \
52                 --with-key=/etc/httpd/conf/ssl.key/server.key
53 popd
54
55 pushd $php
56         ./configure --with-apache=../$httpd \
57                 --with-mysql`d=/usr/local/mysql && test -d $d && echo =$d` \
58                 --enable-track-vars \
59                 --enable-memory-limit=yes \
60                 --enable-debug=no
61         make
62         make install
63 popd
64
65 if $with_perl;then
66 pushd $modperl
67         perl Makefile.PL APACHE_SRC=../$httpd DO_HTTPD=1 USE_APACI=1 PREP_HTTPD=1 EVERYTHING=1 \
68                         PERL_DEBUG=1
69         make
70 #       make test       # requires running httpd!
71         make install UNINST=1
72 popd
73 fi
74
75 pushd $httpd
76         OPTIM="$CFLAGS" SSL_BASE="$PWD/../$openssl" ./configure --prefix=$prefix \
77                         --enable-module=ssl \
78                         --activate-module=src/modules/php4/libphp4.a \
79                         $(if $with_perl;then echo \
80                                 --activate-module=src/modules/perl/libperl.a \
81                                                 --disable-rule=EXPAT \
82                                 ;fi
83                                 ) \
84                         --enable-module=so \
85                         --enable-module=headers \
86                         --enable-module=rewrite \
87                         --enable-module=auth_anon
88         make
89         make install
90 popd
91
92 echo "success."
93 ) 2>&1|tee errs
94 do_failed=false