====================
1. List the command line options in a more standard way
2. Improve the explanations of some of the arguments (-A, -D)
3. Add ARCHSTRING and MTREEDB to the example rc file
4. Re-sort some of the examples according to the existing distinction
of "has a command line version" vs. "does not have a command line version"
Document changes for r186678
===========================
1. /usr/src/etc -> /usr/src where needed [1]
2. Add IGNORE_FILES to the example rc [2] (and remove IGNORE_MOTD)
3. Update the EXIT STATUS section for [3] and [4]
Update Copyright and .Dd accordingly
PR: bin/96528 [1]
Submitted by: ru [1]
PR: bin/106642 [2]
Submitted by: Henrik Brix Andersen <henrik@brixandersen.dk>
PR: bin/122282 [3]
Submitted by: Eygene Ryabinkin <rea-fbsd@codelabs.ru> [3]
PR: bin/108183 [4]
Submitted by: Riccardo Torrini <riccardo@torrini.org> [4]
An mtree description of all non-zero files that make
distribution installs (only size and md5) is built from the
temproot. When the user completes a mergemaster run, the
mtree description file gets installed into /var/db for
safe-keeping.
When the user then decides to do a subsequent upgrade (with
the -U flag), the existing mtree description from /var/db
is called into service looking for files that are different in
DESTDIR. This is stashed away until a file that would normally
end up prompting the user to look at changes is encountered.
Since there are no user modified changes, the new file is
installed without bothering the user.
Looked at by: dougb
MFC after: 6 weeks
architecture to pass through to the underlying makefiles. This is
quite useful when building on an i386 box to populate an amd64 NFS
root.
Head nod: dougb
MFC after: 1 week
section on "make world". The old link still works fine, but all the
hyperlinks of the referenced document are broken; the same links
work find if /doc/en_US.ISO8859-1 is used instead of plain /doc to
reach the online Handbook copy.
* Add a paragraph suggesting that the merge option be used only for
files that users have modified. People have been using this option
for all files that are different, causing unecessary confusion.
Use -tag list in the FILES section to work around the bug
when .Pa font is not restored to its original value if one
of the -hang, -ohang, or -inset lists is used in the FILES
section. (The fix for the bug has just been submitted to
the GNU Groff maintainers.)
Also, fixed the Handbook reference in the SEE ALSO.
asking the user to actually run the recommended commands related
to installation of files such as aliases or login.conf.
* Return to using grep for CVS $Id comparison. Using ident caused too
many problems for people with local CVS/RCS tags in their stuff.
Attempt to make portability a little easier to maintain in spite of
this change by defining the name of the tag to search for. This
is a slightly different change that solves the problem in the PR.
PR: bin/24564
Submitted by: Tony Finch <dot@dotat.at>
* Adjust a little whitespace
* Make the distrib-dirs/mtree on DESTDIR conditional on user
actually specifying a DESTDIR. This seemed like a safe
way to get the right directories and permissions in the
installed tree since 'make installworld' does the same
thing, but in practice too many people have custom hacks
that we should leave unmolested. Still need to find a way
to deal with 'install -d' and permissions on nonexistent
directories in the middle of the path, but this is at
least no worse that it was before.
PR: bin/22661
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.