Not quite a head's up worthy event, but I thought people would like to
know about some of this, and unfortunately we all know not everyone
running -current reads cvs-all. The one change that isn't listed in the
commit message that people might be interested in is the fact that mm is
now doing:

cd ${SOURCEDIR}/usr/src/etc &&
make DESTDIR=${DESTDIR} distrib-dirs

in order to prime the destination path with directories of the
appropriate permissions. In testing I uncovered what I consider to be a
bug in 'install,' namely that doing 'install -d -m 0755 -o root -g wheel
/foo/bar/baz' will create baz with the right permissions, but will not
use the permissions specified for 'bar' if it does not exist already.
I'm going to look into this tomorrow, but meanwhile doing the mtree
(which is basically what distrib-dirs does) seemed reasonable,
especially since 'make installworld' takes that _exact_ step. I've left
the directory installation code in, as it doesn't hurt to be extra safe. 

        This will only be a problem for people who've made dramatic changes to
their system. The good news is that if you have made such changes, you
can write a script that repeats the process and have mm run it as
MM_EXIT_SCRIPT. The details are in the man page. 

        For users who may have been waiting to be able to specify a list of
files for mm to delete without comparing first, MM_PRE_COMPARE_SCRIPT is
your answer. You can now write your own script to do whatever you think
is appropriate before the comparison starts. As mentioned previously, I
will not be adding the feature to delete specific files without

        Please feel free to offer feedback on the changes. Assuming that things
go according to plan monday and tuesday, I will be testing this
thoroughly while I do some RELENG_4 upgrades at work, so assuming all
goes well I plan to MFC these changes before the freeze. 

        The last set of features currently on the project list is to implement
using CVS as a reference for diffs, and as a way to further automate
upgrades. It will be a couple of weeks at least before I have a version
of this ready to go. 



-------- Original Message --------
Subject: cvs commit: src/usr.sbin/mergemaster
Date: Mon, 30 Oct 2000 02:33:51 -0800 (PST)
From: Doug Barton <[EMAIL PROTECTED]>

dougb       2000/10/30 02:33:51 PST

  Modified files:
    usr.sbin/mergemaster mergemaster.8 
  Add several new features, reorder some code, and continue with the
  process of making the script more cross platform friendly.
  * Add -i option to automatically install files that do not exist
    on the system already.
  * Add the ability to specify DESTDIR.
  * Allow the user to specify scripts to run right before the
    comparison starts, and when mm is done. This will
    allow the user to specify customized local behavior, and
    implement features such as automatically deleting files.
  * Document the above changes in the man page.
  * Switch to using 'ident' for the CVS Id comparison, which
    should help with portability, and makes it faster.
  * Reorder, and in one case fix some code by doing things in
    ways that make more sense.
  * Check to see if the file exists on the system before doing
    the comparisons. This saves CPU cycles, and streamlines
    the auto-install process.
  I used bits and pieces of suggestions and patches from various
  people, ultimately too numerous to name. Which is not to say
  that they were not both appreciated, and helpful in achieving
  the ultimate result.
  Revision  Changes    Path
  1.14      +137 -92   src/usr.sbin/mergemaster/
  1.8       +59 -7     src/usr.sbin/mergemaster/mergemaster.8

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to