From joe@zircon.seattle.wa.us  Wed May 15 07:30:19 2002
Return-Path: <joe@zircon.seattle.wa.us>
Received: from zircon.seattle.wa.us (sense-sea-CovadSub-0-80.oz.net [216.39.147.80])
	by hub.freebsd.org (Postfix) with SMTP id 1D49C37B438
	for <FreeBSD-gnats-submit@freebsd.org>; Wed, 15 May 2002 07:30:17 -0700 (PDT)
Received: (qmail 1931 invoked by uid 0); 15 May 2002 14:30:15 -0000
Message-Id: <20020515143015.1930.qmail@zircon.seattle.wa.us>
Date: 15 May 2002 14:30:15 -0000
From: Joe Kelsey <joe@zircon.seattle.wa.us>
Reply-To: Joe Kelsey <joe@zircon.seattle.wa.us>
To: FreeBSD-gnats-submit@freebsd.org
Cc:
Subject: NO_SENDMAIL means NO_SENDMAIL
X-Send-Pr-Version: 3.113
X-GNATS-Notify:

>Number:         38108
>Category:       bin
>Synopsis:       NO_SENDMAIL means NO_SENDMAIL
>Confidential:   no
>Severity:       non-critical
>Priority:       high
>Responsible:    gshapiro
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed May 15 07:40:01 PDT 2002
>Closed-Date:    Wed May 15 08:53:57 PDT 2002
>Last-Modified:  Thu May 16 17:04:59 PDT 2002
>Originator:     Joe Kelsey
>Release:        FreeBSD 4.6-PRERELEASE i386
>Organization:
>Environment:
System: FreeBSD zircon.zircon.seattle.wa.us 4.6-PRERELEASE FreeBSD 4.6-PRERELEASE #31: Tue May 14 17:49:58 PDT 2002 joe@zircon.zircon.seattle.wa.us:/usr/obj/usr/src/sys/ZIRCON i386

>Description:
	NO_SENDMAIL in make.conf means that no files named sendmail
	should be installed anywhere on the system.  buildworld dies in
	src/etc and src/share/man/man8 due to someone sneaking in
	rc.sendmail and rc.sendmail.8 without paying attention to
	NO_SENDMAIL.
>How-To-Repeat:
	Attempt to buildworld without said files.
>Fix:

--- src/etc/Makefile.old	Sun Apr 28 12:57:41 2002
+++ src/etc/Makefile	Tue May 14 11:43:05 2002
@@ -13,7 +13,7 @@
 	motd modems networks newsyslog.conf \
 	pam.conf phones printcap profile protocols \
 	rc rc.atm rc.diskless1 rc.diskless2 rc.firewall rc.firewall6 \
-	rc.network rc.network6 rc.pccard rc.sendmail rc.serial rc.shutdown \
+	rc.network rc.network6 rc.pccard rc.serial rc.shutdown \
 	rc.syscons rc.sysctl remote rpc services shells sysctl.conf \
 	syslog.conf usbd.conf \
 	etc.${MACHINE_ARCH}/disktab \
@@ -22,6 +22,10 @@
 	${.CURDIR}/../gnu/usr.bin/man/manpath/manpath.config \
 	${.CURDIR}/../usr.bin/mail/misc/mail.rc \
 	${.CURDIR}/../usr.bin/locate/locate/locate.rc
+
+.if !defined(NO_SENDMAIL)
+BIN1+= rc.sendmail
+.endif
 
 .if !defined(NO_I4B)
 BIN1+=	rc.isdn


--- src/share/man/man8/Makefile.old	Wed Apr 24 10:28:11 2002
+++ src/share/man/man8/Makefile	Tue May 14 11:49:24 2002
@@ -9,9 +9,12 @@
 	intro.8 \
 	picobsd.8 \
 	rc.8 \
-	rc.sendmail.8 \
 	sticky.8 \
 	yp.8
+
+.if !defined(NO_SENDMAIL)
+MAN+= rc.sendmail.8
+.endif
 
 .if exists(${.CURDIR}/../../../release/sysinstall)
 MAN+=	sysinstall.8
>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-doc->gshapiro 
Responsible-Changed-By: jhb 
Responsible-Changed-When: Wed May 15 07:58:24 PDT 2002 
Responsible-Changed-Why:  
Over to gshapiro as he is the sendmail maintainer. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=38108 

From: Tom Rhodes <trhodes@FreeBSD.org>
To: Joe Kelsey <joe@zircon.seattle.wa.us>
Cc: FreeBSD-gnats-submit@FreeBSD.org
Subject: Re: docs/38108: NO_SENDMAIL means NO_SENDMAIL
Date: Wed, 15 May 2002 11:05:44 -0400

 On 15 May 2002 14:30:15 -0000
 Joe Kelsey <joe@zircon.seattle.wa.us> wrote:
 
 So I'm not crazy!!  I have been in the midst of testing this, and I
 thank you for the patch, I have not had enough time to figure
 this out yet.  I'll take this one ;)
 
 -- 
 Tom (Darklogik) Rhodes
 www.FreeBSD.org  -The Power To Serve
 www.Pittgoth.com -Pittgoth Discussion Portal
 trhodes@{Pittgoth.com, FreeBSD.org}
 PGP key by www:
 http://www.pittgoth.com/~darklogik/darklogik.key
State-Changed-From-To: open->closed 
State-Changed-By: gshapiro 
State-Changed-When: Wed May 15 08:47:15 PDT 2002 
State-Changed-Why:  
NO_SENDMAIL does not mean no files that contain the word sendmail 
will be installed.  Quoting from the man page: 

NO_SENDMAIL   (bool) Set to not build sendmail(8) and related programs. 

and quoting from the example make.conf: 

#NO_SENDMAIL=	true	# do not build sendmail and related programs 

Both only mention the word build and both say related programs, not startup 
scripts. 

However, I did have it the way you suggested at first until I got complaints 
from users who had the rc.conf variable sendmail_enable set to YES and 
the make.conf variable NO_SENDMAIL set to YES.  They were using postfix or 
other MTAs which provide a sendmail compatility binary and depended on 
the fact that sendmail_enable=YES meant their MTA was started at boot 
as it always had been.  If rc.sendmail is not installed, their MTA isn't 
started and this breaks backward compatibility. 

Here is the commit message from the change: 

Non-sendmail users use the FreeBSD sendmail startup functionality to start 
alternative MTAs.  Therefore, always install rc.sendmail, regardless of 
NO_SENDMAIL make.conf setting.  Users can still set mta_start_script to a 
different script. 


http://www.freebsd.org/cgi/query-pr.cgi?pr=38108 

From: Joe Kelsey <joe@zircon.seattle.wa.us>
To: freebsd-gnats-submit@FreeBSD.org, joe@zircon.seattle.wa.us
Cc:  
Subject: Re: bin/38108: NO_SENDMAIL means NO_SENDMAIL
Date: Wed, 15 May 2002 17:02:14 -0700

 Please change the name of the mta-startup script to rc.mta-startup. 
  Having it named rc.sendmail jsut creates more namespace confusion.  If 
 the script is intended to start the user's chosen mta, it should be 
 named appropriately.
 
 I will be ahppiest the day that you remove sendmail from FreeBSD, just 
 the way that Perl is currently being removed.
 
 This script actively prevents me from successfully running buildworld 
 and installworld.  As such, it needs to be modified so that I can once 
 again perform the normal buildworld and installworld functions.
 
 
>Unformatted:

I have no plans to change the name of the startup script.  It is written
to be sendmail specific.
