svn commit: r248352 - in stable/9: etc share/mk
Brooks Davis
brooks at freebsd.org
Tue Apr 2 17:59:01 UTC 2013
On Wed, Mar 20, 2013 at 09:18:08AM -0400, John Baldwin wrote:
> On Tuesday, March 19, 2013 4:06:31 pm Brooks Davis wrote:
> > On Tue, Mar 19, 2013 at 09:49:47PM +0400, Dmitry Morozovsky wrote:
> > > On Tue, 19 Mar 2013, Brooks Davis wrote:
> > >
> > > > > > Replace all known uses of ln in the build process with appropriate
> > > > > > install -l invocations via new INSTALL_LINK and INSTALL_SYMLINK
> > > > > > variables.
> > > > >
> > > > > It seems this merge breaks ``make distribution'' and hence mergemaster if your
> > > > > base system is not updated yet (for example, while updating jail):
> > > >
> > > > Sorry for the delay in responding. I missed this yesterday.
> > > >
> > > > It works for me on a older 9.0-STABLE system where the base install
> > > > doesn't support -l. Did you build world or run "make toolchain" in that
> > > > source tree to build the bootstrap copy of install?
> > >
> > > Yes, this is after full ``make buildworld buildkernel'' process.
> >
> > I've found the problem thanks to misc/177055. It is that mergemaster
> > (and etcupdate) set MAKEOBJDIRPREFIX to something in their
> > temporary directory and thus deprive themselves of bootstrap tools.
> > Unfortunately, I don't see a trivial fix so I've backed this out for
> > now and will work on this in HEAD.
>
> Hummmm. In the case of etcupdate you can use 'etcupdate -B'. That is actually safe
> to do in the common case where you've just updated /usr/src and built the corresponding
> world in /usr/obj. It should possibly even by the default for etcupdate if a DESTDIR
> is not specified.
Finally getting back to this...
etcupdate -B would correct the immediate problem for etcupdate. I do
think that making it the default if the tree exists makes sense. It
won't be more broken than a cross installworld is.
I did a quick test when I first found this issue and it would be easy to
reuse the existing MAKEOBJDIRPREFIX in mergemaster as well.
I think we'll want to update UPDATING to recommend that the
mergemaster -p stage (and the equivalent for etcupdate) be run using the
version in the source tree, not the installed one. I do wonder if it
would make sense for them to attempt to find and invoke that version so
simplify bootstrapping.
-- Brooks
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 188 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/svn-src-stable-9/attachments/20130402/b1fd3715/attachment.sig>
More information about the svn-src-stable-9
mailing list