Commit Graph

146 Commits

Author SHA1 Message Date
Maxim Sobolev
ed61c72f45 Ignore files that only differ in CVS Id tag.
MFC after:	2 weeks
2008-11-09 07:58:23 +00:00
Doug Barton
b4b04f194f Document the AUTO_UPGRADE (-U) knob for .mergemasterrc
Submitted by:	mezz
No Cookie For:	gordon  :)
2008-06-11 18:54:06 +00:00
Bjoern A. Zeeb
2e598474fa Remove ISDN4BSD (I4B) from HEAD as it is not MPSAFE and
parts relied on the now removed NET_NEEDS_GIANT.
Most of I4B has been disconnected from the build
since July 2007 in HEAD/RELENG_7.

This is what was removed:
- configuration in /etc/isdn
- examples
- man pages
- kernel configuration
- sys/i4b (drivers, layers, include files)
- user space tools
- i4b support from ppp
- further documentation

Discussed with: rwatson, re
2008-05-26 10:40:09 +00:00
Doug Barton
f29fe35ae8 In the following scenario:
1. Start mergemaster
2. Interrupt it
3. < Somehow the temproot directory disappears >
4. mergemaster -r
Many bad things can happen, especially if the -i option is in use.

Therefore, add a check to make sure it still exists before we start
comparing files.

Brought to my attention by:
PR:		bin/40538
Submitted by:	Cyrille Lefevre <cyrille.lefevre@laposte.net>
2007-12-21 19:34:26 +00:00
Gordon Tetlow
92d4750b38 Add missed SYNOPSIS flag for auto upgrade.
Submitted by:	marck at rinet dot ru
2006-04-30 22:09:47 +00:00
Gordon Tetlow
55a5ff0140 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
2006-04-29 18:21:43 +00:00
Robert Watson
344c91d1b2 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
2006-02-04 18:24:06 +00:00
Doug Barton
1adffac42b Change the default for deleting stale files from yes (which violates
the general principle that mm should do nothing by default) to no.

PR:		bin/85449
Submitted by:	Kevin Oberman <oberman@es.net>
2005-12-21 08:59:22 +00:00
Giorgos Keramidas
0e0fe87a70 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.
2005-07-20 12:50:49 +00:00
Ruslan Ermilov
36a142c455 Expand contractions. 2005-02-13 23:45:54 +00:00
Ruslan Ermilov
59a3c79da6 Sort sections. 2005-01-18 20:02:45 +00:00
Ruslan Ermilov
a866e17077 Added the EXIT STATUS section where appropriate. 2005-01-17 07:44:44 +00:00
Ruslan Ermilov
07bfccd71e Mechanically kill hard sentence breaks. 2004-07-02 23:13:00 +00:00
Doug Barton
4c1e476ea1 In the case where /etc/rc.d/ is empty, do not bogusly ask the user if
they want to delete '*'. It turns out that there is one valid case where
this might happen, installing to an empty DESTDIR.

Patch submitted by:	schweikh
2004-03-07 10:10:19 +00:00
Ruslan Ermilov
3a6849a6e8 Set MAKEOBJDIRPREFIX in the environment, like God intended. This
only worked because src/Makefile.inc1 is wrapped by src/Makefile.

Silence from:	dougb
2004-03-06 15:03:21 +00:00
Doug Barton
d71c565b9c mergemaster -p (pre-world) doesn't populate /etc/rc.d, which led to a
false positive for every file according to the new stale rc.d checker.

Friendly reminder by:	dhw
2004-01-04 22:02:04 +00:00
Doug Barton
b256b34ac1 * Update copyright
* Delete a trailing space
* Add a 'stale /etc/rc.d file checker', offer to delete any stale
files for the user.
2004-01-01 23:41:37 +00:00
Doug Barton
27d5ecc317 Use the actual build target (all), since relying on the build as a
side effect of the distribution target was apparently just good luck
all these years.

Submitted by:	ru
2003-08-04 10:23:45 +00:00
Doug Barton
a15410dee1 Remove MAINTAINER line in favor of the entry in src/MAINTAINERS 2003-06-04 09:38:04 +00:00
Doug Barton
f3fff89357 Preserve directory structure in PRESERVED_FILES_DIR to avoid
filename collisions.

Submitted by:	des
2003-05-03 06:35:19 +00:00
Doug Barton
6203d02c6a rc.sendmail should not have been removed yet.
Don't include it in the rcOG removal prompt.
2003-05-02 11:07:58 +00:00
Doug Barton
c79edb0b27 * 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.
2003-05-02 06:28:30 +00:00
Doug Barton
1317aed784 * Add a -P (Preserve) option, which saves a copy of files that you replace.
The idea for this option came from Marc Schneiders <marc@schneiders.org>

* I've been meaning to remove the code that checked for the existence of
/etc/sysconfig for a while now, since that file was last seen in 2.2.2.

* Replace the above with a check for elements of the old rc system.
Offer to move these files out of DESTDIR/etc for the user's convenience.
2003-05-02 06:26:23 +00:00
David E. O'Brien
052238b16c style.Makefile(5) 2003-04-04 17:49:21 +00:00
Doug Barton
5750fb86d7 Put back the deletion of TEMPROOT/etc/passwd.
Noticed by: maxim
2003-03-05 12:42:08 +00:00
Doug Barton
40a392599f Better handle the recent (desirable) change to create login.conf.db at
install time, and make sure to catch any future .db files as well.
2003-03-05 08:20:55 +00:00
Doug Barton
04a2863cfd Try another solution for not expanding a CVS tag.
Submitted by:	roam
2003-02-27 08:29:30 +00:00
Doug Barton
687e6ad79b 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
2003-02-10 06:35:34 +00:00
Doug Barton
1d825c58fb * Update copyright year.
* Give back one line of ws when showing a diff.
  This was requested by several.
* Un-quote DIFF_FLAG, and add DIFF_OPTIONS. This will allow the user to
  do more creative things in a mergemaster rc file. Un-quoting is necessary
  in order to handle things like CVS Id tags that look like shell variables.
* Simplify terminal width determination.

Suggestions related to ignoring the CVS Id's were taken from several, with
dillon and gad providing particularly helpful feedback.
2003-02-05 11:09:21 +00:00
Doug Barton
00482d1917 * Update copyright year.
* Add an example that ignores CVS Id tags for the new DIFF_OPTIONS variable.
2003-02-05 11:03:05 +00:00
Matthew Dillon
f959d23788 Backout last commit by request. 2003-01-28 18:44:40 +00:00
Matthew Dillon
c3342fe141 Commit simple mergemaster changes to make the UI more deterministic
(far easier to use) by limiting the initial display to the size of the
window.
2003-01-25 19:12:06 +00:00
Poul-Henning Kamp
0398919dc7 Don't use NO_MAKEDEV* option, its the default now. 2002-10-22 15:04:32 +00:00
Doug Barton
0aed4a4c3f Suppress spurious warning messages about rm -rf TEMPROOT failing
before chflags, and exit non-zero if the old TEMPROOT dir
can't be deleted for whatever reason.
2002-08-05 08:47:52 +00:00
Doug Barton
6ba81e778e Fix a couple DESTDIR related problems. Credit for the "Only in" section
goes to James <James_Bond_79@yahoo.com>, and Cyrille Lefevre
<cyrille.lefevre@laposte.net>. The make variables problem was found
by jon.
2002-08-05 01:03:12 +00:00
Marc Fonvieille
1061be04b3 Correct links to Handbook's pages, old URLs does not work anymore.
MFC after:	1 week
2002-07-30 21:04:26 +00:00
Philippe Charnier
490d5836b5 The .Nm utility 2002-07-14 14:47:15 +00:00
Doug Barton
3a33dac41f * Handle all flags, not just schg
* Make chflags -R more efficient by deleting everything we can first
2002-06-30 18:47:57 +00:00
Doug Barton
a85eac0492 Add 'chflags -R noschg' to the deletion process for the TEMPROOT
directory so that /var/empty, and any other such items that are
added in the future can be deleted effectively.
2002-06-26 14:14:07 +00:00
Doug Barton
30d6b8e113 Go back to taking the user's umask into account. Thanks to Alfred for
hatching the idea of using dc, and Giorgos (keramida) for incubating it.

This also reverses most of the previous commit which took out or
modified the text about umask stuff.
2002-06-10 07:16:42 +00:00
Doug Barton
d50489bc95 * Use the new stat(1) to get mode information from the files we
are installing.
* Since this means that for now we can't accomodate non-standard
umask's, warn the user accordingly.
* Convert the "press enter to continue" prompt into a function.
2002-06-06 20:38:22 +00:00
Doug Barton
aaa8b7ff8c Actually accept the default argument to SCREEN_WIDTH.
Submitted by:	brian
2002-05-28 07:25:44 +00:00
Doug Barton
2b0baf3e99 * Fix a small typo, thanks to olgeni
* Document the COMP_CONFS variable in the .mergemasterrc example
2002-05-04 22:53:03 +00:00
Doug Barton
b3559845fb * Add some niceties to make the -p option quieter, and better behaved
* Take a simple idea about setting the screen width using stty (for sdiff's
purposes) thoughtfully suggested by Joerg to an absurd conclusion.
2002-05-04 22:45:12 +00:00
Doug Barton
3e9d29b012 Solve the problem of spuriously comparing files that were created
in the ${TEMPROOT}/usr/obj directory by deleting them first.
2002-04-08 10:30:44 +00:00
Doug Barton
86ba3dedb9 Document the two new options, pre buildworld mode and
post-mm rc.conf[.local] comparisons.
2002-04-08 09:49:40 +00:00
Doug Barton
13c801713d Improve grep'ing for variables in make.conf and rc.conf*.
Thanks to cjc for the idea.
2002-02-25 04:52:56 +00:00
Doug Barton
d7b94dc447 * Add a feature to do a "pre {build|install}world" check of (so far)
master.passwd, group, and make.conf
* Add a feature to check variables in rc.conf[.local] to their
counterparts in /etc/defaults/rc.conf after a run
* Twiddle whitespace a little
* Change some "[ -f file ] && rm file" to "rm -f file"
2002-02-24 10:22:14 +00:00
Doug Barton
f6694187c2 * Update (c)
* Fix a problem with files that have no CVS $Id's. Thanks to naddy for
spotting this one. It wasn't a _huge_ problem since almost all the files
we install (except motd) have one, but still, it's a bug.
* Add a divider between diff outputs, which is helpful both for logs,
and for giving a good visual clue for diffs that are smaller than
$LINES. Another helpful suggestion from Gary W. Swearingen, swear@blarg.net.
2002-02-12 09:54:56 +00:00
Doug Barton
cf767f1d8e * Update (c)
* Expand on the definition of the -s (strict) option, at the suggestion
of Gary W. Swearingen, swear@blarg.net.
2002-02-12 09:50:16 +00:00
Doug Barton
e4a9231de9 Hopefully squish the problem of mm creating sendmail files in
the source tree once and for all.

Pointed out by: A cast of thousands

Reviewed by:	asmodai
2001-08-07 06:22:12 +00:00
David E. O'Brien
90e655ea4e Perform a major cleanup of the usr.sbin Makefiles.
These are not perfectly in agreement with each other style-wise, but they
are orders of orders of magnitude more consistent style-wise than before.
2001-07-20 06:20:32 +00:00
Ruslan Ermilov
a4c37c816b mdoc(7) police: removed HISTORY info from the .Os call. 2001-07-10 15:12:08 +00:00
Dima Dorfman
70d51341bf mdoc(7) police: remove extraneous .Pp before and/or after .Sh. 2001-07-09 09:54:33 +00:00
Ruslan Ermilov
1fd59f79aa 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.
2001-07-05 09:35:20 +00:00
Doug Barton
31e58c1713 Work around the problem in RELENG_4 where the file doesn't actually
exist, and therefore mm_install is returning the "fail" value of
the test instead of the "success" value for install.

This change is a no-op on HEAD, but since the only harm on RELENG_4
ATM is a spurious warning it can follow the usual MFC practice.

Submitted by:	A cast of thousands :-/
2001-06-20 07:15:38 +00:00
Doug Barton
370b8c6831 Add the last of the compatibility mods from openbsd. Neatly, the
"install && rm" change fits in with the new FreeBSD default of
copy instead of move for install. Changing the order of the deletion
of the spurious password files doesn't affect FreeBSD functionality,
but it's done in such a way as not to matter.

Obtained from:	Christian Weisgerber <naddy@mips.inka.de>
2001-05-30 08:50:10 +00:00
Doug Barton
68bec7b7a1 Various fixes, including suggestions from some thoughtful folks, thanks.
* Minor umask portability change (Christian Weisgerber <naddy@mips.inka.de>)
* Clarify default value of the "run it now" option (bmah)
* Make "run it now" $DESTDIR safe (bsd)
* Handle installation of hard links for /.profile and /.cshrc properly
  when the auto-install option is selected
* Fix some more whitespace issues
2001-05-28 13:17:20 +00:00
Doug Barton
00894211bd Clarify handling of /etc/mergemaster.rc and $HOME/.mergemasterrc 2001-05-28 13:10:16 +00:00
Doug Barton
e5a2a8f241 Be more consistent with the terminology, referring to "temporary and
installed" instead of "old and new". Inspired by the somewhat
non-linear PR, which really didn't have a fix, per se.

PR:		conf/27235 Roelof Osinga <roelof@eboa.com>
2001-05-28 09:46:18 +00:00
Doug Barton
217239504e Fix a problem when user selects -a (auto run) but we encounter a file
missing on the system. Instead of passing it by, mm was prompting...
bad mm, no cookie!

Brought to my attention by the PR, but the fix needed to be tweaked to
handle the auto-install option as well.

PR:		misc/25731 Gilbert Gong <ggong@cal.alumni.berkeley.edu>
2001-05-28 09:35:30 +00:00
Doug Barton
25756f4470 Whitespace only changes to try and fit a little better into 80 columns. 2001-05-28 09:07:27 +00:00
Ruslan Ermilov
eb0838029f mdoc(7) police: normalize .Nd. 2001-04-18 15:54:10 +00:00
Ruslan Ermilov
b9ad8c8635 beforeinstall -> SCRIPTS. 2001-04-07 11:21:35 +00:00
Jeroen Ruigrok van der Werven
2baf30741f Change NO_MAKEDEV to a finer granularity method:
NO_MAKEDEV_INSTALL and NO_MAKEDEV_RUN.  The former implying the latter.
The names imply what they do.  The last commit by DES based on a PR defeated
the original idea behind NO_MAKEDEV, which was not to run MAKEDEV, but to do
the installation of MAKEDEV.  This should satisfy both parties on the MAKEDEV
challenge.
Reflect this in mergemaster, this might later on be decided to be set to
NO_MAKEDEV_INSTALL, for now I kept to the old behaviour.
2001-03-29 14:04:19 +00:00
Ruslan Ermilov
345e52e742 - Backout botched attempt to introduce MANSECT feature.
- MAN[1-9] -> MAN.
2001-03-26 14:42:20 +00:00
Doug Barton
5d7b107e1c * 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>
2001-03-05 10:13:21 +00:00
Ruslan Ermilov
8b5c4af3ff Prepare for mdoc(7)NG. 2000-12-27 15:30:30 +00:00
Ruslan Ermilov
e97407b4f2 mdoc(7) police: use the new features of the Nm macro. 2000-11-20 20:10:44 +00:00
Ruslan Ermilov
251c176f41 mdoc(7) police: use certified section headers wherever possible. 2000-11-17 11:44:16 +00:00
Ruslan Ermilov
b5c508fba3 Use Fx macro wherever possible. 2000-11-14 11:20:58 +00:00
Doug Barton
6f8d4c2ffc * 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
2000-11-09 00:19:21 +00:00
Doug Barton
bc21bd54d0 Reorder one of the new features based on experience. Since the number
of files auto-installed during an upgrade from a really old system
can get quite long, and it's piped to the PAGER already, print
that first, then print any of the 4 two-line messages that might
apply.
2000-11-01 07:21:56 +00:00
Doug Barton
d5a5b144b6 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.
2000-10-30 10:33:51 +00:00
Doug Barton
74972d42db Update copyright 2000-10-29 09:41:06 +00:00
Doug Barton
0006169a06 More changes that don't modify functionality.
* More whitespace
* Change read -p to echo -n/read to help support portability
* Genericize an informational message regarding /.cshrc and /.profile
  for the same reason
2000-10-29 09:40:22 +00:00
Doug Barton
3bc374238a Whitespace only. Make the style of the contributed sections consistent with
the rest of the file. (Read, put it back the way I like it.)
2000-10-29 07:47:51 +00:00
Bill Fumerola
83ef0eba1a Almost a year exactly from when I first imported mergemaster at freebsdcon,
remove myself as co-maintainer and let Doug handle all the fun.
2000-10-26 05:36:35 +00:00
Ben Smithurst
cf8728a497 Make mergemaster ignore files in /dev if /dev is a devfs.
Approved by:	Doug Barton <Doug@gorean.org>
2000-08-26 12:15:24 +00:00
Gregory Neil Shapiro
7e5e46fad7 Use new aliases path (/etc/mail/aliases)
Approved by:	Doug Barton <DougB@gorean.org>
2000-08-13 19:32:19 +00:00
Brian Somers
6c2ccd0a61 Be more careful about selecting a PAGER.
Improve the question asked when the PAGER is invalid.

Submitted by: Doug Barton <DougB@gorean.org>
2000-08-09 20:36:15 +00:00
Mark Ovens
8f18f09f14 Update link to Making the World tutorial (now in the handbook) 2000-08-07 23:25:22 +00:00
Brian S. Dean
c0c9cad1af Actually accept 'm' as a PAGER query response to mean 'more'. 2000-05-12 03:09:57 +00:00
Alfred Perlstein
bdbca6ddeb Make mergemaster only take single letters for options as well as loop
asking a question again if given an invalid input instead of assuming
what the user wants.  /etc is not the place to make assumptions when
given invalid input.

Reformat some of the more convoluted code into seperate functions instead
of being inline using tabs instead of space indents.

Allow the user to view merged files they created with sdiff.

Allow the user to redisplay the diff between the installed file and
the new file again.

Time wasted waiting for review: 1 month 2 weeks
2000-04-02 02:47:15 +00:00
Sheldon Hearn
f2e366a105 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.
2000-03-01 14:09:25 +00:00
Bill Fumerola
638a3aacaa Use the new (Hi rwatson!) NO_MAKEDEV when making our temproot.
Submitted by:	Doug Barton <Doug@gorean.org> (maintainer)
Approved by:	you-know-who.
2000-02-12 22:14:02 +00:00
Bill Fumerola
b85666e879 Allow $PAGER to have arguments.
Submitted by:	brian
Reviewed by:	Doug Barton <Doug@gorean.org>
Approved by:	jkh
2000-02-08 22:31:53 +00:00
Chris Costello
fd27f1594e `mergemaster'' was repo-copied to `mergemaster.sh'' as it's a shell script.
Delete the original mergemaster and modify Makefile to install mergemaster.sh.

Seen no problem with by:	billf
No objections by:		Doug Barton
1999-11-01 04:29:05 +00:00
Bill Fumerola
256d3d1de0 Add IGNORE_MOTD to allow the sysadmin to ignore (likely) differences in
the FreeBSD default motd and the system motd

Submitted by:	author
1999-10-26 19:06:31 +00:00
Bill Fumerola
5edab78fb5 Use $FreeBSD$ (instead of the author's $Revision$) to report the
version number now that we have it.

Reviewed by:	author
1999-10-26 19:05:04 +00:00
Bill Fumerola
24518e4c42 freebsd -> FreeBSD 1999-10-26 18:57:04 +00:00
Bill Fumerola
31b8a7c28b Add $FreeBSD$
Submitted by:	chris
1999-10-26 18:54:57 +00:00
Bill Fumerola
deb5a6cd09 Co-MAINTAINER this module. 1999-10-26 18:52:36 +00:00
Bill Fumerola
f543e6bdd2 Add $FreeBSD$ 1999-10-25 21:51:04 +00:00
Bill Fumerola
24ff9bb509 mergemaster bmake glue. 1999-10-20 07:33:09 +00:00
Bill Fumerola
b9d7a08d37 Import mergemaster into the tree, a product of freebsdcon.
Submitted by: 	Doug Barton <doug@gorean.org>
1999-10-20 07:22:52 +00:00