HEADS UP: Mass mergemaster MFC to [78]-stable

Doug Barton dougb at FreeBSD.org
Fri Jan 15 03:38:25 UTC 2010


-----BEGIN PGP SIGNED MESSAGE-----
Hash: RIPEMD160

Howdy,

I've merged the following changes to bring mergemaster up to date with
what's in HEAD to RELENG_[78]. Of particular interest for most people,
especially those with long-lived installs will be r200425, and r200708;
however a few of the other changes might also bring surprises. As usual
I have tried to be very cautious with the defaults so as not to disrupt
people's existing installations, but please heed the "usual" advice to
back up /etc before running mergemaster. I also suggest the regular use
of the -P option.

If you have any questions or problems please speak up sooner rather than
later, since I'd like to get any "issues" ironed out as far in advance
of the 7.3-RELEASE as possible.

FYI, I do not plan to merge these changes, or any other changes besides
serious bug fixes to RELENG_6.


Enjoy,

Doug

- -------- Original Message --------
Subject: svn commit: r202337 - stable/8/usr.sbin/mergemaster
Date: Fri, 15 Jan 2010 03:28:47 +0000 (UTC)

Author: dougb
Date: Fri Jan 15 03:28:46 2010
New Revision: 202337
URL: http://svn.freebsd.org/changeset/base/202337

Log:
  MFC r200416:
  Simplify handling of MTREEFILE relative to DESTDIR

  Make the message about a missing MTREEFILE combined with -U
  more informative

  MFC r200425:
  Over time things that used to be files/directories/links can change
  to something else. So add code to detect when things don't match and
  give the user choices about how to fix it.

  If we're using -P and something in the above check needs to be moved
  we need to have the directory there for it, so create it at the
  beginning and delete empty versions of it at the end.

  The case where something used to be a file or link and now is supposed
  to be a directory (e.g., /etc/security) is especially dangerous, so
  make failure to install a necessary directory in $DESTDIR a fatal
  error.

  MFC r200700:
  In the places where find is used that the user may see the results,
  first pipe it to sort so that order of processing will be
  deterministic and like things will be grouped together.

  MFC r200701:
  Fix an indentation issue, no functional changes

  MFC r200708:
  Fix a problem with how mergemaster handles the hard links for /.cshrc
  and /.profile. The problem is that install(1) will unlink the old file
  before it installs the new one, which means that in the best case we
  have to compare the changes for the old file twice.

  So, change the logic to first test to see if the link exists, then
  install the file. Then if the link was there and we're using -i, just
  create the link in /root and be done with it. Otherwise display the
  message to the user and give them the option.

  Because we are now sorting things before doing the comparison we can
  know conclusively that the files in / should be the sources, and the
  files in /root will be the targets, so adjust the paths accordingly.

  While I'm here, split a too-long error message into two lines and
  just return at the end of handling these files instead of setting
  the variable that says "do nothing" and then returning at the end
  of the function anyway.

  MFC r201291:
  Add some patches contributed by jhb:
  1. Don't prompt the user for "-U but no db" error if we're using -a
  2. Add an option to delete stale rc.d files automatically if the user
  has DELETE_STALE_RC_FILES in their rc file. Lack of command line
  option for this is not an oversight.
  3. Add []'s around the terminal $ for the $FreeBSD$ test for -F

  For one bug raised by jhb I did a more thorough solution:
  There were a lot of things that "snuck in" between the end of the test
  for -r and the start of the comparison. One of them is the creation of
  the mtree db, as pointed out by jhb. Fix this problem more thoroughly
  by moving the end of the test down to where it should/used to be,
  right before the comparison. As a result, indent the interloping code
  to match.

  MFC r201292:
  Document the DELETE_STALE_RC_FILES option introduced in r201291. This
  is an "rc file only" option by design.

  While I'm here, update the comments in the example rc file to indicate
  which command line options they relate to, and correct the defaults
  for a couple of options.

  MFC r201293:
  It's not necessary to include both Op and Fl for command line options
  included in the text, so use only the latter.

  Clarify that using -U doesn't make sense in combination with -a

  MFC r201323:
  If we are using -p it does not make any sense to even create the
  MTREENEW file since it will never be used.

  MFC r201765:
  Update copyright date

  Update delete_temproot() to include the error message if it fails,
  and clean up the places where it's called.

  If there are no files left in temproot when the comparison is done
  delete it without prompting. This should make "automated" runs of
  mergemaster without -a a little easier.

  Document the new behavior in the man page.


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.14 (FreeBSD)

iEYEAREDAAYFAktP4zQACgkQyIakK9Wy8PtwpACfaMOiHWQ6UQv5hlopxUOGyUpM
r/sAoLoC1i0OJxSShiI0B5j6RbvI9pMh
=O+S8
-----END PGP SIGNATURE-----


More information about the freebsd-stable mailing list