Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 2 Apr 2013 12:59:03 -0500
From:      Brooks Davis <brooks@freebsd.org>
To:        John Baldwin <jhb@freebsd.org>
Cc:        Brooks Davis <brooks@freebsd.org>, svn-src-stable@freebsd.org, svn-src-all@freebsd.org, Dmitry Morozovsky <marck@rinet.ru>, svn-src-stable-9@freebsd.org, src-committers@freebsd.org
Subject:   Re: svn commit: r248352 - in stable/9: etc share/mk
Message-ID:  <20130402175903.GA85393@lor.one-eyed-alien.net>
In-Reply-To: <201303200918.08803.jhb@freebsd.org>
References:  <201303152132.r2FLWfwx076672@svn.freebsd.org> <alpine.BSF.2.00.1303192148030.39428@woozle.rinet.ru> <20130319200631.GC80942@lor.one-eyed-alien.net> <201303200918.08803.jhb@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help

--UlVJffcvxoiEqYs2
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

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:
> > >=20
> > > > > >   Replace all known uses of ln in the build process with approp=
riate
> > > > > >   install -l invocations via new INSTALL_LINK and INSTALL_SYMLI=
NK
> > > > > >   variables.
> > > > >=20
> > > > > It seems this merge breaks ``make distribution'' and hence mergem=
aster if your=20
> > > > > base system is not updated yet (for example, while updating jail):
> > > >=20
> > > > Sorry for the delay in responding.  I missed this yesterday.
> > > >=20
> > > > 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?
> > >=20
> > > Yes, this is after full ``make buildworld buildkernel'' process.
> >=20
> > 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.
>=20
> Hummmm.  In the case of etcupdate you can use 'etcupdate -B'.  That is ac=
tually 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


--UlVJffcvxoiEqYs2
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (FreeBSD)

iD8DBQFRWxxmXY6L6fI4GtQRAtcmAJ97CIgMrktZlbUNZiz8nISGM3XLqgCg2P7m
nJnWURO7LGk5i+JRCS1nxhY=
=R+vd
-----END PGP SIGNATURE-----

--UlVJffcvxoiEqYs2--



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