Bug 20948

Summary: /etc/aliases and other changes not known to mergemaster
Product: Base System Reporter: Robert Watson <rwatson>
Component: miscAssignee: Doug Barton <dougb>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: 5.0-STABLE   
Hardware: Any   
OS: Any   

Description Robert Watson freebsd_committer freebsd_triage 2000-08-30 18:40:01 UTC
Several files have moved from /etc to /etc/mail, including aliases.
Mergemaster often assists with magic involving file upgrades, but
simply installs a new, empty default aliases in /etc/mail/aliases,
and leaves the current as is.  A nice feature would be if mergemaster
would observe the presence of an /etc/aliases, no /etc/mail/aliases,
offer to move the file, then create the symlink from /etc/aliases to
/etc/mail/aliases.  Creating and maintaining that symlink should
be similar to the maintaining of /root/.cshrc and /.cshrc, where
there is already precedent for mergemaster groking some of our specific
layout.  I believe /etc/sendmail.cw is now expected to be in the
new location.

Fix: 

Not available.
How-To-Repeat: 
Upgrade.  mergemaster.
Comment 1 Sheldon Hearn freebsd_committer freebsd_triage 2000-08-31 13:04:18 UTC
Responsible Changed
From-To: freebsd-bugs->billf

Over to maintainer.
Comment 2 DougB 2000-09-22 00:50:23 UTC
rwatson@freebsd.org wrote:

> >Synopsis:       /etc/aliases and other changes not known to mergemaster

	This synopsis is inaccurate. I was aware of the change, and approved a
patch by (sendmail-meister) Gregory Shapiro to handle the move. 

> A nice feature would be if mergemaster
> would observe the presence of an /etc/aliases, no /etc/mail/aliases,
> offer to move the file, then create the symlink from /etc/aliases to
> /etc/mail/aliases. 

	This is fraught with danger on many fronts. A better solution might be
to put:

define(`ALIAS_FILE', `/etc/aliases,/etc/mail/aliases')dnl

in freebsd.mc, assuming that sendmail won't barf if either is missing.
It might also be possible to do what Robert is suggesting with mtree.
However, anything involving the "right" way to handle MTA issues is
likely to provoke huge, non-productive arguments that reach no
conclusion, and I don't want to put myself or my helpless little program
in the middle of them. 

> Creating and maintaining that symlink should
> be similar to the maintaining of /root/.cshrc and /.cshrc, where
> there is already precedent for mergemaster groking some of our specific
> layout.  

	This is not a valid precedent, given that those hard links have been
around for years, don't change, are not likely to change, and are as
uncontroversial as anything gets around here. 

	While I do appreciate this suggestion, I will not be including it in
mergemaster. I would appreciate it if someone with commit priv's would
close this PR. 

Thanks,

Doug
Comment 3 Gregory Neil Shapiro freebsd_committer freebsd_triage 2000-09-22 02:34:33 UTC
DougB> This is fraught with danger on many fronts. A better solution might be
DougB> to put:

DougB> define(`ALIAS_FILE', `/etc/aliases,/etc/mail/aliases')dnl

DougB> in freebsd.mc, assuming that sendmail won't barf if either is missing.

Unfortunately, sendmail will not like that.
Comment 4 Robert Watson freebsd_committer freebsd_triage 2000-09-22 18:38:19 UTC
On Thu, 21 Sep 2000, Doug Barton wrote:

> rwatson@freebsd.org wrote:
> 
> > >Synopsis:       /etc/aliases and other changes not known to mergemaster
> 
> 	This synopsis is inaccurate. I was aware of the change, and approved a
> patch by (sendmail-meister) Gregory Shapiro to handle the move. 

When I emailed those listed as MAINTAINER in the Makefile, I got a
black-hole, and as mergemaster appeared not to know what I do, I felt this
was a safe assumption. :-)

> in freebsd.mc, assuming that sendmail won't barf if either is missing.
> It might also be possible to do what Robert is suggesting with mtree.
> However, anything involving the "right" way to handle MTA issues is
> likely to provoke huge, non-productive arguments that reach no
> conclusion, and I don't want to put myself or my helpless little program
> in the middle of them. 

The aliases file move appears to be permanent and system-wide.  I.e., it
is moved in the CVS repo, and /etc/aliases is no more.  It seems to me
that a reasonable check is (if file isn't in /etc/mail/aliases, and is in
/etc/aliases, offer to (move it, check out the new file, or do nothing).
If both files exist and they're different, fine.  mergemaster already
installs other sendmail-specific files even if another MTA is in use.

> > Creating and maintaining that symlink should
> > be similar to the maintaining of /root/.cshrc and /.cshrc, where
> > there is already precedent for mergemaster groking some of our specific
> > layout.  
> 
> 	This is not a valid precedent, given that those hard links have been
> around for years, don't change, are not likely to change, and are as
> uncontroversial as anything gets around here. 
> 
> 	While I do appreciate this suggestion, I will not be including it in
> mergemaster. I would appreciate it if someone with commit priv's would
> close this PR. 

My belief is that while this was initially controversial, the world seems
to have accepted it fine.  In the mean time, users are being bitten
because the aliases file has changed out from under them, and the normal
merge tool, mergemaster, makes no comment.

  Robert N M Watson 

robert@fledge.watson.org              http://www.watson.org/~robert/
PGP key fingerprint: AF B5 5F FF A6 4A 79 37  ED 5F 55 E9 58 04 6A B1
TIS Labs at Network Associates, Safeport Network Services
Comment 5 gshapiro 2000-09-22 18:54:46 UTC
rwatson> My belief is that while this was initially controversial, the
rwatson> world seems to have accepted it fine.  In the mean time, users are
rwatson> being bitten because the aliases file has changed out from under
rwatson> them, and the normal merge tool, mergemaster, makes no comment.

Would a simple comment be sufficient?  If so, Doug, what do you think of:

Index: mergemaster.sh
===================================================================
RCS file: /home/ncvs/src/usr.sbin/mergemaster/mergemaster.sh,v
retrieving revision 1.6.2.2
diff -u -u -r1.6.2.2 mergemaster.sh
--- mergemaster.sh	2000/08/27 17:31:45	1.6.2.2
+++ mergemaster.sh	2000/09/22 17:54:08
@@ -353,6 +353,16 @@
   esac
 fi
 
+# Warn users who have an /etc/aliases file
+#
+if [ -f /etc/aliases ]; then
+  echo " *** There is an /etc/aliases file on this system. Starting with"
+  echo "     FreeBSD version 4.1.1 that file has moved from /etc/aliases"
+  echo "     to /etc/mail/aliases. If you are upgrading an older system"
+  echo "     make sure that you move that file by hand before upgrading"
+  echo "     the /etc/mail/sendmail.cf file."
+fi
+
 echo ''
 echo "*** Beginning comparison"
 echo ''
Comment 6 DougB 2000-09-22 23:22:47 UTC
On Fri, 22 Sep 2000, Robert Watson wrote:

> 
> On Thu, 21 Sep 2000, Doug Barton wrote:
> 
> > rwatson@freebsd.org wrote:
> > 
> > > >Synopsis:       /etc/aliases and other changes not known to mergemaster
> > 
> > 	This synopsis is inaccurate. I was aware of the change, and approved a
> > patch by (sendmail-meister) Gregory Shapiro to handle the move. 
> 
> When I emailed those listed as MAINTAINER in the Makefile, I got a
> black-hole, and as mergemaster appeared not to know what I do, I felt this
> was a safe assumption. :-)

	Unfortunately, I did not respond soon enough to your message to
let you know that I was still thinking about how I wanted to handle
it. That was an oversight on my part. 

> My belief is that while this was initially controversial, the world seems
> to have accepted it fine.

	That's because we have not had a significant percentage of our
userbase upgrade to a system with the new sendmail yet. The recent
hulabaloo regarding the /usr/sbin/sendmail@ -> /usr/sbin/mailwrapper link
was MORE than enough to show me that those anti-sendmail folks are going
to violently oppose any assumptions about how mail related stuff
"should" look. The fact that even on -current there was an animated
discussion about what is the "right" thing to do with this issue further
cemented my belief. 

>  In the mean time, users are being bitten
> because the aliases file has changed out from under them, and the normal
> merge tool, mergemaster, makes no comment.

	Show me some. I have been watching the lists carefully for posts
related to this issue and I haven't seen any. The fact is, this is a one
time change, mm will already call their attention to the fact that it's
changed locations when it tells the user that it's installing a new
aliases file in /etc/mail because there isn't one already, AND it will
prompt the user at the end to run 'newaliases' because they just installed
a new aliases file. If all of those signs and banners aren't enough,
one more warning message won't help. 

	Unlike the /etc/sysconfig change, this problem is likely to fail
in a loud, spectacular manner which will immediately draw the admin's
attention to it should they miss any of the existing warning signs already
before rebooting.
Comment 7 Doug Barton freebsd_committer freebsd_triage 2000-10-27 11:23:11 UTC
State Changed
From-To: open->closed

Popular consensus is that this change is not mm's problem. 


Comment 8 Doug Barton freebsd_committer freebsd_triage 2000-10-27 11:23:11 UTC
Responsible Changed
From-To: billf->dougb

I'm a committer now