be0078d626937181a001ca539b9655d731920c3d
[nethome.git] / bin / vellumweb-build
1 #! /bin/sh
2 #
3 # $Id$
4
5 arch=$HOME/arch
6 prefix=/usr/local/apache
7 csacek_templatedir=$prefix/htdocs/csacek
8 pkgs="
9         httpd=apache_1.3.24
10         openssl=openssl-0.9.6c
11         modssl=mod_ssl-2.8.8-1.3.24
12         php=php-4.2.0
13         csacek=csacek-2.1.9
14         "
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           if test -f $arch/$pkgb.tar.gz ;then pkgarchext=.tar.gz ;z=z
26         elif test -f $arch/$pkgb.tgz    ;then pkgarchext=.tgz    ;z=z
27         elif test -f $arch/$pkgb.tar.bz2;then pkgarchext=.tar.bz2;z=j
28         else echo "Missing archive \"$pkgb*\"!";exit 1;fi
29         rm -rf $pkg;echo -n .
30         tar x${z}f $arch/$pkgb$pkgarchext;echo -n .
31 done;echo
32
33 uudecode -o - <<EOF | gzip -dc | (cd $csacek;patch -Ep1)
34 begin 644 cstools.c-2.1.9-pc2degree.diff.gz
35 M'XL("-TKQ3P"\`V-S=&]O;',N8RTR+C\$N.2UP8S)D96=R964N9&EF9@#3U=55
36 M2"Y.3\$[-UC72,]2SU\$\N+LG/SRG62];-+\I,YPPNS5-P2TU24#!6,#2R,C2V
37 M,C%4,#(P,.+2UM;&H9\$SI#15P;&@2,\$(J,?0RMC4RL0\$HL?!04'7T-1,QUQ!
38 M&T(Y.'\`I\`(&^EH)W8JZ"ECZ8IY&<GU=<HE":5YR9GI>:HI"<D5BDH*6IH-3O
39 MZ-CGZ.S<T.HRP=6UL]NSRV>.W]*IR_UGSEL].SBX+639]-!9<R=%12U(3&Q)
40 M3\$YN;TYI2DWM6)C9F].3MV31Y/PI*U>M*"Z>7S)M<6GCC(E55=_T8I1BE'35
41 MU14JU-758Y3R@Y5T8.X)<%;P22S)S#,"N4H7GZNV;CO6MZ2_8<VEBQ-67-Y^
42 M[?K\$N5,?7WWPJ&OFGQ?/=DR????>R]>SWB[KW;N@^7C+TK;V^5<N-*WLO+&P
43 M9U+'M"=/%TWNGO+WU?.U,^:\:UW\N_'-\M7[H*Y:M_[_]?=7KDY9^!7H*.T!
44 M=\$#^5T2H>/M[ZEHH.\`<3C*J'CC\^\`J/J\1.7[ZZN3U^^]O1YX_?N_0?_MY^>
45 M?0X._A+RZFOHBY^_HJ(.)B9>!\$;5X2,IUU-3CY[,/)US)N_<^0OY9R\=NUQ<
46 =?*7DU-72\$S=O557IXXDJ7T=GD'L\`9^@I(,H"\`\`\`\`
47 \`
48 end
49 EOF
50
51 set -ex
52 (
53
54 pushd $httpd
55         ./configure --prefix=$prefix
56 popd
57
58 #pushd $modperl
59 #       perl Makefile.PL APACHE_SRC=../$httpd DO_HTTPD=1 EVERYTHING=1
60 #       make
61 #       make install_perl
62 #popd
63
64 pushd $openssl
65         rm -rf /usr/local/ssl*
66         ./config
67         make
68         make install
69 popd
70
71 pushd $modssl
72         ./configure --with-apache=../$httpd --with-ssl=../$openssl \
73                 --prefix=$prefix \
74                 --with-crt=/etc/httpd/conf/ssl.crt/server.crt \
75                 --with-key=/etc/httpd/conf/ssl.key/server.key
76 popd
77
78 pushd $php
79         ./configure --with-mysql=/usr/local/mysql --with-apache=../$httpd \
80                 --enable-track-vars \
81                 --enable-memory-limit=yes \
82                 --enable-debug=no
83         make
84         make install
85 popd
86
87 pushd $csacek
88         ./configure --with-target=Apache \
89                 --with-templatedir=$csacek_templatedir
90         make mod_csacek.c
91         cp -p mod_csacek.c cs*.h ../$httpd/src/modules/extra/
92         rm -rf $csacek_templatedir
93         cp -a templates/ $csacek_templatedir
94 popd
95
96 pushd $httpd
97         OPTIM="$CFLAGS" SSL_BASE="$PWD/../$openssl" ./configure --prefix=$prefix \
98                         --enable-module=ssl \
99                         --activate-module=src/modules/php4/libphp4.a \
100                         --activate-module=src/modules/extra/mod_csacek.c \
101                         --enable-module=so \
102                         --enable-module=headers \
103                         --enable-module=rewrite
104         make
105         make install
106 popd
107
108 echo "success."
109 ) 2>&1|tee errs
110 do_failed=false