Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 23 Jul 2000 21:39:45 -0600
From:      Warner Losh <imp@village.org>
To:        "Andrey A. Chernov" <ache@FreeBSD.org>
Cc:        Marcel Moolenaar <marcel@FreeBSD.org>, cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/etc Makefile src/include Makefile src/release Makefile src/release/picobsd/build Makefile.mfs src/release/picobsd/custom Makefile.mfs src/release/picobsd/dial Makefile.mfs src/release/picobsd/install Makefile.mfs 
Message-ID:  <200007240339.VAA76413@harmony.village.org>
In-Reply-To: Your message of "Sun, 23 Jul 2000 17:41:25 PDT." <20000723174125.A38154@freebsd.org> 
References:  <20000723174125.A38154@freebsd.org>  <20000723194837.M47967@argon.gryphonsoft.com> <200007231633.JAA33796@freefall.freebsd.org> <20000723143740.A70582@freebsd.org> <20000723185708.I47967@argon.gryphonsoft.com> <20000723164637.A26164@freebsd.org> <20000723194837.M47967@argon.gryphonsoft.com> <200007240011.SAA75502@harmony.village.org> 

next in thread | previous in thread | raw e-mail | index | archive | help
Andrey,
	please let me appologize for not contacting you directly when
I first hit this problem.  I was extremely upset due to make
buildworld being broken and did not act properly.  mtree is a special
tool that needs to have more testing than other tools in the tree, and 
it isn't obvious from our committer documentation that that is the
case.  We should fix that as well.

In message <20000723174125.A38154@freebsd.org> "Andrey A. Chernov" writes:
: This reason is not enough for not asking me first. Please you and
: Marcel come in agreement on this subj. with my changes returned in
: most suitable for upgrade form from your point of view. What I do I
: do strict in the scope of allowed actions and I am not responsible
: of other people area.

I think the reason is enough for the mtree/Makefile change that I made
(since I was getting lots of complaints about UPDATING being wrong).
It make the supported 4.x -> 5.0 transition work again, which is
something that the project must have in place.  I'm less sure about
the other behavior changes that Marcel made, but let's move on from
those.

We can't depend on using mtree -L in the build process.  Whatever we
do, we need to make sure that is the case.  There are too many upgrade
issues with building mtree as part of the tools target at this point
in time, which I outlined before and are not your fault (I don't
think, but I've not checked to see who did the strtofflags stuff).

So we're at cross purposes now.  The default for FreeBSD used to be
FTS_LOGICAL, which has issues, iirc, with symbolic links in some
directories.  We need the default to be FTS_PHYSICAL for those
concerns.  However, we also want the FTS_LOGICAL behavior in the build 
process.  mtree is a special tool in the build process that needs to
remain compatible with old releases of FreeBSD as well as usable in
the early stages of the build process.

The only real way that I see of getting this is to add -L to mtree,
but also add an enviornment variable that mtree does a getenv on.
That would be something like MTREE_USE_LOGICAL.  If that exists, it
defaults to the old behavior w/o need for a command line argument.
This would allow us easily use that in the build process (old versions
would ignore this env and do the right thing, new versions would parse
it and do the right thing w/o needing special args.  Intermediate
versions (from the past week or two) are, well, busted, oh well, we
put a note in UPDATING).  Chances are they will just work, but the
LOGICA vs PHSYICAL thing may have some interesting consequences that
people need to be warned about.

The changes to mtree in this case would be the simple addition of
something like:
	/*
	 * We have to allow the build tools to tell us, in a backward
	 * compatible way, to use the old default of logical.  We get
	 * the env, which is BC with the past.  If you change this,
	 * then you must make sure that all supported upgrade paths
	 * work.
	 */
	if (getenv("MTREE_USE_LOGICAL"))
		ftsoptions = FTS_LOGICAL;
	else
		ftsoptions = FTS_PHYSICAL;

I think this would address all the concerns raised.  Comments?

Warner


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




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