conf/117984: [patch] map improvement for etc/mail/Makefile
Helge Oldach
src-etc-mail-makefile-nov07 at oldach.net
Sun Nov 11 11:40:02 PST 2007
>Number: 117984
>Category: conf
>Synopsis: [patch] map improvement for etc/mail/Makefile
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Sun Nov 11 19:40:01 UTC 2007
>Closed-Date:
>Last-Modified:
>Originator: Helge Oldach
>Release: FreeBSD 6.3-1032 i386
>Organization:
>Environment:
System: FreeBSD localhost 6.3-1032 FreeBSD 6.3-1032 #0: Sat Nov 10 11:14:15 CET 2007 toor at localhost:/usr/obj/usr/src/sys/HMO i386
>Description:
Below is a suggested improvement for /etc/mail/Makefile. It implements
multiple input files for various maps, e.g. virtusertable, permitting
easier maintenance of map input files. The idea is that the map input
file (e.g. /etc/mail/virtusertable) may not only be a flat file (as it
is currently the case) but may also be a directory which contains a set
of files that comprise the map sources.
For example consider that the three files
/etc/mail/virtusertable/thisone.com
/etc/mail/virtusertable/another.com
/etc/mail/virtusertable/third.com
contain virtusertables specific to the domains thisone.com, another.com,
and third.com. They now can be independently maintained, alleviating the
need to maintain a single, potentially large map source file.
The rather trivial patch below implements this, and also maintains
backward behaviour. (Note that /dev/null for the cat(1) command is
necessary; it catches the case of an empty directory.)
>How-To-Repeat:
>Fix:
--- etc/mail/Makefile.ctm 2005-07-14 20:42:19.000000000 +0200
+++ etc/mail/Makefile 2007-11-11 19:16:20.000000000 +0100
@@ -144,8 +144,9 @@
sed -e 's/^/#/' < ${.OODATE} > ${.TARGET}
.endif
-${_f}.db: ${_f}
- ${MAKEMAP} ${SENDMAIL_MAP_TYPE} ${.TARGET} < ${.OODATE}
+_src!= test -d ${_f} && find ${_f} -type f -print || echo ${_f}
+${_f}.db: ${_src}
+ cat ${.ALLSRC} /dev/null | ${MAKEMAP} ${SENDMAIL_MAP_TYPE} ${.TARGET}
chmod ${SENDMAIL_MAP_PERMS} ${.TARGET}
.endfor
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-bugs
mailing list