#!@l_prefix@/lib/openpkg/bash @l_prefix@/etc/rc ## ## rc.sendmail -- Run-Commands ## Copyright (c) 2000-2001 Cable & Wireless Deutschland GmbH ## Copyright (c) 2000-2001 Ralf S. Engelschall ## ## Permission to use, copy, modify, and distribute this software for ## any purpose with or without fee is hereby granted, provided that ## the above copyright notice and this permission notice appear in all ## copies. ## ## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF ## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT ## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ## SUCH DAMAGE. ## %config mta_name="sendmail" mta_aliases_file="@l_prefix@/etc/sendmail/t.aliases" mta_aliases_update="cd @l_prefix@/etc/sendmail && make t.aliases.db" sendmail_enable="yes" sendmail_flags_in="-bd" 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" sendmail_log_minsize="1M" sendmail_log_complevel="9" %common sendmail_start () { if opServiceEnabled sendmail; then @l_prefix@/sbin/sendmail $sendmail_flags_in $sendmail_flags \ -OPidFile=$sendmail_pidfile_in @l_prefix@/sbin/sendmail $sendmail_flags_out $sendmail_flags \ -OPidFile=$sendmail_pidfile_out @l_prefix@/sbin/sendmail $sendmail_flags_msp $sendmail_flags \ -OPidFile=$sendmail_pidfile_msp fi } sendmail_signal () { if opServiceEnabled sendmail; 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 } %start -p 200 -u @l_susr@ sendmail_start %stop -p 200 -u @l_susr@ sendmail_signal TERM KILL %restart -u @l_susr@ sendmail_signal TERM KILL sleep 2 sendmail_start %reload -u @l_susr@ # sendmail does not like SIGHUP on queue-only processes, # so we have to perform actually a restart... sendmail_signal TERM KILL sleep 2 sendmail_start %daily -u @l_susr@ if opServiceEnabled sendmail; then opTmpDirGen sendmail opTmpDirFile sendmail hint hintfile 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@ -m644 \ -P "$prolog" \ -E "$epilog" \ @l_prefix@/var/sendmail/sendmail.log if [ ".`cat $hintfile`" = ".epilog" ]; then sendmail_signal TERM KILL sleep 2 sendmail_start fi opTmpDirDel sendmail fi