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.
122 lines
4.3 KiB
122 lines
4.3 KiB
#!@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 <rse@engelschall.com> |
|
## |
|
## 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@ |
|
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 |
|
|
|
|