git: a67b925ff3e5 - main - mail: make The Dragonfly Mail Agent (dma) the default mta.

From: Baptiste Daroussin <bapt_at_FreeBSD.org>
Date: Mon, 07 Nov 2022 11:50:40 UTC
The branch main has been updated by bapt:

URL: https://cgit.FreeBSD.org/src/commit/?id=a67b925ff3e58b072a60b633e442ee1d33e47f7f

commit a67b925ff3e58b072a60b633e442ee1d33e47f7f
Author:     Baptiste Daroussin <bapt@FreeBSD.org>
AuthorDate: 2022-10-13 09:37:21 +0000
Commit:     Baptiste Daroussin <bapt@FreeBSD.org>
CommitDate: 2022-11-07 11:49:56 +0000

    mail: make The Dragonfly Mail Agent (dma) the default mta.
    
    dma accepts mail from a local Mail User Agent (MUA) and delivers it
    locally or to a smarthost for delivery. dma does not accept inbound
    mail (i.e., it does not listen on port 25) and is not intended to
    provide the same functionality as a full MTA like postfix or sendmail.
    It is intended for use cases such as delivering cron(8) mail. which
    is the default configuration and usage of sendmail in the default
    setup of the base system.
    
    In order to switch the default from sendmail to dma, we teach
    mailwrapper to fallback on dma directly if the mailer.conf file cannot
    be opened.
    We install by default a mailer.conf file which points at dma
    We install a mailer.conf file for sendmail in the examples.
    
    Relnotes:       yes
    Differential Revision:  https://reviews.freebsd.org/D37035
---
 libexec/dma/dmagent/Makefile     |  5 -----
 libexec/rc/rc.conf               |  2 +-
 usr.sbin/mailwrapper/Makefile    | 19 +++++++++++++------
 usr.sbin/mailwrapper/pathnames.h |  2 +-
 4 files changed, 15 insertions(+), 13 deletions(-)

diff --git a/libexec/dma/dmagent/Makefile b/libexec/dma/dmagent/Makefile
index f7f127cf4e7e..9c440b32e50f 100644
--- a/libexec/dma/dmagent/Makefile
+++ b/libexec/dma/dmagent/Makefile
@@ -24,11 +24,6 @@ YFLAGS+=	-i
 CLEANFILES=	aliases_parse.i
 FILES=	mailer.conf
 FILESDIR=	${SHAREDIR}/examples/dma
-.if ${MK_SENDMAIL} == no
-CONFGROUPS=	CONFS MAILER
-MAILERDIR=	/etc/mail
-MAILER=		mailer.conf
-.endif
 
 BINMODE=	2555
 
diff --git a/libexec/rc/rc.conf b/libexec/rc/rc.conf
index a71a3fa4063d..91b99780eae6 100644
--- a/libexec/rc/rc.conf
+++ b/libexec/rc/rc.conf
@@ -596,7 +596,7 @@ allscreens_kbdflags=""	# Set this kbdcontrol mode for all virtual screens
 mta_start_script="/etc/rc.sendmail"
 			# Script to start your chosen MTA, called by /etc/rc.
 # Settings for /etc/rc.sendmail and /etc/rc.d/sendmail:
-sendmail_enable="NO"	# Run the sendmail inbound daemon (YES/NO).
+sendmail_enable="NONE"	# Run the sendmail inbound daemon (YES/NO).
 sendmail_pidfile="/var/run/sendmail.pid"	# sendmail pid file
 sendmail_procname="/usr/sbin/sendmail"		# sendmail process name
 sendmail_flags="-L sm-mta -bd -q30m" # Flags to sendmail (as a server)
diff --git a/usr.sbin/mailwrapper/Makefile b/usr.sbin/mailwrapper/Makefile
index 3e5c46d7bdf4..0878a2f8c483 100644
--- a/usr.sbin/mailwrapper/Makefile
+++ b/usr.sbin/mailwrapper/Makefile
@@ -16,10 +16,10 @@ SYMLINKS=	../sbin/mailwrapper /usr/bin/mailq \
 		mailwrapper /usr/sbin/purgestat \
 		mailwrapper /usr/sbin/sendmail
 
-.if ${MK_MAILWRAPPER} == "no" && ${MK_SENDMAIL} != "no"
-SYMLINKS+=	../libexec/sendmail/sendmail ${BINDIR}/mailwrapper
-.elif ${MK_MAILWRAPPER} == "no" && ${MK_SENDMAIL} == "no" && ${MK_DMAGENT} != "no"
+.if ${MK_MAILWRAPPER} == "no" && ${MK_DMAGENT} != "no"
 SYMLINKS+=	../libexec/dma ${BINDIR}/mailwrapper
+.elif ${MK_MAILWRAPPER} == "no" && ${MK_DMAGENT} == "no" && ${MK_SENDMAIL} != "no"
+SYMLINKS+=	../libexec/sendmail/sendmail ${BINDIR}/mailwrapper
 .endif
 .endif
 
@@ -27,16 +27,23 @@ SYMLINKS+=	../libexec/dma ${BINDIR}/mailwrapper
 SYMLINKS+=	..${BINDIR}/mailwrapper /bin/rmail
 .endif
 
+.if ${MK_SENDMAIL} != "no"
+FILES=		${SRCTOP}/etc/mail/mailer.conf
+FILESDIR=	${SHAREDIR}/examples/sendmail
+.endif
+
 .if ${MK_MAILWRAPPER} != "no"
-# We install here if either sendmail(8) is enabled, or dma(8) isn't.  In the
+# We install here if either dma(8) is enabled, or sendmail(8) isn't.  In the
 # latter scenario, we take care of the possibility that neither sendmail(8) nor
 # dma(8) are installed and simply provide a default that can be changed for an
 # alternative in ports.
-.if ${MK_SENDMAIL} != "no" || ${MK_DMAGENT} == "no"
+.if ${MK_DMAGENT} != "no" || ${MK_SENDMAIL} == "no"
+CONFS=		${SRCTOP}/libexec/dma/dmagent/mailer.conf
+.else
 CONFS=		${SRCTOP}/etc/mail/mailer.conf
+.endif
 CONFSDIR=	/etc/mail
 CONFSMODE=	644
 .endif
-.endif
 
 .include <bsd.prog.mk>
diff --git a/usr.sbin/mailwrapper/pathnames.h b/usr.sbin/mailwrapper/pathnames.h
index 5511d1eccff9..798648269f3e 100644
--- a/usr.sbin/mailwrapper/pathnames.h
+++ b/usr.sbin/mailwrapper/pathnames.h
@@ -34,4 +34,4 @@
  */
 
 #define _PATH_MAILERCONF	"/etc/mail/mailer.conf"
-#define _PATH_DEFAULTMTA	"/usr/libexec/sendmail/sendmail"
+#define _PATH_DEFAULTMTA	"/usr/libexec/dma"