Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 24 Mar 2002 18:05:01 -0700 (MST)
From:      "M. Warner Losh" <imp@village.org>
To:        ryand-freebsd@ZenSpider.com
Cc:        cjc@FreeBSD.ORG, randy@psg.com, dima@trit.org, freebsd-stable@FreeBSD.ORG
Subject:   Re: mergemaster mtree:No such file or directory
Message-ID:  <20020324.180501.53140478.imp@village.org>
In-Reply-To: <20020324163351.A73171@greed.zenspider.com>
References:  <6E639CB8-3F7E-11D6-B638-0030655293B0@zenspider.com> <20020324154542.B82432@blossom.cjclark.org> <20020324163351.A73171@greed.zenspider.com>

next in thread | previous in thread | raw e-mail | index | archive | help
In message: <20020324163351.A73171@greed.zenspider.com>
            Ryan Davis <ryand-freebsd@ZenSpider.com> writes:
: On 2002-03-24T15:45:42, Crist J. Clark wrote:
: 
: > > Shouldn't the build system (including mergemaster) be impervious to 
: > > side-effects from things like PATH?
: > 
: > I could easily envision situations where one might want to play games
: > with one's PATH when using mergemaster(8). I think having
: > mergemaster(8) toss aside the user's PATH and essentially hardcode its
: > own makes the tool much less flexible, violates POLA, and generally
: > violates the whole purpose of PATH and environmental variables.
: 
: Call me wacky, but "play games when using mergemaster" == command line
: option in my book.  Good Configuration Management would probably state
: that the build and configuration tools should do the same thing every
: time regardless of how wonky my environment is. Only when I say "no no
: mergemaster, this is a special case" should it act outside the norm.
: 
: Translation: the rest of us should have repeatable results across ALL
: of our systems.
: 
: I think taking this step (for all of the build systems, including
: ports) would be a GoodThing. It would help the 90% case quite a bit
: and probably quiet the mailing list too. I've seen weird cases lately
: where the solution to some poor fool's port building problem is "Take
: '.' out of your path". That's just NOT going to help us increase the
: usability of our favorite OS, is it? We should do everything in our
: power to make stable and ports and clean and usable as possible.

Personally, I'd rather see most of mergemaster be a three way merge,
rather than how it is done now.  Meaning that you have some base
FreeBSD version.  This gets checked into CVS (or some other scm), that
I'll call the local repo.  The user hacks on it and installs files
that are then committed back into local repo.  Time passes, you do an
upgrade.  mergemaster does a cvs diff -u -r base-version -r HEAD on
each of the files on the FreeBSD cvs repo and applies those diffs to
the local repo, allowing one to then install from there.

This works well for almost all the /etc files, except those that hold
passwords (like the opiekeys, master_password etc).  Of course, you
could likely do this w/o the local repo, and apply the patches
directly to the /etc files (or to a copy that you then copy back).
One would then need to keep a database of versions, or mandate that
you can't remove $FreeBSD$ from the files.  Patches that fail to apply
are then punted back to the user for resolution.

Warner


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020324.180501.53140478.imp>