ports/130363: [maintainer] mail/dkim-milter: modify rc.d script like example in Porters Handbook
Hirohisa Yamaguchi
umq at ueo.co.jp
Sun Jan 11 06:10:03 UTC 2009
>Number: 130363
>Category: ports
>Synopsis: [maintainer] mail/dkim-milter: modify rc.d script like example in Porters Handbook
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: maintainer-update
>Submitter-Id: current-users
>Arrival-Date: Sun Jan 11 06:10:01 UTC 2009
>Closed-Date:
>Last-Modified:
>Originator: Hirohisa Yamaguchi
>Release: FreeBSD 8.0-CURRENT amd64
>Organization:
<organization of PR author (multiple lines)>
>Environment:
System: FreeBSD calliope.****.org 8.0-CURRENT FreeBSD 8.0-CURRENT #17: Thu Jul 10 06:27:38 JST 2008 root at calliope.****.org:/usr/obj/usr/src/sys/CALLIOPE64 amd64
>Description:
%%PREFIX%%/etc/rc.d/milter-dkim stript overrides blank definitions
in /etc/rc.conf with default values.
Not overriding blank definitions is preferred, as in Porters Handbook.
http://www.freebsd.org/doc/en/books/porters-handbook/rc-scripts.html
(pointed by netchild@)
>How-To-Repeat:
1. write a line following in /etc/rc.conf
milterdkim_cfgfile=""
2. touch /etc/mail/dkim-filter.conf
3. /usr/local/etc/rc.d/milter-dkim start
4. ps `pgrep dkim-filter`
PID TT STAT TIME COMMAND
?? ?? Is 0:00.07 /usr/local/libexec/dkim-filter -l -u mailnull -P /var/run/milterdkim/pid -x /usr/local/etc/mail/dkim-filter.conf
milter_cfgfile cannot be set blank.
>Fix:
the patch follows:
cvs diff: Diffing .
Index: Makefile
===================================================================
RCS file: /home/ncvs/ports/mail/dkim-milter/Makefile,v
retrieving revision 1.55
diff -p -u -r1.55 Makefile
--- Makefile 9 Jan 2009 23:09:17 -0000 1.55
+++ Makefile 11 Jan 2009 05:43:04 -0000
@@ -198,7 +198,7 @@ SITE_SUB+= -e '/-DQUERY_CACHE/s/^dnl //g
.if defined(WITH_VERIFY_DOMAINKEYS) && !defined(WITHOUT_VERIFY_DOMAINKEYS)
LIBDK_PORT= mail/dk-milter
BUILD_DEPENDS+= ${NONEXISTENT}:${PORTSDIR}/${LIBDK_PORT}:patch
-LIBDK_PATH!= cd ${PORTSDIR}/${LIBDK_PORT} && ${MAKE} -V WRKSRC
+LIBDK_PATH_CMD= cd ${PORTSDIR}/${LIBDK_PORT} && ${MAKE} -V WRKSRC
SITE_SUB+= -e '\|bld_VERIFY_DOMAINKEYS|s/^dnl //'
PORTDOCS+= rfc4870.txt
.endif
@@ -274,8 +274,8 @@ post-patch:
pre-configure:
.if defined(WITH_VERIFY_DOMAINKEYS) && !defined(WITHOUT_VERIFY_DOMAINKEYS)
- ${LN} -s ${LIBDK_PATH}/libdk ${WRKSRC}/
- ${CP} ${LIBDK_PATH}/rfc4870.txt ${WRKSRC}/
+ ${LN} -s $$(${LIBDK_PATH_CMD})/libdk ${WRKSRC}/
+ ${CP} $$(${LIBDK_PATH_CMD})/rfc4870.txt ${WRKSRC}/
.endif
post-install:
cvs diff: Diffing files
Index: files/milter-dkim.sh.in
===================================================================
RCS file: /home/ncvs/ports/mail/dkim-milter/files/milter-dkim.sh.in,v
retrieving revision 1.14
diff -p -u -r1.14 milter-dkim.sh.in
--- files/milter-dkim.sh.in 28 Jul 2008 20:15:40 -0000 1.14
+++ files/milter-dkim.sh.in 11 Jan 2009 05:43:05 -0000
@@ -30,22 +30,6 @@
# milterdkim_selector (str): Selector to use when signing
# milterdkim_alg (str): Algorithm to use when signing
# milterdkim_flags (str): Flags passed to start command.
-#
-# DO NOT CHANGE THESE DEFAULT VALUES HERE
-#
-milterdkim_enable=${milterdkim_enable:-"NO"}
-milterdkim_uid=${milterdkim_uid:-"mailnull"}
-milterdkim_profiles=${milterdkim_profiles:-}
-milterdkim_cfgfile=${milterdkim_cfgfile:-"%%PREFIX%%/etc/mail/dkim-filter.conf"}
-
-milterdkim_socket=${milterdkim_socket:-}
-milterdkim_domain=${milterdkim_domain:-}
-milterdkim_key=${milterdkim_key:-}
-milterdkim_selector=${milterdkim_selector:-}
-milterdkim_alg=${milterdkim_alg:-}
-# Options other than above can be set with $milterdkim_flags.
-# see dkim-milter documentation for detail.
-milterdkim_flags=${milterdkim_flags:-}
. %%RC_SUBR%%
@@ -60,6 +44,23 @@ pidfile="${_piddir}/pid"
load_rc_config $name
+#
+# DO NOT CHANGE THESE DEFAULT VALUES HERE
+#
+: ${milterdkim_enable="NO"}
+: ${milterdkim_uid="mailnull"}
+: ${milterdkim_profiles=""}
+: ${milterdkim_cfgfile="%%PREFIX%%/etc/mail/dkim-filter.conf"}
+
+: ${milterdkim_socket=""}
+: ${milterdkim_domain=""}
+: ${milterdkim_key=""}
+: ${milterdkim_selector=""}
+: ${milterdkim_alg=""}
+# Options other than above can be set with $milterdkim_flags.
+# see dkim-milter documentation for detail.
+:milterdkim_flags=${milterdkim_flags=""}
+
if [ -n "$2" ]; then
profile="$2"
if [ "x${milterdkim_profiles}" != "x" ]; then
@@ -84,6 +85,9 @@ if [ -n "$2" ]; then
if [ "x${milterdkim_socket}" != "x" ];then
_socket_prefix="-p"
fi
+ if [ "x${milterdkim_uid}" != "x" ];then
+ _uid_prefix="-u"
+ fi
if [ "x${milterdkim_domain}" != "x" ];then
milterdkim_domain="-d ${milterdkim_domain}"
fi
@@ -96,7 +100,7 @@ if [ -n "$2" ]; then
if [ "x${milterdkim_alg}" != "x" ];then
milterdkim_alg="-S ${milterdkim_alg}"
fi
- command_args="-l ${_socket_prefix} ${milterdkim_socket} -u ${milterdkim_uid} -P ${pidfile} ${milterdkim_cfgfile} ${milterdkim_domain} ${milterdkim_key} ${milterdkim_selector} ${milterdkim_alg}"
+ command_args="-l ${_socket_prefix} ${milterdkim_socket} ${_uid_prefix} ${milterdkim_uid} -P ${pidfile} ${milterdkim_cfgfile} ${milterdkim_domain} ${milterdkim_key} ${milterdkim_selector} ${milterdkim_alg}"
else
echo "$0: extra argument ignored"
fi
@@ -126,6 +130,9 @@ else
if [ "x${milterdkim_socket}" != "x" ];then
_socket_prefix="-p"
fi
+ if [ "x${milterdkim_uid}" != "x" ];then
+ _uid_prefix="-u"
+ fi
if [ "x${milterdkim_domain}" != "x" ];then
milterdkim_domain="-d ${milterdkim_domain}"
fi
@@ -138,7 +145,7 @@ else
if [ "x${milterdkim_alg}" != "x" ];then
milterdkim_alg="-S ${milterdkim_alg}"
fi
- command_args="-l ${_socket_prefix} ${milterdkim_socket} -u ${milterdkim_uid} -P ${pidfile} ${milterdkim_cfgfile} ${milterdkim_domain} ${milterdkim_key} ${milterdkim_selector} ${milterdkim_alg}"
+ command_args="-l ${_socket_prefix} ${milterdkim_socket} ${_uid_prefix} ${milterdkim_uid} -P ${pidfile} ${milterdkim_cfgfile} ${milterdkim_domain} ${milterdkim_key} ${milterdkim_selector} ${milterdkim_alg}"
fi
fi
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list