History log of /freebsd-current/usr.sbin/mergemaster/mergemaster.8
Revision Date Author Comments
# 73cce7d8 16-Apr-2024 Ed Maste <emaste@FreeBSD.org>

mergemaster: postpone removal to FreeBSD 15

Mergemaster has been deprecated for quite some time, but was not
removed prior to FreeBSD 14.0. Update the deprecation notice in the man
page to reflect this.

PR: 274967
Reported by: naddy
Sponsored by: The FreeBSD Foundation


# fa9896e0 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

Remove $FreeBSD$: two-line nroff pattern

Remove /^\.\\"\n\.\\"\s*\$FreeBSD\$$\n/


# 398b1269 22-Jan-2020 Ed Maste <emaste@FreeBSD.org>

mergemaster: add deprecation notice to man page

Reviewed by: bapt, gjb, kevans (all earlier)
Relnotes: Yes
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D23327


# c1a14887 20-May-2021 Ceri Davies <ceri@FreeBSD.org>

sys/*/conf/*, docs: fix links to handbook

While here, fix all links to older en_US.ISO8859-1 documentation
in the src/ tree.

PR: 255026
Reported by: Michael Büker <freebsd@michael-bueker.de>
Reviewed by: dbaio
Approved by: blackend (mentor), re (gjb)
MFC after: 10 days
Differential Revision: https://reviews.freebsd.org/D30265


# e36f62bd 27-Nov-2018 Mateusz Piotrowski <0mp@FreeBSD.org>

Cross-reference mergemaster(8) & etcupdate(8).

Suggested by: Daniel Ebdrup
Reviewed by: bcr
Approved by: bcr (doc), krion (mentor, implicit), mat (mentor, implicit)
Differential Revision: https://reviews.freebsd.org/D18350


# 47cc9ee1 08-Aug-2018 Alan Somers <asomers@FreeBSD.org>

Switch the default pager for most commands to less

Finally, a pager for the nineties.

MFC after: Never
Relnotes: Yes
Differential Revision: https://reviews.freebsd.org/D13465
Poll: https://reviews.freebsd.org/V7


# a2aef24a 29-Oct-2017 Eitan Adler <eadler@FreeBSD.org>

Update several more URLs

- Primarily http -> https
- Primarily FreeBSD project URLs


# ed8251f8 06-Mar-2017 Enji Cooper <ngie@FreeBSD.org>

mergemaster: fix description of -p

-p only handles updating /etc/master.passwd and /etc/group . No more,
no less.

Also, mergemaster (and no other portions of the vanilla FreeBSD build
process) should be messing with __MAKECONF or SRCCONF as part of the
installworld or distribution process. Don't insinuate that mergemaster
does that as it's a false claim.

MFC after: 1 week
Sponsored by: Dell EMC Isilon


# e0efd9ee 29-Sep-2015 Bryan Drewery <bdrewery@FreeBSD.org>

All supported releases have the -m support from r186678, so remove
the mention of it and reword this a bit to remove 'you'.

MFC after: 3 days


# 01c2b8ac 20-Jun-2014 Baptiste Daroussin <bapt@FreeBSD.org>

use .Mt to mark up email addresses consistently (part2)

PR: 191174
Submitted by: Franco Fichtner <franco@lastsummer.de>


# b3ff5e45 24-Jun-2013 Eitan Adler <eadler@FreeBSD.org>

Remove request to email suggestions and fixes to the author.
He is no longer involved with the FreeBSD project.

While here: remove "no known bugs" and related. This isn't present in other manual pages.

PR: docs/179914


# b90270a1 02-Nov-2011 Doug Barton <dougb@FreeBSD.org>

1. Add a new option, --run-updates, to always or never run the newalises,
pwd_mkdb, etc. updates at the end of the comparison.

2. Add an update to the end to handle /etc/localtime, if it exists.
If /var/db/zoneinfo exists, automatically update /etc/localtime,
which should (hopefully) be safe to do. If not, prompt the user
to run tzsetup.

3. Update run_it_now(), the function that handles input for the updates,
to make sure that we got a valid answer, and to handle the --run-updates
option if supplied.


# a2ca3bc1 09-Aug-2011 Doug Barton <dougb@FreeBSD.org>

Make clear that the -U option can be dangerous. [1]

In -p mode install the group file with the same permissions as normally
done in etc/Makefile.

Update the copyright.

Requested by: peter [1]

Approved by: re (kib)


# a7d5f7eb 19-Oct-2010 Jamie Gritton <jamie@FreeBSD.org>

A new jail(8) with a configuration file, to replace the work currently done
by /etc/rc.d/jail.


# 0d9deed5 07-Oct-2010 Ulrich Spörlein <uqs@FreeBSD.org>

mdoc: drop redundant .Pp and .LP calls

They have no effect when coming in pairs, or before .Bl/.Bd


# 6b5b49ce 17-Mar-2010 Doug Barton <dougb@FreeBSD.org>

MFC r205145:

Make it more clear in the docs that -a is not compatible with -iFU,
and enforce this in the code. Apparently a lot of users mistakenly
combine -a with these flags and are then mystified that no changes
were made.

While I'm here, fix a trailing space in mergemaster.8


# c9bb6669 13-Mar-2010 Doug Barton <dougb@FreeBSD.org>

Make it more clear in the docs that -a is not compatible with -iFU,
and enforce this in the code. Apparently a lot of users mistakenly
combine -a with these flags and are then mystified that no changes
were made.

While I'm here, fix a trailing space in mergemaster.8


# fe0506d7 09-Mar-2010 Marcel Moolenaar <marcel@FreeBSD.org>

Create the altix project branch. The altix project will add support
for the SGI Altix 350 to FreeBSD/ia64. The hardware used for porting
is a two-module system, consisting of a base compute module and a
CPU expansion module. SGI's NUMAFlex architecture can be an excellent
platform to test CPU affinity and NUMA-aware features in FreeBSD.


# aa4a335b 15-Jan-2010 Ruslan Ermilov <ru@FreeBSD.org>

Use the newly brought %U macro.


# ad9bb089 14-Jan-2010 Doug Barton <dougb@FreeBSD.org>

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.


# f94a6780 07-Jan-2010 Doug Barton <dougb@FreeBSD.org>

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.


# 3dbee174 30-Dec-2009 Doug Barton <dougb@FreeBSD.org>

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


# 6fb3661e 30-Dec-2009 Doug Barton <dougb@FreeBSD.org>

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.


# 86780e25 23-Mar-2009 Doug Barton <dougb@FreeBSD.org>

Don't tempt svn to expand the example $FreeBSD strings


# 2c6cc4a4 18-Mar-2009 Doug Barton <dougb@FreeBSD.org>

1. Update for new -F option from r189992.
2. Sort the command line options to match how they are displayed
in usage()
3. Change references to cvs to the more generic "version control system"
and remove the .Xr for cvs
4. Consistently use ".Op Fl" to refer to command line options in the text.
5. Only use the apostrophe to indicate possession.
6. Add FREEBSD_ID (-F) to the list of variables in the example rc,
and change the DIFF_OPTIONS example to -Bb since -F now covers it.


# 74983dbf 02-Jan-2009 Doug Barton <dougb@FreeBSD.org>

Add a note to the -m option indicating that you should now specify src/
instead of src/etc.


# 25e3d9a0 31-Dec-2008 Doug Barton <dougb@FreeBSD.org>

General Improvements
====================
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]


# d7f03759 19-Oct-2008 Ulf Lilleengen <lulf@FreeBSD.org>

- Import the HEAD csup code which is the basis for the cvsmode work.


# b4b04f19 11-Jun-2008 Doug Barton <dougb@FreeBSD.org>

Document the AUTO_UPGRADE (-U) knob for .mergemasterrc

Submitted by: mezz
No Cookie For: gordon :)


# 92d4750b 30-Apr-2006 Gordon Tetlow <gordon@FreeBSD.org>

Add missed SYNOPSIS flag for auto upgrade.

Submitted by: marck at rinet dot ru


# 55a5ff01 29-Apr-2006 Gordon Tetlow <gordon@FreeBSD.org>

Add auto upgrade capability to mergemaster.

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


# 344c91d1 04-Feb-2006 Robert Watson <rwatson@FreeBSD.org>

Add a -A argument to mergemaster to allow explicitly specifying an
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


# 0e0fe87a 19-Jul-2005 Giorgos Keramidas <keramida@FreeBSD.org>

Point to the right path under www.freebsd.org/doc for the Handbook
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.


# 36a142c4 13-Feb-2005 Ruslan Ermilov <ru@FreeBSD.org>

Expand contractions.


# 59a3c79d 18-Jan-2005 Ruslan Ermilov <ru@FreeBSD.org>

Sort sections.


# a866e170 17-Jan-2005 Ruslan Ermilov <ru@FreeBSD.org>

Added the EXIT STATUS section where appropriate.


# 07bfccd7 02-Jul-2004 Ruslan Ermilov <ru@FreeBSD.org>

Mechanically kill hard sentence breaks.


# c79edb0b 02-May-2003 Doug Barton <dougb@FreeBSD.org>

* Document the -P option

* 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.


# 04a2863c 27-Feb-2003 Doug Barton <dougb@FreeBSD.org>

Try another solution for not expanding a CVS tag.

Submitted by: roam


# 687e6ad7 09-Feb-2003 Doug Barton <dougb@FreeBSD.org>

Try to fix two problems with the -I example. One is the fact that we
want to match a character $, not EOL. The other is that CVS helpfully
expanded my example into an actual CVS tag.

Submitted by: gad


# 00482d19 05-Feb-2003 Doug Barton <dougb@FreeBSD.org>

* Update copyright year.
* Add an example that ignores CVS Id tags for the new DIFF_OPTIONS variable.


# 1061be04 30-Jul-2002 Marc Fonvieille <blackend@FreeBSD.org>

Correct links to Handbook's pages, old URLs does not work anymore.

MFC after: 1 week


# 490d5836 14-Jul-2002 Philippe Charnier <charnier@FreeBSD.org>

The .Nm utility


# 2b0baf3e 04-May-2002 Doug Barton <dougb@FreeBSD.org>

* Fix a small typo, thanks to olgeni
* Document the COMP_CONFS variable in the .mergemasterrc example


# 86ba3ded 08-Apr-2002 Doug Barton <dougb@FreeBSD.org>

Document the two new options, pre buildworld mode and
post-mm rc.conf[.local] comparisons.


# cf767f1d 12-Feb-2002 Doug Barton <dougb@FreeBSD.org>

* Update (c)
* Expand on the definition of the -s (strict) option, at the suggestion
of Gary W. Swearingen, swear@blarg.net.


# a4c37c81 10-Jul-2001 Ruslan Ermilov <ru@FreeBSD.org>

mdoc(7) police: removed HISTORY info from the .Os call.


# 70d51341 09-Jul-2001 Dima Dorfman <dd@FreeBSD.org>

mdoc(7) police: remove extraneous .Pp before and/or after .Sh.


# 1fd59f79 05-Jul-2001 Ruslan Ermilov <ru@FreeBSD.org>

mdoc(7) police:

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.


# 00894211 28-May-2001 Doug Barton <dougb@FreeBSD.org>

Clarify handling of /etc/mergemaster.rc and $HOME/.mergemasterrc


# eb083802 18-Apr-2001 Ruslan Ermilov <ru@FreeBSD.org>

mdoc(7) police: normalize .Nd.


# 5d7b107e 05-Mar-2001 Doug Barton <dougb@FreeBSD.org>

* Add two requested features, source'ing of /etc/mergemaster.rc, and
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>


# 8b5c4af3 27-Dec-2000 Ruslan Ermilov <ru@FreeBSD.org>

Prepare for mdoc(7)NG.


# e97407b4 20-Nov-2000 Ruslan Ermilov <ru@FreeBSD.org>

mdoc(7) police: use the new features of the Nm macro.


# 251c176f 17-Nov-2000 Ruslan Ermilov <ru@FreeBSD.org>

mdoc(7) police: use certified section headers wherever possible.


# b5c508fb 14-Nov-2000 Ruslan Ermilov <ru@FreeBSD.org>

Use Fx macro wherever possible.


# 6f8d4c2f 08-Nov-2000 Doug Barton <dougb@FreeBSD.org>

* Reduce diffs to RELENG_4 by specifying a full path to sysctl
* 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


# d5a5b144 30-Oct-2000 Doug Barton <dougb@FreeBSD.org>

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.


# 74972d42 29-Oct-2000 Doug Barton <dougb@FreeBSD.org>

Update copyright


# 8f18f09f 07-Aug-2000 Mark Ovens <marko@FreeBSD.org>

Update link to Making the World tutorial (now in the handbook)


# f2e366a1 01-Mar-2000 Sheldon Hearn <sheldonh@FreeBSD.org>

Remove single-space hard sentence breaks. These degrade the quality
of the typeset output, tend to make diffs harder to read and provide
bad examples for new-comers to mdoc.


# 256d3d1d 26-Oct-1999 Bill Fumerola <billf@FreeBSD.org>

Add IGNORE_MOTD to allow the sysadmin to ignore (likely) differences in
the FreeBSD default motd and the system motd

Submitted by: author


# 24518e4c 26-Oct-1999 Bill Fumerola <billf@FreeBSD.org>

freebsd -> FreeBSD


# 31b8a7c2 26-Oct-1999 Bill Fumerola <billf@FreeBSD.org>

Add $FreeBSD$

Submitted by: chris


# b9d7a08d 20-Oct-1999 Bill Fumerola <billf@FreeBSD.org>

Import mergemaster into the tree, a product of freebsdcon.

Submitted by: Doug Barton <doug@gorean.org>