Subject: Proposal: removal of sendmail and postfix from base install
To: None <current-users@netbsd.org>
From: Michael Graff <explorer@flame.org>
List: current-users
Date: 03/17/2005 12:41:57
--nextPart1282433.6oy8eoCImI
Content-Type: multipart/mixed;
  boundary="Boundary-01=_mFcOCzSSeQwpVNC"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

--Boundary-01=_mFcOCzSSeQwpVNC
Content-Type: text/plain;
  charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Rationale:

	Many system supplied binaries are using older code bases or code=20
	bases where features are missing or not enabled.  Two cases
	immediately spring to mind:  postfix, and the lpr printing system.
	I replace both of these with pkgsrc versions (postfix with TLS + auth
	and cups.)  However, many scripts expect (or even the binaries
	call among themselves) specific pathnames, or those paths are
	listed first for root users but not for normal users.

	I hate getting a different lpr as root than as my normal user.

	I have a working and well tested implementation using mailer.conf to
	replace  the pkgsrc bits for postfix.  I've attached the diffs to this
	message if anyone else is interested.

	Installing only one version of these tools would simplify maintenance and
	upgrade.  Additionally, while nearly every binary in the system can be
	defined as an "add on" (even ls, if you argue that much about it) the
	selection of mailer is very much a religious one, and while postfix and
	sendmail are in wide use, so is qmail, which is not in the base install and
	should not be.

Pros:

	pkgsrc has more featureful versions of these.

	pkgsrc can change faster than the base.

	Most people need outgoing mail, not incoming mail on thier machines, so
	postfix/sendmail could be replaced by a nearly brain-dead outgoing mail
	client only.

	If a more featureful mailer is required, make it easier to replace the sys=
tem
	one with the package.  I have patches to use mailer.conf to do this for
	postfix.

Cons:

	People will complain.  :)

	In order to have existing functionality, one has to install bits from pkgs=
rc.
	Most of us do that anyway, but this just adds one more tool, along with
	tcsh, etc.

=2D-Michael

--Boundary-01=_mFcOCzSSeQwpVNC
Content-Type: text/x-diff;
  charset="us-ascii";
  name="POSTFIX-2005-03-17.diffs"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
	filename="POSTFIX-2005-03-17.diffs"

Index: distrib/sets/lists/base/mi
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/distrib/sets/lists/base/mi,v
retrieving revision 1.532
diff -u -r1.532 mi
=2D-- distrib/sets/lists/base/mi	15 Mar 2005 16:05:03 -0000	1.532
+++ distrib/sets/lists/base/mi	17 Mar 2005 17:33:29 -0000
@@ -861,10 +861,21 @@
 ./usr/libexec/postfix/lmtp			base-postfix-bin	postfix
 ./usr/libexec/postfix/local			base-postfix-bin	postfix
 ./usr/libexec/postfix/master			base-postfix-bin	postfix
=2D./usr/libexec/postfix/nqmgr			base-obsolete	obsolete
+./usr/libexec/postfix/nqmgr			base-obsolete		obsolete
 ./usr/libexec/postfix/oqmgr			base-postfix-bin	postfix
 ./usr/libexec/postfix/pickup			base-postfix-bin	postfix
 ./usr/libexec/postfix/pipe			base-postfix-bin	postfix
+./usr/libexec/postfix/postalias			base-postfix-bin	postfix
+./usr/libexec/postfix/postcat			base-postfix-bin	postfix
+./usr/libexec/postfix/postconf			base-postfix-bin	postfix
+./usr/libexec/postfix/postdrop			base-postfix-bin	postfix
+./usr/libexec/postfix/postfix			base-postfix-bin	postfix
+./usr/libexec/postfix/postkick			base-postfix-bin	postfix
+./usr/libexec/postfix/postlock			base-postfix-bin	postfix
+./usr/libexec/postfix/postlog			base-postfix-bin	postfix
+./usr/libexec/postfix/postmap			base-postfix-bin	postfix
+./usr/libexec/postfix/postqueue			base-postfix-bin	postfix
+./usr/libexec/postfix/postsuper			base-postfix-bin	postfix
 ./usr/libexec/postfix/proxymap			base-postfix-bin	postfix
 ./usr/libexec/postfix/qmgr			base-postfix-bin	postfix
 ./usr/libexec/postfix/sendmail			base-postfix-bin	postfix
@@ -1093,10 +1104,10 @@
 ./usr/sbin/rdconfig				base-obsolete		obsolete
 ./usr/sbin/repquota				base-sysutil-bin
 ./usr/sbin/revnetgroup				base-nis-bin		yp
+./usr/sbin/rmt					base-sysutil-bin
 ./usr/sbin/rip6query				base-netutil-bin	inet6
 ./usr/sbin/rndc					base-bind-bin
 ./usr/sbin/rndc-confgen				base-bind-bin
=2D./usr/sbin/rmt					base-sysutil-bin
 ./usr/sbin/route6d				base-router-bin		inet6
 ./usr/sbin/rpc.bootparamd			base-bootserver-bin
 ./usr/sbin/rpc.lockd				base-nfsserver-bin
Index: etc/mailer.conf
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/etc/mailer.conf,v
retrieving revision 1.12
diff -u -r1.12 mailer.conf
=2D-- etc/mailer.conf	19 Feb 2005 17:25:16 -0000	1.12
+++ etc/mailer.conf	17 Mar 2005 17:33:30 -0000
@@ -34,3 +34,30 @@
 #send-mail	/usr/libexec/postfix/sendmail
 #mailq		/usr/libexec/postfix/sendmail
 #newaliases	/usr/libexec/postfix/sendmail
+
+#
+# If you choose to install postfix as a package, you can override
+# all the postfix commands here.  By default, the system-supplied
+# are used.
+#
+postalias	/usr/libexec/postfix/postalias
+postcat		/usr/libexec/postfix/postcat
+postconf	/usr/libexec/postfix/postconf
+postdrop	/usr/libexec/postfix/postdrop
+postfix		/usr/libexec/postfix/postfix
+postkick	/usr/libexec/postfix/postkick
+postlog		/usr/libexec/postfix/postlog
+postmap		/usr/libexec/postfix/postmap
+postqueue	/usr/libexec/postfix/postqueue
+postsuper	/usr/libexec/postfix/postsuper
+# pkgsrc replacements
+#postalias	/usr/pkg/sbin/postalias
+#postcat	/usr/pkg/sbin/postcat
+#postconf	/usr/pkg/sbin/postconf
+#postdrop	/usr/pkg/sbin/postdrop
+#postfix	/usr/pkg/sbin/postfix
+#postkick	/usr/pkg/sbin/postkick
+#postlog	/usr/pkg/sbin/postlog
+#postmap	/usr/pkg/sbin/postmap
+#postqueue	/usr/pkg/sbin/postqueue
+#postsuper	/usr/pkg/sbin/postsuper
Index: gnu/usr.sbin/postfix/Makefile.inc
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/gnu/usr.sbin/postfix/Makefile.inc,v
retrieving revision 1.12
diff -u -r1.12 Makefile.inc
=2D-- gnu/usr.sbin/postfix/Makefile.inc	31 May 2004 03:54:20 -0000	1.12
+++ gnu/usr.sbin/postfix/Makefile.inc	17 Mar 2005 17:33:53 -0000
@@ -29,7 +29,7 @@
 PFIX_ETCDIR=3D	/etc/postfix
 PFIX_EXAMPLEDIR=3D/usr/share/examples/postfix
 PFIX_HTMLDIR=3D	/usr/share/doc/html/postfix
=2DPFIX_SBINDIR=3D	/usr/sbin
+PFIX_SBINDIR=3D	/usr/libexec/postfix
=20
 # override defaults which are otherwise empty and/or so postconf is correct
 CPPFLAGS+=3D	-DDEF_HTML_DIR=3D\"${PFIX_HTMLDIR}\" \
Index: usr.sbin/mailwrapper/Makefile
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/src/usr.sbin/mailwrapper/Makefile,v
retrieving revision 1.6
diff -u -r1.6 Makefile
=2D-- usr.sbin/mailwrapper/Makefile	30 Nov 2002 03:10:57 -0000	1.6
+++ usr.sbin/mailwrapper/Makefile	17 Mar 2005 17:34:16 -0000
@@ -7,6 +7,17 @@
 		/usr/sbin/mailwrapper /usr/bin/newaliases \
 		/usr/sbin/mailwrapper /usr/bin/mailq \
 		/usr/sbin/mailwrapper /usr/bin/hoststat \
=2D		/usr/sbin/mailwrapper /usr/bin/purgestat
+		/usr/sbin/mailwrapper /usr/bin/purgestat \
+		/usr/sbin/mailwrapper /usr/sbin/postalias \
+		/usr/sbin/mailwrapper /usr/sbin/postcat \
+		/usr/sbin/mailwrapper /usr/sbin/postconf \
+		/usr/sbin/mailwrapper /usr/sbin/postdrop \
+		/usr/sbin/mailwrapper /usr/sbin/postfix \
+		/usr/sbin/mailwrapper /usr/sbin/postkick \
+		/usr/sbin/mailwrapper /usr/sbin/postlock \
+		/usr/sbin/mailwrapper /usr/sbin/postlog \
+		/usr/sbin/mailwrapper /usr/sbin/postmap \
+		/usr/sbin/mailwrapper /usr/sbin/postqueue \
+		/usr/sbin/mailwrapper /usr/sbin/postsuper
=20
 .include <bsd.prog.mk>

--Boundary-01=_mFcOCzSSeQwpVNC--

--nextPart1282433.6oy8eoCImI
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (NetBSD)

iD8DBQBCOcFql6Nz7kJWYWYRAllbAJoCbvBAOyrNGbx89sVR0BLxdXGoJACfTNJI
InmNfnfagrv2AezUpufqeZo=
=f9+z
-----END PGP SIGNATURE-----

--nextPart1282433.6oy8eoCImI--