Embrace rc.subr(8).

This commit is contained in:
Clive Lin 2004-10-12 09:09:24 +00:00
parent af63caf140
commit 9965df0141
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=118871
2 changed files with 26 additions and 49 deletions

View file

@ -8,7 +8,7 @@
PORTNAME= nullmailer
# PORTVERSION= 1.00RC7
PORTVERSION= 1.00r7
PORTREVISION= 0
PORTREVISION= 1
CATEGORIES= mail
MASTER_SITES= http://untroubled.org/nullmailer/ \
ftp://mirrors.dataloss.nl/mirrors/bgware/nullmailer/%SUBDIR%/
@ -27,6 +27,8 @@ MAN1= nullmailer-inject.1 sendmail.1
MAN7= nullmailer.7
MAN8= nullmailer-queue.8 nullmailer-send.8
USE_RC_SUBR= yes
PKGMESSAGE= ${WRKDIR}/pkg-message
LOCALSTATEDIR= /var/spool
@ -35,6 +37,8 @@ CONFIGURE_ARGS+= --localstatedir=${LOCALSTATEDIR}
PLIST_SUB= LOCALSTATEDIR=${LOCALSTATEDIR}
PKGINSTALL= ${WRKDIR}/pkg-install
RC_SCRIPTS_SUB= PREFIX=${PREFIX} RC_SUBR=${RC_SUBR}
post-extract:
@${CAT} ${FILESDIR}/pkg-install.proto | ${SED} -e 's,%%LOCALSTATEDIR%%,${LOCALSTATEDIR},g' > ${WRKDIR}/pkg-install
@${CAT} ${FILESDIR}/pkg-message.proto | ${SED} -e 's,%%PREFIX%%,${PREFIX},' > ${PKGMESSAGE}
@ -44,11 +48,10 @@ post-extract:
pre-install:
@BATCH="${BATCH}" LOCALSTATEDIR="${LOCALSTATEDIR}" PKG_PREFIX="${PREFIX}" ${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL
do-install:
@cd ${WRKSRC} && make install && make install-root
post-install:
@${INSTALL_SCRIPT} -c ${FILESDIR}/nullmail.sh ${PREFIX}/etc/rc.d/
@cd ${WRKSRC} && make install-root
@${SED} ${RC_SCRIPTS_SUB:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} ${FILESDIR}/nullmail.sh > ${WRKDIR}/nullmail.sh
@${INSTALL_SCRIPT} -c ${WRKDIR}/nullmail.sh ${PREFIX}/etc/rc.d/
@${INSTALL_DATA} -c ${FILESDIR}/remotes.sample ${PREFIX}/etc/nullmailer/
@BATCH="${BATCH}" NMH_PREFIX="${NMH_PREFIX}" PKG_PREFIX="${PREFIX}" ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
@${CAT} ${PKGMESSAGE}

View file

@ -1,48 +1,22 @@
#!/bin/sh
# $FreeBSD$
#
# PROVIDE: nullmailer
# REQUIRE: DAEMON
# KEYWORD: FreeBSD
#
# Add the following line to /etc/rc.conf to enable nullmailer:
#
# nullmailer_enable="YES"
#
if ! PREFIX=$(expr $0 : "\(/.*\)/etc/rc\.d/$(basename $0)\$"); then
echo "$0: Cannot determine the PREFIX" >&2
exit 1
fi
. %%RC_SUBR%%
NULLMAILUSER=nullmail
name=nullmailer
rcvar=`set_rcvar`
nullmailer_user=nullmail
command=%%PREFIX%%/sbin/nullmailer-send
command_args=" | /usr/bin/logger -i -p local5.info -t nullmail &"
load_rc_config $name
run_rc_command "$1"
PIDFILE=/var/run/nullmailer.pid
AWK=/usr/bin/awk
CAT=/bin/cat
GREP=/usr/bin/grep
PS=/bin/ps
RM=/bin/rm
LOGGER=/usr/bin/logger
KILL=/bin/kill
KILLALL=/usr/bin/killall
HEAD=/usr/bin/head
PRIORITY=local5.info
TAG=${NULLMAILUSER}
case "$1" in
start)
echo -n ' nullmailer'
if [ ! -r ${PIDFILE} ] ; then
[ -x ${PREFIX}/sbin/nullmailer-send ] && su -l ${NULLMAILUSER} -c "${PREFIX}/sbin/nullmailer-send 2>&1 | ${LOGGER} -i -p ${PRIORITY} -t ${TAG} &"
JUNK=`${PS} -ax`
PID=`${PS} awx | ${GREP} -v awk | ${AWK} '/nullmailer-send/ {print $1}' | ${HEAD} -1`
echo $PID > ${PIDFILE}
else
echo ' already running'
fi
;;
stop)
echo -n ' nullmailer'
if [ -r ${PIDFILE} ] ; then
${KILL} `${CAT} ${PIDFILE}` > /dev/null
${RM} -f ${PIDFILE}
fi
;;
*)
echo "Usage: `basename $0` {start|stop}" >&2
;;
esac
exit 0