#!@l_prefix@/lib/openpkg/bash @l_prefix@/etc/rc ## ## rc.sendmail -- Run-Commands ## %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="$openpkg_rc_def" 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@ opServiceEnabled sendmail || exit 0 sendmail_start %stop -p 200 -u @l_susr@ opServiceEnabled sendmail || exit 0 sendmail_signal TERM KILL %restart -u @l_susr@ opServiceEnabled sendmail || exit 0 sendmail_signal TERM KILL sleep 2 sendmail_start %reload -u @l_susr@ opServiceEnabled sendmail || 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_start %daily -u @l_susr@ opServiceEnabled sendmail || exit 0 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