Date: Sunday, August 29, 2010 @ 12:52:49 Author: pierre Revision: 89167
Upstream update * rewrote rc script * use lighttpd-angel for graceful reload and shutdown * use reload in logrotate config Modified: lighttpd/trunk/PKGBUILD lighttpd/trunk/lighttpd.conf lighttpd/trunk/lighttpd.logrotate.d lighttpd/trunk/lighttpd.rc.d ----------------------+ PKGBUILD | 14 +--- lighttpd.conf | 2 lighttpd.logrotate.d | 6 +- lighttpd.rc.d | 141 +++++++++++++++++++++++++++++++------------------ 4 files changed, 99 insertions(+), 64 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2010-08-29 16:45:20 UTC (rev 89166) +++ PKGBUILD 2010-08-29 16:52:49 UTC (rev 89167) @@ -2,7 +2,7 @@ # Maintainer: Pierre Schmitz <[email protected]> pkgname=lighttpd -pkgver=1.4.27 +pkgver=1.4.28 pkgrel=1 pkgdesc='a secure, fast, compliant and very flexible web-server' license=('custom') @@ -18,10 +18,10 @@ options=('!libtool' 'emptydirs') source=("http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-${pkgver}.tar.bz2" 'lighttpd.rc.d' 'lighttpd.logrotate.d' 'lighttpd.conf') -md5sums=('afece7dc547d71cb94ea2e34ee5b3f9b' - '789ed1b4521e72e591e09d5dfb99235a' - '857e174643fd7761a2f0d8431a679f6c' - 'da7b4ee2d2547d719015e54e8f2ff3d7') +md5sums=('586eb535d31ac299652495b058dd87c4' + '638320101f1114a0a130d5532e7cd512' + '4b22edb80454cd815f076288aa117452' + '2803a9ee7f20409c69f1566d2d90720e') build() { cd $srcdir/$pkgname-$pkgver @@ -56,9 +56,5 @@ find . -type f ! -name 'Makefile*' -exec install -D -m644 {} ${pkgdir}/usr/share/doc/lighttpd/config/{} \; popd >/dev/null - pushd doc >/dev/null - find . -maxdepth 1 -type f -name '*.txt' -exec install -D -m644 {} ${pkgdir}/usr/share/doc/lighttpd/{} \; - popd >/dev/null - install -D -m644 COPYING $pkgdir/usr/share/licenses/$pkgname/COPYING } Modified: lighttpd.conf =================================================================== --- lighttpd.conf 2010-08-29 16:45:20 UTC (rev 89166) +++ lighttpd.conf 2010-08-29 16:52:49 UTC (rev 89167) @@ -6,7 +6,7 @@ server.username = "http" server.groupname = "http" server.document-root = "/srv/http" -server.pid-file = "/var/run/lighttpd.pid" +server.pid-file = "/var/run/lighttpd/lighttpd.pid" server.errorlog = "/var/log/lighttpd/error.log" dir-listing.activate = "enable" index-file.names = ( "index.html" ) Modified: lighttpd.logrotate.d =================================================================== --- lighttpd.logrotate.d 2010-08-29 16:45:20 UTC (rev 89166) +++ lighttpd.logrotate.d 2010-08-29 16:52:49 UTC (rev 89167) @@ -1,5 +1,5 @@ /var/log/lighttpd/*log { - postrotate - /bin/kill -HUP `cat /var/run/lighttpd/lighttpd.pid 2>/dev/null` 2> /dev/null || true - endscript + postrotate + /etc/rc.d/lighttpd reload >/dev/null || true + endscript } Modified: lighttpd.rc.d =================================================================== --- lighttpd.rc.d 2010-08-29 16:45:20 UTC (rev 89166) +++ lighttpd.rc.d 2010-08-29 16:52:49 UTC (rev 89167) @@ -1,67 +1,106 @@ #!/bin/bash -daemon_name=lighttpd - . /etc/rc.conf . /etc/rc.d/functions + +get_pid_file() { + /usr/sbin/lighttpd -p -f /etc/lighttpd/lighttpd.conf 2>/dev/null | grep server.pid-file | cut -d= -f2 +} + get_pid() { - pidof -o %PPID $daemon_name + local pid_file=$(get_pid_file) + local pid=$(pidof -o %PPID lighttpd-angel) + if [ -r "${pid_file}" ]; then + cat "${pid_file}" + elif [ -n "${pid}" ]; then + echo "${pid}" + else + echo '' + fi } -case "$1" in - start) - stat_busy "Starting $daemon_name daemon" +test_config() { + /usr/sbin/lighttpd -t -f /etc/lighttpd/lighttpd.conf >/dev/null 2>&1 + if [ $? -gt 0 ]; then + stat_append ' (error in lighttpd.conf)' + stat_fail + exit 1 + fi +} - PID=$(get_pid) - if [ -z "$PID" ]; then - [ -f /var/run/$daemon_name.pid ] && rm -f /var/run/$daemon_name.pid - # RUN - $daemon_name -f /etc/lighttpd/lighttpd.conf - # - if [ $? -gt 0 ]; then - stat_fail - exit 1 - else - echo $(get_pid) > /var/run/$daemon_name.pid - add_daemon $daemon_name - stat_done - fi - else - stat_fail - exit 1 - fi - ;; +start() { + stat_busy 'Starting lighttpd' + test_config - stop) - stat_busy "Stopping $daemon_name daemon" - PID=$(get_pid) - # KILL - [ ! -z "$PID" ] && kill $PID &> /dev/null - # - if [ $? -gt 0 ]; then - stat_fail - exit 1 - else - rm -f /var/run/$daemon_name.pid &> /dev/null - rm_daemon $daemon_name - stat_done - fi - ;; + local PID=$(get_pid) + if [ -z "$PID" ]; then + nohup /usr/sbin/lighttpd-angel -D -f /etc/lighttpd/lighttpd.conf >/var/log/lighttpd/lighttpd-angel.log 2>&1 & + if [ $? -gt 0 ]; then + stat_fail + exit 1 + else + add_daemon lighttpd + stat_done + fi + else + stat_fail + exit 1 + fi +} - restart) - $0 stop - sleep 3 - $0 start - ;; +stop() { + stat_busy 'Stopping lighttpd' + local PID=$(get_pid) + [ -n "$PID" ] && kill $PID &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + exit 1 + else + local pid_file=$(get_pid_file) + [ -f "${pid_file}" ] && rm -f "${pid_file}" + rm_daemon lighttpd + stat_done + fi +} - status) - stat_busy "Checking $daemon_name status"; - ck_status $daemon_name - ;; +reload() { + stat_busy 'Reloading lighttpd' + test_config + local PID=$(get_pid) + [ -n "$PID" ] && kill -HUP $PID &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + exit 1 + else + stat_done + fi +} - *) - echo "usage: $0 {start|stop|restart|status}" + +case "$1" in + start) + start + ;; + stop) + stop + ;; + reload) + reload + ;; + restart) + stat_busy 'Checking lighttpd.conf' + test_config + stat_done + stop + start + ;; + status) + stat_busy 'Checking lighttpd status'; + ck_status lighttpd + ;; + *) + echo "usage: $0 {start|stop|reload|restart|status}" esac exit 0
