wok view apache/receipt @ rev 19022
Up slitaz-boot-scripts (427), tazpkg (904), tazwok (557)
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Fri Apr 01 11:32:41 2016 +0200 (2016-04-01) |
parents | 12da1d122488 |
children | 3630f18392bd |
line source
1 # SliTaz package receipt.
3 PACKAGE="apache"
4 VERSION="2.4.16"
5 CATEGORY="network"
6 SHORT_DESC="Secure, efficient and extensible HTTP server."
7 MAINTAINER="pascal.bellard@slitaz.org"
8 LICENSE="Apache"
9 SOURCE="httpd"
10 TARBALL="$SOURCE-$VERSION.tar.bz2"
11 WEB_SITE="http://www.apache.org/"
12 WGET_URL="${WEB_SITE}dist/$SOURCE/$TARBALL"
13 CONFIG_FILES="/etc/apache /var/www /etc/ssl/apache"
14 TAZPANEL_DAEMON="edit::/etc/apache/httpd.conf|web::$WEB_SITE"
15 PROVIDE="lighttpd"
16 TAGS="webserver http server"
18 DEPENDS="apr-util apr openssl pcre util-linux-uuid expat zlib"
19 BUILD_DEPENDS="apr-util-dev apr-dev openssl-dev sed expat-dev zlib-dev \
20 util-linux-uuid-dev openldap-dev bash"
22 # Rules to configure and make the package.
23 compile_rules()
24 {
25 grep -q Slitaz config.layout || \
26 cat $stuff/slitaz.layout >> config.layout
27 ./configure --mandir=/usr/share/man \
28 --enable-mods-shared=all \
29 --enable-proxy \
30 --enable-ssl \
31 --enable-layout=Slitaz $CONFIGURE_ARGS &&
32 make $MAKEFLAGS && make DESTDIR=$DESTDIR install
33 }
35 # Rules to gen a SliTaz package suitable for Tazpkg.
36 genpkg_rules()
37 {
38 mkdir -p $fs/usr/share/apache $fs/etc/init.d $fs/etc/apache/conf.d
39 mkdir -p $fs/etc/ssl/apache
40 cp -a $install/usr/share/apache/icons $fs/usr/share/apache
41 cp -a $install/usr/share/apache/error $fs/usr/share/apache
42 cp -a $install/usr/share/apache/modules $fs/usr/share/apache
43 cp -a $install/usr/bin $fs/usr
44 rm -r $fs/usr/bin/apxs
45 cp -a $install/etc $fs
46 rm -rf $fs/etc/apache/original
47 cp -a $install/var $fs
49 cp -a $stuff/apache $fs/etc/init.d
50 mkdir -p $fs/etc/apache/extra
51 cp -a $stuff/fix-range-CVE-2011-3192.conf $fs/etc/apache/extra
53 sed -i -e 's|User daemon|User www|' -e 's|Group daemon|Group www|' \
54 -e 's|ServerAdmin you@example.com|ServerAdmin root@localhost|' \
55 -e 's|#Include /etc/apache/extra/httpd-ssl.conf|Include /etc/apache/extra/httpd-ssl.conf|' \
56 -e 's|/etc/apache/server.crt|/etc/ssl/apache/apache.pem|' \
57 -e 's|/etc/apache/server.key|/etc/ssl/apache/apache.pem|' \
58 -e 's|#LoadModule ssl_module|LoadModule ssl_module|' \
59 $fs/etc/apache/httpd.conf $fs/etc/apache/extra/httpd-ssl.conf
60 echo "Include /etc/apache/conf.d" >> $fs/etc/apache/httpd.conf
61 sed -i 's/^SSLSessionCache /#&/' $fs/etc/apache/extra/httpd-ssl.conf
62 cat >> $fs/etc/apache/extra/httpd-ssl.conf <<EOT
64 # Unsafe, see CVE-2014-3566 POODLE
65 SSLProtocol All -SSLv2 -SSLv3
66 EOT
67 }
69 # Pre and post install commands for Tazpkg.
70 # We stop the server by default in case of upgarde.
71 pre_install()
72 {
73 [ -z "$1" ] && [ -f /etc/init.d/$PACKAGE ] && /etc/init.d/$PACKAGE stop
74 }
76 post_install()
77 {
78 local lang=$(. $1/etc/locale.conf 2>/dev/null; echo ${LANG#*_})
79 local tz=$(cat $1/etc/TZ 2>/dev/null)
80 local hostname=$(cat $1/etc/hostname 2>/dev/null)
82 # Just in case.
83 chown www.www "$1/var/log/$PACKAGE"
84 ping -c 2 $(hostname) > /dev/null 2>&1 ||
85 sed -i "s/localhost/$(hostname) localhost/" "$1/etc/hosts"
86 sed -i -e "s/^#\(LoadModule.*slotmem_shm.*\)$/\1/" \
87 -e "s/.*ServerName www.example.*/ServerName ${hostname:-slitaz}/" \
88 $1/etc/apache/httpd.conf $1/etc/apache/extra/httpd-ssl.conf
89 grep -qs Apache $1/var/www/index.html &&
90 sed -i 's|^LighTTPD.*|&\nApache configs : /etc/apache|' \
91 $1/var/www/index.html
92 [ -s "$1/etc/ssl/apache/apache.pem" ] ||
93 openssl req -new -x509 -keyout "$1/etc/ssl/apache/apache.pem" \
94 -out "$1/etc/ssl/apache/apache.pem" -days 3650 -nodes <<EOT
95 ${lang:-US}
96 ${tz:-Somewhere}
100 ${hostname:-slitaz}
102 EOT
103 [ -z "$quiet" ] && echo # Start new line
104 ( cd "$1/$INSTALLED/" ; grep -l /etc/apache/conf.d/ */receipt ) | \
105 while read file; do
106 pkg=$(dirname $file)
107 [ "$pkg" = "$PACKAGE" ] && continue
108 [ -z "$quiet" ] && echo "Reconfiguring $pkg for $PACKAGE..."
109 tazpkg reconfigure $pkg
110 done
111 [ -f "$1/etc/php.ini" ] && tazpkg get-install php-apache --root="$1"
112 [ "$1" ] || netstat -ltn 2> /dev/null | grep -q :80 ||
113 /etc/init.d/$PACKAGE start
114 }
116 # Rules to clean extras dirs or files
117 clean_wok()
118 {
119 rm -rf $WOK/$PACKAGE/${PACKAGE}.${VERSION}
120 }