You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

105 lines
3.2 KiB

#!@l_prefix@/bin/openpkg 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_wait_timeout="60"
sendmail_log_prolog="true"
sendmail_log_epilog="true"
sendmail_log_numfiles="10"
sendmail_log_minsize="1M"
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 \
-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_signal1 () {
[ -f $2 ] && kill -$1 `cat $2`
}
sendmail_signal () {
local rc
sendmail_signal1 $1 $sendmail_pidfile_in
rc=$?
sendmail_signal1 $1 $sendmail_pidfile_out \
&& [ $rc -eq 0 ]
rc=$?
sendmail_signal1 $1 $sendmail_pidfile_msp \
&& [ $rc -eq 0 ]
}
sendmail_wait1 () {
local i=0
while [ $i -lt $sendmail_wait_timeout -a sendmail_signal1 0 $1 ]; do
sleep 1
i=`expr $i + 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
rcService sendmail active yes && exit 0
sendmail_start
%stop -u @l_susr@
rcService sendmail enable yes || exit 0
rcService sendmail active no && exit 0
sendmail_signal TERM
sendmail_wait
%restart -u @l_susr@
rcService sendmail enable yes || exit 0
rcService sendmail active no && exit 0
sendmail_signal TERM
sendmail_wait
sendmail_start
%reload -u @l_susr@
rcService sendmail enable yes || exit 0
rcService sendmail active no && exit 0
sendmail_signal TERM
sendmail_wait
sendmail_start
%daily -u @l_susr@
rcService sendmail enable yes || exit 0
shtool rotate -f \
-n ${sendmail_log_numfiles} -s ${sendmail_log_minsize} -d \
-z ${sendmail_log_complevel} -o @l_susr@ -g @l_mgrp@ -m 644 \
-P "$sendmail_log_prolog" \
-E "$sendmail_log_epilog && rc sendmail reload" \
@l_prefix@/var/sendmail/sendmail.log