OpenPKG CVS Repository http://cvs.openpkg.org/ ____________________________________________________________________________
Server: cvs.openpkg.org Name: Michael van Elst Root: /e/openpkg/cvs Email: [EMAIL PROTECTED] Module: openpkg-src openpkg-web Date: 23-Jul-2003 10:33:29 Branch: HEAD Handle: 2003072309332801 Modified files: openpkg-src/sendmail rc.sendmail sendmail.spec openpkg-web news.txt Log: %status and pidfile handling, use simple 'rc reload' for logfile rotation Summary: Revision Changes Path 1.19 +43 -45 openpkg-src/sendmail/rc.sendmail 1.91 +1 -1 openpkg-src/sendmail/sendmail.spec 1.5740 +1 -0 openpkg-web/news.txt ____________________________________________________________________________ patch -p0 <<'@@ .' Index: openpkg-src/sendmail/rc.sendmail ============================================================================ $ cvs diff -u -r1.18 -r1.19 rc.sendmail --- openpkg-src/sendmail/rc.sendmail 22 Jul 2003 08:11:10 -0000 1.18 +++ openpkg-src/sendmail/rc.sendmail 23 Jul 2003 08:33:29 -0000 1.19 @@ -12,9 +12,6 @@ sendmail_flags_out="-q60s" sendmail_flags_msp="-Ac -q60s" sendmail_flags="" - sendmail_pidfile_in="@l_prefix@/var/sendmail/sendmail.in.pid" - sendmail_pidfile_out="@l_prefix@/var/sendmail/sendmail.out.pid" - sendmail_pidfile_msp="@l_prefix@/var/sendmail/clientmqueue/sendmail.msp.pid" sendmail_log_prolog="true" sendmail_log_epilog="true" sendmail_log_numfiles="10" @@ -22,6 +19,9 @@ sendmail_log_complevel="9" %common + sendmail_pidfile_in="@l_prefix@/var/sendmail/sendmail.in.pid" + sendmail_pidfile_out="@l_prefix@/var/sendmail/sendmail.out.pid" + sendmail_pidfile_msp="@l_prefix@/var/sendmail/clientmqueue/sendmail.msp.pid" sendmail_start () { if rcService sendmail enable yes; then @l_prefix@/sbin/sendmail $sendmail_flags_in $sendmail_flags \ @@ -33,24 +33,39 @@ fi } sendmail_signal () { - if rcService sendmail enable yes; then - if [ -f $sendmail_pidfile_in ]; then - rpmtool signal -c -d2 \ - -p `head -1 $sendmail_pidfile_in` "$@" - rm -f $sendmail_pidfile_in - fi - if [ -f $sendmail_pidfile_out ]; then - rpmtool signal -c -d2 \ - -p `head -1 $sendmail_pidfile_out` "$@" - rm -f $sendmail_pidfile_out - fi - if [ -f $sendmail_pidfile_msp ]; then - rpmtool signal -c -d2 \ - -p `head -1 $sendmail_pidfile_msp` "$@" - rm -f $sendmail_pidfile_msp - fi - fi + local rc + [ -f $sendmail_pidfile_in ] \ + && kill -$1 `cat $sendmail_pidfile_in` + rc=$? + [ -f $sendmail_pidfile_out ] \ + && kill -$1 `cat $sendmail_pidfile_out` \ + && [ $rc -eq 0 ] + rc=$? + [ -f $sendmail_pidfile_msp ] \ + && kill -$1 `cat $sendmail_pidfile_msp` \ + && [ $rc -eq 0 ] + } + sendmail_wait1 () { + local i=0 + while [ $i -lt $sendmail_wait_timeout -a -f $1 ]; do + sleep 1 + done + rm -f $1 2>/dev/null || true } + sendmail_wait () { + sendmail_wait1 $sendmail_pidfile_in + sendmail_wait1 $sendmail_pidfile_out + sendmail_wait1 $sendmail_pidfile_msp + } + +%status -u @l_susr@ -o + sendmail_usable="unknown" + sendmail_active="no" + rcService sendmail enable yes && \ + sendmail_signal 0 && sendmail_active="yes" + echo "sendmail_enable=\"$sendmail_enable\"" + echo "sendmail_usable=\"$sendmail_usable\"" + echo "sendmail_active=\"$sendmail_active\"" %start -u @l_susr@ rcService sendmail enable yes || exit 0 @@ -58,45 +73,28 @@ %stop -u @l_susr@ rcService sendmail enable yes || exit 0 - sendmail_signal TERM KILL + sendmail_signal TERM + sendmail_wait %restart -u @l_susr@ rcService sendmail enable yes || exit 0 - sendmail_signal TERM KILL - sleep 2 + sendmail_signal TERM + sendmail_wait sendmail_start %reload -u @l_susr@ rcService sendmail enable yes || exit 0 - # sendmail does not like SIGHUP on queue-only processes, - # so we have to perform actually a restart... - sendmail_signal TERM KILL - sleep 2 + sendmail_signal TERM + sendmail_wait sendmail_start %daily -u @l_susr@ rcService sendmail enable yes || exit 0 - rcTmp -i -p sendmail - hintfile=`rcTmp -f -n hint` - prolog="true" - if [ ".$sendmail_log_prolog" != . ]; then - prolog="$prolog; $sendmail_log_prolog" - fi - epilog="echo 'epilog' >$hintfile" - if [ ".$sendmail_log_epilog" != . ]; then - epilog="$epilog; $sendmail_log_epilog" - fi shtool rotate -f \ -n ${sendmail_log_numfiles} -s ${sendmail_log_minsize} \ -d -z ${sendmail_log_complevel} \ -o @l_musr@ -g @l_mgrp@ -m 644 \ - -P "$prolog" \ - -E "$epilog" \ + -P "$sendmail_log_prologue" \ + -E "$sendmail_log_epilogue && rc sendmail reload" \ @l_prefix@/var/sendmail/sendmail.log - if [ ".`cat $hintfile`" = ".epilog" ]; then - sendmail_signal TERM KILL - sleep 2 - sendmail_start - fi - rcTmp -k @@ . patch -p0 <<'@@ .' Index: openpkg-src/sendmail/sendmail.spec ============================================================================ $ cvs diff -u -r1.90 -r1.91 sendmail.spec --- openpkg-src/sendmail/sendmail.spec 22 Jul 2003 08:11:10 -0000 1.90 +++ openpkg-src/sendmail/sendmail.spec 23 Jul 2003 08:33:29 -0000 1.91 @@ -33,7 +33,7 @@ Group: Mail License: BSD Version: 8.12.9 -Release: 20030722 +Release: 20030723 # package options %option with_fsl yes @@ . patch -p0 <<'@@ .' Index: openpkg-web/news.txt ============================================================================ $ cvs diff -u -r1.5739 -r1.5740 news.txt --- openpkg-web/news.txt 23 Jul 2003 08:25:29 -0000 1.5739 +++ openpkg-web/news.txt 23 Jul 2003 08:33:28 -0000 1.5740 @@ -1,3 +1,4 @@ +23-Jul-2003: Upgraded package: P<sendmail-8.12.9-20030723> 23-Jul-2003: Upgraded package: P<rt-3.0.4-20030723> 23-Jul-2003: Upgraded package: P<inn-2.4.0-20030723> 23-Jul-2003: Upgraded package: P<teapop-0.3.7-20030723> @@ . ______________________________________________________________________ The OpenPKG Project www.openpkg.org CVS Repository Commit List [EMAIL PROTECTED]