pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/mail/clamsmtp/files Always specify the pidfile when st...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/7ebfd2bfcbd1
branches:  trunk
changeset: 479045:7ebfd2bfcbd1
user:      jlam <jlam%pkgsrc.org@localhost>
date:      Wed Aug 04 06:50:16 2004 +0000

description:
Always specify the pidfile when starting clamsmtp.

diffstat:

 mail/clamsmtp/files/clamsmtpd.sh |  49 ++++++++++++++++++++++++++++++++-------
 1 files changed, 40 insertions(+), 9 deletions(-)

diffs (82 lines):

diff -r 160e87bc7b67 -r 7ebfd2bfcbd1 mail/clamsmtp/files/clamsmtpd.sh
--- a/mail/clamsmtp/files/clamsmtpd.sh  Wed Aug 04 06:49:41 2004 +0000
+++ b/mail/clamsmtp/files/clamsmtpd.sh  Wed Aug 04 06:50:16 2004 +0000
@@ -1,11 +1,22 @@
 #!@RCD_SCRIPTS_SHELL@
 #
-# $NetBSD: clamsmtpd.sh,v 1.2 2004/08/03 08:24:56 jlam Exp $
+# $NetBSD: clamsmtpd.sh,v 1.3 2004/08/04 06:50:16 jlam Exp $
 #
 # PROVIDE: clamsmtpd
 # REQUIRE: LOGIN clamd
 # BEFORE: mail
 # KEYWORD: shutdown
+#
+# You will need to set some variables in /etc/rc.conf to start clamsmtpd:
+#
+# clamsmtpd=YES
+#
+# The following variables are optional:
+#
+#       clamsmtpd_user="@CLAMAV_USER@"     # user to run clamsmtpd as
+#       clamsmtpd_addr="localhost:10026"    # address to forward mail to;
+#                                          # see clamsmtpd(8).
+#
 
 if [ -f /etc/rc.subr ]; then
        . /etc/rc.subr
@@ -14,26 +25,46 @@
 name="clamsmtpd"
 rcvar=$name
 command="@PREFIX@/sbin/${name}"
-clamsmtpd_user="@CLAMAV_USER@"
+pidfile=/var/run/clamsmtpd.pid
+: ${clamsmtpd_addr="localhost:10026"}
+
+start_precmd="clamsmtpd_prestart"
+start_cmd="clamsmtpd_start"
 
 clamav_conffile="@PKG_SYSCONFDIR@/clamav.conf"
 if [ -f "${clamav_conffile}" ]; then
        socket=`@AWK@ 'BEGIN {r = "/tmp/clamd"};
                        /^#/ {next}; /^LocalSocket[     ]/ {r = $2};
                        END {print r}' ${clamav_conffile}`
-       clamsmtpd_user=`@AWK@ 'BEGIN {r = "@CLAMAV_USER@"};
+       : ${clamsmtpd_user=`@AWK@ 'BEGIN {r = "@CLAMAV_USER@"};
                        /^#/ {next}; /^User[    ]/ {r = $2};
-                       END {print r}' ${clamav_conffile}`
-       : ${clamsmtpd_flags="-c ${socket} localhost:10026"}
+                       END {print r}' ${clamav_conffile}`}
+       : ${clamsmtpd_flags="-c ${socket}"}
 else
-       : ${clamsmtpd_flags="localhost:10026"}
+       : ${clamsmtpd_user="@CLAMAV_USER@"}
 fi
 
-if [ -f /etc/rc.subr -a -f /etc/rc.conf \
-     -a -d /etc/rc.d -a -f /etc/rc.d/DAEMON ]; then
+clamsmtpd_prestart()
+{
+       @TOUCH@ ${pidfile}
+       @CHOWN@ ${clamsmtpd_user} ${pidfile}
+}
+
+clamsmtpd_start()
+{
+       @ECHO@ "Starting ${name}."
+       doit="${command} ${clamsmtpd_flags} -p ${pidfile} ${clamsmtpd_addr}"
+       @SU@ -m ${clamsmtpd_user} -c "$doit"
+}
+
+if [ -f /etc/rc.subr -a -d /etc/rc.d -a -f /etc/rc.d/DAEMON ]; then
        load_rc_config $name
        run_rc_command "$1"
 else
+       if [ -f /etc/rc.conf ]; then
+               . /etc/rc.conf
+       fi
        @ECHO@ -n " ${name}"
-       ${command} ${clamsmtpd_flags} ${command_args}
+       eval ${start_precmd}
+       eval ${start_cmd}
 fi



Home | Main Index | Thread Index | Old Index