123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- #!@l_prefix@/lib/openpkg/bash @l_prefix@/etc/rc
- ##
- ## rc.sendmail -- Run-Commands for Sendmail Daemon
- ## 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=""
- sendmail_rotate_prolog=""
- sendmail_rotate_epilog=""
- sendmail_rotate_numfiles="10"
- sendmail_rotate_minsize="1M"
- sendmail_rotate_complevel="9"
- %common
- sendmail_start () {
- if opServiceEnabled sendmail; then
- @l_prefix@/sbin/sendmail $sendmail_flags_in $sendmail_flags \
- -OPidFile=@l_prefix@/var/sendmail/sendmail.in.pid
- @l_prefix@/sbin/sendmail $sendmail_flags_out $sendmail_flags \
- -OPidFile=@l_prefix@/var/sendmail/sendmail.out.pid
- fi
- }
- sendmail_signal () {
- if opServiceEnabled sendmail; then
- if [ -f @l_prefix@/var/sendmail/sendmail.in.pid ]; then
- rpmtool signal -c -d2 \
- -p `head -1 @l_prefix@/var/sendmail/sendmail.in.pid` "$@"
- fi
- if [ -f @l_prefix@/var/sendmail/sendmail.out.pid ]; then
- rpmtool signal -c -d2 \
- -p `head -1 @l_prefix@/var/sendmail/sendmail.out.pid` "$@"
- fi
- fi
- }
- %start -p 200 -u root
- sendmail_start
- %stop -p 200 -u root
- sendmail_signal TERM KILL
- %restart -u root
- sendmail_signal TERM KILL
- sleep 2
- sendmail_start
- %reload -u root
- # 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 root
- if opServiceEnabled sendmail; then
- opTmpDirGen sendmail
- opTmpDirFile sendmail hint hintfile
- prolog="true"
- if [ ".$sendmail_rotate_prolog" != . ]; then
- prolog="$prolog; $sendmail_rotate_prolog"
- fi
- epilog="echo 'epilog' >$hintfile"
- if [ ".$sendmail_rotate_epilog" != . ]; then
- epilog="$epilog; $sendmail_rotate_epilog"
- fi
- shtool rotate -f \
- -n${sendmail_rotate_numfiles} -s${sendmail_rotate_minsize} \
- -d -z${sendmail_rotate_complevel} \
- -o@l_fsusr@ -g@l_fsgrp@ -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
|