summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--etc/mail/Makefile44
-rw-r--r--etc/sendmail/Makefile42
-rw-r--r--share/examples/etc/make.conf7
-rw-r--r--share/man/man5/make.conf.510
4 files changed, 86 insertions, 17 deletions
diff --git a/etc/mail/Makefile b/etc/mail/Makefile
index 238b906..e5ab41c 100644
--- a/etc/mail/Makefile
+++ b/etc/mail/Makefile
@@ -41,14 +41,19 @@
# running sendmail to pick up the changes as well.
#
# ------------------------------------------------------------------------
-#
-# This makefile uses `<HOSTNAME>.mc' as the default .mc file. This can
-# be changed by defining SENDMAIL_MC in /etc/make.conf, e.g.:
+# This Makefile uses `<HOSTNAME>.mc' as the default MTA .mc file. This
+# can be changed by defining SENDMAIL_MC in /etc/make.conf, e.g.:
#
# SENDMAIL_MC=/etc/mail/myconfig.mc
#
# If '<HOSTNAME>.mc' does not exist, it is created using 'freebsd.mc'
# as a template.
+#
+# It also uses 'freebsd.submit.mc' as the default mail submission .mc file.
+# This can be changed by defining SENDMAIL_SUBMIT_MC in /etc/make.conf,
+# e.g.:
+#
+# SENDMAIL_SUBMIT_MC=/etc/mail/mysubmit.mc
# ------------------------------------------------------------------------
#
# The Makefile knows about the following maps:
@@ -64,8 +69,14 @@ ${SENDMAIL_MC}:
cp freebsd.mc ${SENDMAIL_MC}
.endif
+SENDMAIL_SUBMIT_MC?= freebsd.submit.mc
+
INSTALL_CF= ${SENDMAIL_MC:R}.cf
+.ifndef SENDMAIL_SET_USER_ID
+INSTALL_SUBMIT_CF= ${SENDMAIL_SUBMIT_MC:R}.cf
+.endif
+
SENDMAIL_ALIASES?= /etc/mail/aliases
#
@@ -160,24 +171,35 @@ clean:
depend:
-cf: ${INSTALL_CF}
+cf: ${INSTALL_CF} ${INSTALL_SUBMIT_CF}
-submit.cf: submit.mc
+.ifdef SENDMAIL_SET_USER_ID
+install: install-cf
+.else
+install: install-cf install-submit-cf
+.endif
+
+install-cf: ${INSTALL_CF}
+.if ${INSTALL_CF} != /etc/mail/sendmail.cf
+ ${INSTALL} -c -m ${SHAREMODE} ${INSTALL_CF} /etc/mail/sendmail.cf
+.endif
+
+
+install-submit-cf: ${INSTALL_SUBMIT_CF}
.ifdef SENDMAIL_SET_USER_ID
@echo ">>> ERROR: You should not create a submit.cf file if you are using a"
@echo " set-user-ID sendmail binary (SENDMAIL_SET_USER_ID is set"
@echo " in make.conf)."
@false
+.else
+.if ${INSTALL_SUBMIT_CF} != /etc/mail/submit.cf
+ ${INSTALL} -c -m ${SHAREMODE} ${INSTALL_SUBMIT_CF} /etc/mail/submit.cf
+.endif
.endif
-
-maps: ${SENDMAIL_MAP_OBJ}
aliases: ${SENDMAIL_ALIASES}.db
-install: ${INSTALL_CF}
-.if ${INSTALL_CF} != /etc/mail/sendmail.cf
- ${INSTALL} -c -m ${SHAREMODE} ${INSTALL_CF} /etc/mail/sendmail.cf
-.endif
+maps: ${SENDMAIL_MAP_OBJ}
start start-mta start-mspq:
@if [ -r ${SENDMAIL_START_SCRIPT} ]; then \
diff --git a/etc/sendmail/Makefile b/etc/sendmail/Makefile
index 3a39a1c..6cc5256 100644
--- a/etc/sendmail/Makefile
+++ b/etc/sendmail/Makefile
@@ -37,9 +37,16 @@ INSTALL_CF= ${SENDMAIL_CF}
.endif
.endif
+.ifndef SENDMAIL_SET_USER_ID
+.if defined(SENDMAIL_SUBMIT_MC)
+INSTALL_SUBMIT_CF=${SENDMAIL_SUBMIT_MC:R}.cf
+.endif
+.endif
+
DEST_CF= ${DESTDIR}/etc/mail/sendmail.cf
+DEST_SUBMIT_CF= ${DESTDIR}/etc/mail/submit.cf
-ALL+= ${INSTALL_CF}
+ALL+= ${INSTALL_CF} ${INSTALL_SUBMIT_CF}
# Make sure we don't remove /etc/mail/sendmail.cf on make clean
# since this will break a running system during a buildworld.
@@ -49,6 +56,12 @@ CLEANFILES+= ${INSTALL_CF}
.endif
.endif
+.if defined(INSTALL_SUBMIT_CF)
+.if ${INSTALL_SUBMIT_CF} != ${DEST_SUBMIT_CF}
+CLEANFILES+= ${INSTALL_SUBMIT_CF}
+.endif
+.endif
+
# Additional .cf files to build
.if defined(SENDMAIL_ADDITIONAL_MC)
SENDMAIL_ADDITIONAL_CF= ${SENDMAIL_ADDITIONAL_MC:S/.mc$/.cf/g}
@@ -60,7 +73,7 @@ all: ${ALL}
depend:
-install: ${INSTALL_CF}
+install: ${INSTALL_CF} ${INSTALL_SUBMIT_CF}
.if (defined(SENDMAIL_MC) && defined(SENDMAIL_CF))
@echo ">>> ERROR: Both SENDMAIL_CF and SENDMAIL_MC can not be set"
@false
@@ -70,14 +83,22 @@ install: ${INSTALL_CF}
${INSTALL} ${COPY} -o ${BINOWN} -g ${BINGRP} -m 644 ${INSTALL_CF} \
${DEST_CF}
.endif
+.endif
.if defined(SENDMAIL_ADDITIONAL_CF)
${INSTALL} ${COPY} -o ${BINOWN} -g ${BINGRP} -m 644 \
${SENDMAIL_ADDITIONAL_CF} ${DESTDIR}/etc/mail
.endif
+.ifndef SENDMAIL_SET_USER_ID
+.if defined(INSTALL_SUBMIT_CF)
+.if ${INSTALL_SUBMIT_CF} != ${DEST_SUBMIT_CF}
+ ${INSTALL} ${COPY} -o ${BINOWN} -g ${BINGRP} -m 644 \
+ ${INSTALL_SUBMIT_CF} ${DEST_SUBMIT_CF}
+.endif
+.endif
.endif
# Helper for src/etc/Makefile
-distribution: freebsd.cf freebsd.mc ${INSTALL_CF}
+distribution: freebsd.cf freebsd.mc ${INSTALL_CF} ${INSTALL_SUBMIT_CF}
.if (defined(SENDMAIL_MC) && defined(SENDMAIL_CF))
@echo ">>> ERROR: Both SENDMAIL_CF and SENDMAIL_MC can not be set"
@false
@@ -97,11 +118,20 @@ distribution: freebsd.cf freebsd.mc ${INSTALL_CF}
${INSTALL} ${COPY} -o ${BINOWN} -g ${BINGRP} -m 644 freebsd.cf \
${DEST_CF}
.endif
-.ifndef SENDMAIL_SET_USER_ID
${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 444 ${CFDIR}/cf/submit.mc \
- ${DESTDIR}/etc/mail/submit.mc
+ ${DESTDIR}/etc/mail/freebsd.submit.mc
${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 444 ${CFDIR}/cf/submit.cf \
- ${DESTDIR}/etc/mail/submit.cf
+ ${DESTDIR}/etc/mail/freebsd.submit.cf
+.ifndef SENDMAIL_SET_USER_ID
+.if defined(INSTALL_SUBMIT_CF)
+.if ${INSTALL_SUBMIT_CF} != ${DEST_SUBMIT_CF}
+ ${INSTALL} ${COPY} -o ${BINOWN} -g ${BINGRP} -m 644 \
+ ${INSTALL_SUBMIT_CF} ${DEST_SUBMIT_CF}
+.endif
+.else
+ ${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 444 ${CFDIR}/cf/submit.cf \
+ ${DEST_SUBMIT_CF}
+.endif
.endif
${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 444 ${SMDIR}/helpfile \
${DESTDIR}/etc/mail/helpfile
diff --git a/share/examples/etc/make.conf b/share/examples/etc/make.conf
index cffcaa7..2e60cb9c 100644
--- a/share/examples/etc/make.conf
+++ b/share/examples/etc/make.conf
@@ -258,6 +258,13 @@
#
#SENDMAIL_MC=/etc/mail/myconfig.mc
#
+# The following sets the default m4 configuration file for mail
+# submission to use at install time. Use with caution as a make
+# install will overwrite any existing /etc/mail/submit.cf. The
+# value should be a fully qualified path name.
+#
+#SENDMAIL_SUBMIT_MC=/etc/mail/mysubmit.mc
+#
# If you need to build additional .cf files during a make buildworld,
# include the full paths to the .mc files in SENDMAIL_ADDITIONAL_MC.
#
diff --git a/share/man/man5/make.conf.5 b/share/man/man5/make.conf.5
index c98484f..e183550 100644
--- a/share/man/man5/make.conf.5
+++ b/share/man/man5/make.conf.5
@@ -520,6 +520,16 @@ Use with caution as a make install will overwrite any existing
Note that
.Va SENDMAIL_CF
is now deprecated.
+.It Va SENDMAIL_SUBMIT_MC
+.Pq Vt str
+The default m4 configuration file for mail submission
+to use at install time.
+The value should include the full path to the
+.Pa .mc
+file, e.g.,
+.Pa /etc/mail/mysubmit.mc .
+Use with caution as a make install will overwrite any existing
+.Pa /etc/mail/submit.cf .
.It Va SENDMAIL_ADDITIONAL_MC
.Pq Vt str
Additional
OpenPOWER on IntegriCloud