sendmail revision 78344
178344Sobrien#!/bin/sh 278344Sobrien# 378344Sobrien# $NetBSD: sendmail,v 1.12 2000/10/09 06:11:38 nisimura Exp $ 478344Sobrien# 578344Sobrien 678344Sobrien# PROVIDE: mail 778344Sobrien# REQUIRE: LOGIN 878344Sobrien 978344Sobrien# we could do this, but make mail start late, so that things like 1078344Sobrien# .forward's are not processed until the system is fully operational 1178344Sobrien## REQUIRE: DAEMON 1278344Sobrien 1378344Sobrien. /etc/rc.subr 1478344Sobrien 1578344Sobrienname="sendmail" 1678344Sobrienrcvar=$name 1778344Sobriencommand="/usr/sbin/${name}" 1878344Sobrienpidfile="/var/run/${name}.pid" 1978344Sobrienrequired_files="/etc/mail/${name}.cf" 2078344Sobrienstart_precmd="sendmail_precmd" 2178344Sobrien 2278344Sobriensendmail_precmd() 2378344Sobrien{ 2478344Sobrien # Die if there's pre-8.10 custom configuration file. This check is 2578344Sobrien # mandatory for smooth upgrade. See NetBSD PR 10100 for details. 2678344Sobrien # 2778344Sobrien if checkyesno sendmail && [ -f "/etc/${name}.cf" ]; then 2878344Sobrien if ! cmp -s "/etc/mail/${name}.cf" "/etc/${name}.cf"; then 2978344Sobrien warn \ 3078344Sobrien "${name} was not started; you have multiple copies of sendmail.cf." 3178344Sobrien return 1 3278344Sobrien fi 3378344Sobrien fi 3478344Sobrien 3578344Sobrien # check modifications on /etc/mail/aliases 3678344Sobrien if [ -f "/etc/mail/aliases.db" ]; then 3778344Sobrien if [ "/etc/mail/aliases" -nt "/etc/mail/aliases.db" ]; then 3878344Sobrien echo \ 3978344Sobrien "${name}: /etc/mail/aliases newer than /etc/mail/aliases.db, regenerating" 4078344Sobrien /usr/bin/newaliases 4178344Sobrien fi 4278344Sobrien else 4378344Sobrien echo \ 4478344Sobrien "${name}: /etc/mail/aliases.db not present, generating" 4578344Sobrien /usr/bin/newaliases 4678344Sobrien fi 4778344Sobrien 4878344Sobrien # check couple of common db files, too 4978344Sobrien for f in genericstable virtusertable domaintable mailertable; do 5078344Sobrien if [ -r "/etc/mail/$f" ] && [ "/etc/mail/$f" -nt "/etc/mail/$f.db" ]; 5178344Sobrien then 5278344Sobrien echo \ 5378344Sobrien "${name}: /etc/mail/$f newer than /etc/mail/$f.db, regenerating" 5478344Sobrien /usr/sbin/makemap hash /etc/mail/$f < /etc/mail/$f 5578344Sobrien fi 5678344Sobrien done 5778344Sobrien} 5878344Sobrien 5978344Sobrienload_rc_config $name 6078344Sobrienrun_rc_command "$1" 61