wok-current annotate apache/receipt @ rev 3874

Apache: ensure pidfile is valid
author Pascal Bellard <pascal.bellard@slitaz.org>
date Mon Aug 10 13:16:15 2009 +0200 (2009-08-10)
parents 56777a448469
children 0588160a6878
rev   line source
pascal@1313 1 # SliTaz package receipt.
pascal@1313 2
pascal@1313 3 PACKAGE="apache"
pascal@2507 4 VERSION="2.2.11"
pascal@1313 5 CATEGORY="network"
pascal@1313 6 SHORT_DESC="Secure, efficient and extensible HTTP server."
pascal@1313 7 MAINTAINER="pascal.bellard@slitaz.org"
pascal@1313 8 SOURCE="httpd"
pascal@1313 9 TARBALL="$SOURCE-$VERSION.tar.bz2"
pascal@1313 10 WEB_SITE="http://www.apache.org/"
pascal@1313 11 WGET_URL="${WEB_SITE}dist/$SOURCE/$TARBALL"
pascal@2491 12 DEPENDS="apr-util apr openssl libuuid expat zlib"
pascal@1786 13 BUILD_DEPENDS="apr-util-dev apr-dev openssl-dev"
pascal@1906 14 CONFIG_FILES="/etc/apache /var/www /etc/ssl/apache"
pascal@1572 15 PROVIDE="lighttpd"
pascal@1313 16
pascal@1313 17 # Rules to configure and make the package.
pascal@1313 18 compile_rules()
pascal@1313 19 {
pascal@1313 20 cd $src
pascal@1313 21 grep -q Slitaz config.layout || \
pascal@1313 22 cat ../stuff/slitaz.layout >> config.layout
pascal@1313 23 ./configure --mandir=/usr/share/man --enable-mods-shared=all \
pascal@1786 24 --enable-proxy --enable-ssl \
pascal@1658 25 --enable-layout=Slitaz $CONFIGURE_ARGS &&
pascal@1313 26 make && make DESTDIR=$PWD/_pkg install
pascal@1313 27 }
pascal@1313 28
pascal@1313 29 # Rules to gen a SliTaz package suitable for Tazpkg.
pascal@1313 30 genpkg_rules()
pascal@1313 31 {
pascal@1313 32 mkdir -p $fs/usr/share/apache $fs/etc/init.d $fs/etc/apache/conf.d
pascal@1794 33 mkdir -p $fs/etc/ssl/apache
pascal@1313 34 cp -a $_pkg/usr/share/apache/icons $fs/usr/share/apache
pascal@1313 35 cp -a $_pkg/usr/share/apache/error $fs/usr/share/apache
pascal@1313 36 cp -a $_pkg/usr/share/apache/modules $fs/usr/share/apache
pascal@1313 37 cp -a $_pkg/usr/bin $fs/usr
pascal@1313 38 rm -r $fs/usr/bin/apxs
pascal@1313 39 cp -a $_pkg/etc $fs
pascal@1786 40 rm -rf $fs/etc/apache/original
pascal@1313 41 cp -a $_pkg/var $fs
pascal@3874 42 cat > $fs/etc/init.d/apache <<EOT
pascal@3874 43 #!/bin/sh
pascal@3874 44
pascal@3874 45 . /etc/init.d/rc.functions
pascal@3874 46 active_pidfile /var/run/apache/httpd.pid httpd
pascal@3874 47
pascal@3874 48 exec /usr/bin/apachectl "\$@"
pascal@3874 49 EOT
pascal@3874 50 chmod +x $fs/etc/init.d/apache
pascal@1313 51 sed -i -e 's|User daemon|User www|' -e 's|Group daemon|Group www|' \
pascal@1313 52 -e 's|ServerAdmin you@example.com|ServerAdmin root@localhost|' \
pascal@1794 53 -e 's|#Include /etc/apache/extra/httpd-ssl.conf|Include /etc/apache/extra/httpd-ssl.conf|' \
pascal@1794 54 -e 's|/etc/apache/server.crt|/etc/ssl/apache/apache.pem|' \
pascal@1794 55 -e 's|/etc/apache/server.key|/etc/ssl/apache/apache.pem|' \
pascal@1794 56 $fs/etc/apache/httpd.conf $fs/etc/apache/extra/httpd-ssl.conf
pascal@1313 57 echo "Include /etc/apache/conf.d" >> $fs/etc/apache/httpd.conf
pascal@1313 58 # Cook all packages based on apache
pascal@1313 59 for i in $(cd $WOK; ls -d apache-*)
pascal@1313 60 do
pascal@1313 61 tazwok genpkg $i
pascal@1313 62 done
pascal@1313 63 }
pascal@1313 64
pascal@1313 65 # Pre and post install commands for Tazpkg.
pascal@1313 66 # We stop the server by default in case of upgarde.
pascal@1313 67 pre_install()
pascal@1313 68 {
pascal@1313 69 echo "Processing pre-install commands..."
pascal@1794 70 [ -z "$1" ] && [ -f /etc/init.d/$PACKAGE ] && /etc/init.d/$PACKAGE stop
pascal@1313 71 }
pascal@1313 72
pascal@1313 73 post_install()
pascal@1313 74 {
pascal@1313 75 echo "Processing post-install commands..."
pascal@1313 76 # Just in case.
pascal@1313 77 chown www.www $1/var/log/$PACKAGE
pascal@1658 78 ping -c 2 $(hostname) > /dev/null 2>&1 ||
pascal@1658 79 sed -i "s/localhost/$(hostname) localhost/" /etc/hosts
pascal@1794 80 openssl req -new -x509 -keyout $1/etc/ssl/apache/apache.pem \
pascal@1794 81 -out $1/etc/ssl/apache/apache.pem -days 3650 -nodes <<EOT
pascal@1794 82 $(. /etc/locale.conf ; echo ${LANG#*_})
pascal@1794 83 $(cat /etc/TZ)
pascal@1794 84
pascal@1794 85 $(cat /etc/hostname)
pascal@1794 86
pascal@1794 87
pascal@1794 88
pascal@1794 89 EOT
pascal@1922 90 ( cd $1/$INSTALLED/ ; grep -l /etc/apache/conf.d/ */receipt ) | \
pascal@1922 91 while read file; do
pascal@1922 92 pkg=$(dirname $file)
pascal@1922 93 [ "$pkg" = "$PACKAGE" ] && continue
pascal@1922 94 echo "Reconfiguring $pkg for $PACKAGE..."
pascal@1922 95 tazpkg reconfigure $pkg
pascal@1922 96 done
pascal@1905 97 if [ -z "$1" ]; then
pascal@1905 98 for i in lighttpd ; do
pascal@1905 99 [ -f /etc/init.d/$i ] && /etc/init.d/$i stop
pascal@1905 100 done
pascal@1905 101 /etc/init.d/$PACKAGE start
pascal@1905 102 fi
pascal@1313 103 }
pascal@1313 104
pascal@1313 105 # Rules to clean extras dirs or files
pascal@1313 106 clean_wok()
pascal@1313 107 {
pascal@1313 108 rm -rf $WOK/$PACKAGE/${PACKAGE}.${VERSION}
pascal@1313 109 }