update php: 4.2.1 -> 4.2.2
[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.26
10         openssl=openssl-0.9.6d
11         modssl=mod_ssl-2.8.10-1.3.26
12         php=php-4.2.2
13         modperl=mod_perl-1.27
14         csacek=csacek-2.1.9
15         "
16 export CFLAGS="-ggdb3"
17
18 #-----------------------------------------------------------------------------
19
20 do_failed=true
21 trap 'if $do_failed;then echo "FAILED FAILED FAILED!";fi' EXIT
22
23 set -e
24 eval "$pkgs"
25 echo "$pkgs"|sed -n 's/=/ /p'|while read -r pkg pkgb;do
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 uudecode -o - <<EOF | gzip -dc | (cd $csacek;patch -Ep1)
35 begin 644 cstools.c-2.1.9-pc2degree.diff.gz
36 M'XL("-TKQ3P"\`V-S=&]O;',N8RTR+C\$N.2UP8S)D96=R964N9&EF9@#3U=55
37 M2"Y.3\$[-UC72,]2SU\$\\N+LG/SRG62];-+\\I,YPPNS5-P2TU24#!6,#2R,C2V
38 M,C%4,#(P,.+2UM;&H9\$SI#15P;&@2,\$(J,?0RMC4RL0\$HL?!04'7T-1,QUQ!
39 M&T(Y.'\`I\`(&^EH)W8JZ"ECZ8IY&<GU=<HE":5YR9GI>:HI"<D5BDH*6IH-3O
40 MZ-CGZ.S<T.HRP=6UL]NSRV>.W]*IR_UGSEL].SBX+639]-!9<R=%12U(3&Q)
41 M3\$YN;TYI2DWM6)C9F].3MV31Y/PI*U>M*"Z>7S)M<6GCC(E55=_T8I1BE'35
42 MU14JU-758Y3R@Y5T8.X)<%;P22S)S#,"N4H7GZNV;CO6MZ2_8<VEBQ-67-Y^
43 M[?K\$N5,?7WWPJ&OFGQ?/=DR????>R]>SWB[KW;N@^7C+TK;V^5<N-*WLO+&P
44 M9U+'M"=/%TWNGO+WU?.U,^:\\:UW\\N_'-\\M7[H*Y:M_[_]?=7KDY9^!7H*.T!
45 M=\$#^5T2H>/M[ZEHH.\`<3C*J'CC\\^\`J/J\\1.7[ZZN3U^^]O1YX_?N_0?_MY^>
46 M?0X._A+RZFOHBY^_HJ(.)B9>!\$;5X2,IUU-3CY[,/)US)N_<^0OY9R\\=NUQ<
47 =?*7DU-72\$S=O557IXXDJ7T=GD'L\`9^@I(,H"\`\`\`\`
48 \`
49 end
50 EOF
51
52 uudecode -o - <<EOF | gzip -dc | (cd $csacek;patch -Ep1)
53 begin 644 guess.c-2.1.9-ignoreallcharsets.diff.gz
54 M'XL(")B\$S#P"\`V=U97-S+F,M,BXQ+CDM:6=N;W)E86QL8VAA<G-E=',N9&EF
55 M9@!MD%UKPC\`4AJ_37_'2@1]-HTT[F5:\$CL%@('A1[[8A-48-E;8TZ78Q]M\\7
56 MH]M@["KG')XW>4X88Q"Z\$+)D\\8B/9N-#)[4>"5:WZD#RKL*CW\`()>)SR)+WE
57 MB*,H]BBE_\\;(NI.X;UK\$-I&DD[N43R^)+\`/C41)R#NK.!%GF@1#R5IQLB"Z@
58 M3:N;:N#Z\$#Y>C#^<.T27JFGD#HX1?Z!YZ#"/WJ@](L>/\`]C:'"5,7<H*2L,/
59 M_!"=EK:NV70ZF;\$8P=C1%AW\\O+\`\`1Z\\'=_]S]'H>](/^\$!\\.)75G9"6LR\$.^
60 M7JV6^>8I7RT+HZKX8DJVK2S*2_UIE62U4WLK=^Y%O9,V*;2IZY/>O!^5.)YG
61 7W\\M<':X[_W[+58V"S[TO%<%CGK\`!\`\`\`\`
62 \`
63 end
64 EOF
65
66 uudecode -o - <<EOF | gzip -dc | (cd $csacek;patch -Ep1)
67 begin 644 csacek-2.1.9-flags.diff.gz
68 M'XL("-EB,3T"\`V-S86-E:RTR+C\$N.2UF;&%G<RYD:69F\`*U8>W/:2!+_&W^*
69 M7J>RAXRP\$>\`XQG82@K&7*[\\.<-U=U5:IA#0RJ@A)JY'BY?;QV;=[1A(C\$,19
70 M7RI5,CW3/?WNWXSCN2XT4VC&8'/+9E^:[4/C\\+09QM[3D159]IP=VJ6E@KK7
71 M;#9W,-6F*8-;*P8XAG:[USKI=5O0;K7:>XU&HUIB;6(E\\,_4!Z,#1JMGO"]8
72 M/GV"9N?4T#O'T*"O<0J?/NU!#<68=ABX9@('@>T^P07459IF\$O5L?2=[KMH+
73 MXE?,K(0)8CW2X>[QYD9#_KUFS7.A3M*:'US?>N+PPX5D<)],A[F'@JCAOIH4
74 MGV^[\`(7I#->9SUG5MK"T+3N03@A,GL3V(LI.OV2NE?K)8&[%G"5Z28GRFH8Z
75 MMDHJE=<+W<KD*B4W&,-JQF^J_6#%26\`MF%ZA=KZV5>]\\PYK>.7F'XBO.L)JS
76 ML1&/4K!_!#6,YB)T/-=CCH9\\4/KW.]3#\$M^?E7RKE*IPU90M(A^S\\-*+R^%5
77 M%LA'4':2LIH[2"%5.4=9+D):8FF\\P6.]@,%@TC=OA^/KH3FXO[LR)]/QZ.ZZ
78 M+N7HXC!=\\.N\`YOF.!C^C9U8N)9KB4O'S(ZB_>GG^"_9=WOELQ1B]LF,DK<(G
79 M<B%WA_Q5Y8E\\7UC:UZB]W.ZUTOM;S\$4!?!^WFA;?QYGY[?N81D]!&+.'&#/C
80 MU]V)K.XL!ZPD8S-LZG(>/)56%<(R3UC!TWB3!GAX=3*C'5"+69+&\`=2_AIZ#
81 M\$T&*1A/_\$!.H>]S5WT&CVVWI[^7\\J<UP7'PY\$[Q4_;;%9:U\\[H\\OAU<]*H*C
82 M\`[@:_>=VV(,TL&8^@R0\$Q^/B3^E_<,,8+.#IS/%B9B=AO"1&.("Z)PQPP.+Y
83 M7H^#PR+<A@%'>K!\\MI8:'!R1-DKR8K5]M?R4G96T%%:<G\`@KWAWK)](*U/!F
84 M=#<=7J(8P!\\+:PE^&*(I,R_A.LS2!+SD'QRXY3+P\`DCFJ(6P59SK!0G8H<.H
85 MPO%O'*0+I_G!"]R0SI2I-1E.ZS14USNA+C@IC402H<X::5S!HNP4H7=V01=)
86 M.9R7@49.W0)=\\N7:)\`TD=\$\$<8O2Z)[V6L06ZK%C*T,7\`_ROHTGUWJAMM\\KGX
87 MDM/WR-%AE'AA@'[%D8INY2S^RM\`:M-E[2F.+%H6'DV7\$*'&QN%([@1RUP&]4
88 M>D&"J5*@"Z1SW(%=J':P.=8K5M7AJ2ZOC0YU:=5&5>I:K:F*Z5\`..BWO4)02
89 MTI\$D3M5"R8#5-+E_'\`^&Y)#&3D.VL/<?;Z;F0W\\\\O>O?5DA1[:U5B9@.;Q]N
90 M^E@EH_\$F=^:2#4;"CYN[2ZZJ[=)W='UW/QX^C(?80D0J_\`\$KS'J6I=%@0DD(
91 M_8<1N&E@RYS"S3LKA,IS'=I+VI;JD(NB-J[83-1&NV=T>MUMM9\$SE"JC991\`
92 MO=%NZ5@IC>Q;@'K+<<PP3:(T(10^2W'>^RS0<4S(9HL_L-OP*,8L<^MB??]\\
93 M>)OC.N!A&ML,6(\`]PPN>SH]PK0?GT^F'M_S\\"#_GG\\<??@[V=9I>M0HL*V9B
94 MK5X%?C]"%;573E--.WNE*4I";E>_T'X=\`V2JJP@OTULE]=8S^_5JJ[F]0V\\1
95 M_\$X;1U!#?EX2^MJ+8A]A(WB!QZHP5SG@^=):Q\`MRK[*UO-Z%N2\$((F@T))C\`
96 M_%NN[+X3KA0?.5\\JQ--D%2>,F:P+L'V/X?1VK,2BUJ.*?[\$'\\YOH*PM&:%<G
97 MVF@B1G]Q;=+%SL'5M3D>#NXOAZ.[A\\>IIJ'<_3#81T'[H>ONO]#M.YLB1]TV
98 M'CPRXI:VF*T6?=\$XP4[7ZQB]]O&6OEAPE"%#!_^KD\$\$_)<"@RY>.-YZ;(]=_
99 M]^^FZ#9RQ+\\>A^/_DMM^K_(0<K\$\`S<5X4<Q*WM8K4U=?;P?\$1R-,WSJ4*.HZ
100 M33!YWQ6CKK4B%"-?KB\`Y9@O+"RCW\$,U09@-Z\`Z\$QI<1LB="240\$S\`2D)!\\FI
101 MEX^ZKU;L\$7+FD'(4B@P\$"L\\\$6Q@@><:>O\$"(?_:2.?P@I\`=A@J\`VP"Q':\$T"
102 MQ7N2<4HE0Y\\,S2/@)B1..>10@;!?4A8OZQI5QI<@?*;O\\]RSYV*,"]"&DV8>
103 MIKXCN6/!!=?#J:@H03Q"%T:\$ANWB[<3F21CZW!2RB*->^;#3\$BWIF[Q4=J^J
104 MNZ(?H7]I0QI!P!!O.HJW!<['VQ'B<U3B5S.*0YMQ;N(.3E4F+H8_8M5EK50X
105 M^%BT]\\YQ1[EH6%'D+]%1B(5"=PWJUGFXD'<.\$37+QVN+LQ0ZS1A&ADDOKYVN
106 M@;B,^#X]QR@>=^C%8=MC3[[^_^CW^=UEU;JB4N.ZNA%[<8UXL6_]1B6;X!@6
107 M"F!8\\*II16:\$-H0V,4<88C-FO^C9?0HK!3M872BM00/:XLQ:WMI)%(Z.P[<<
108 M\\8S<E\$7@Q!\`1.&EG*9X%610>W3@V+LGD2\\O'*R6'_.KY/,<Y8L^9_0699\`0\\
109 M-\\><N!W%/(Y'JT07;)&4=J&\\J<I3R^9MG%^D_'=(40J@9,K'"O-Z6QN9EA4!
110 M2I;=VI37,9X=SWV/)R9VKD0]7"MNU<9[T;\`)Q[:R=H+_Z*9*[JJCW@'=F.EQ
111 M)"L3#%E1Q1BX4PTNZ!U\$IH=,"U?F*\\7:^Q\\S\$QID=._*9[O,BPT\`V#\`:V9(8
112 M&#^-!C_15,@;NX0ZJPL)'"09LR,>\`O\\F=!122XHI8E^@\$UHI['UI5=!1#3\`T
113 MX9"\\%MS,LV_YD2B'C0?5'1[9)D,Q8RL[I0[E#L9VU:P'D^G]_<W\$[\$\\&HY\$P
114 ;,'M@HH1:."9U+:638Q&[6?_\\"RB\\';&8&0\`\`
115 \`
116 end
117 EOF
118
119 (
120 set -ex
121
122 pushd $httpd
123         ./configure --prefix=$prefix
124 popd
125
126 pushd $openssl
127         rm -rf /usr/local/ssl*
128         ./config
129         make
130         make install
131 popd
132
133 pushd $modssl
134         ./configure --with-apache=../$httpd --with-ssl=../$openssl \
135                 --prefix=$prefix \
136                 --with-crt=/etc/httpd/conf/ssl.crt/server.crt \
137                 --with-key=/etc/httpd/conf/ssl.key/server.key
138 popd
139
140 pushd $php
141         ./configure --with-apache=../$httpd \
142                 --with-mysql`d=/usr/local/mysql && test -d $d && echo =$d` \
143                 --enable-track-vars \
144                 --enable-memory-limit=yes \
145                 --enable-debug=no
146         make
147         make install
148 popd
149
150 pushd $modperl
151         perl Makefile.PL APACHE_SRC=../$httpd DO_HTTPD=1 USE_APACI=1 PREP_HTTPD=1 EVERYTHING=1 \
152                         PERL_DEBUG=1
153         make
154         make install
155 popd
156
157 pushd $csacek
158         ./configure --with-target=Apache \
159                 --with-templatedir=$csacek_templatedir
160         make mod_csacek.c
161         cp -p mod_csacek.c cs*.h ../$httpd/src/modules/extra/
162         rm -rf $csacek_templatedir
163         mkdir -p $csacek_templatedir
164         cp -a templates/* $csacek_templatedir/
165 popd
166
167 pushd $httpd
168         # we need -lz for CSacek w/o its --disable-compression
169         OPTIM="$CFLAGS" SSL_BASE="$PWD/../$openssl" LIBS="-lz" ./configure --prefix=$prefix \
170                         --enable-module=ssl \
171                         --activate-module=src/modules/php4/libphp4.a \
172                         --activate-module=src/modules/perl/libperl.a \
173                                         --disable-rule=EXPAT \
174                         --activate-module=src/modules/extra/mod_csacek.c \
175                         --enable-module=so \
176                         --enable-module=headers \
177                         --enable-module=rewrite
178         make
179         make install
180 popd
181
182 echo "success."
183 ) 2>&1|tee errs
184 do_failed=false