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--