Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 27 Jul 2001 06:14:29 -0500
From:      Mike Meyer <mwm@mired.org>
To:        Nick Barnes <Nick.Barnes@pobox.com>
Cc:        questions@freebsd.org
Subject:   Re: making -releng binaries on a machine running -stable 
Message-ID:  <15201.19733.775689.60584@guru.mired.org>
In-Reply-To: <27525.996164625@thrush.ravenbrook.com>
References:  <mwm@mired.org> <15200.16195.969128.39709@guru.mired.org> <27525.996164625@thrush.ravenbrook.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Nick Barnes <Nick.Barnes@pobox.com> types:
> At 2001-07-26 16:03:15+0000, Mike Meyer writes:
> > Nick Barnes <Nick.Barnes@pobox.com> types:
> > > I want to track RELENG_4_3 on an old machine with a small local disk,
> > > incapable of holding /usr/obj or running make buildworld.
> > > 
> > > I have a much bigger faster machine running -stable.  Can I make
> > > RELENG_4_3 items on it and transfer them to the smaller machine?  I
> > > have the RELENG_4_3 sources, but not in /usr/src/.  It seems that if I
> > > set MAKEOBJDIRPREFIX and DESTDIR, I can make buildworld.  
> > 
> > Yes, you can. What I would advise is to share the source and object
> > trees between the two machines via nfs. The trick is that the real
> > mount point for the two has to be the same on both machines, and not
> > just symlinked to the same place. You should also make sure that
> > /etc/make.conf on the two is a similar as possible. You can then do
> > buildworld on the -stable box, and installworld on the target machine
> > without futzing with MAKEOBJDIRPREFIX or DESTDIR.
> I'm not clear about this.

That's fine. It's a bit confusing until you've sorted it out.

> I have -stable sources in /usr/src/ and -releng (i.e. RELENG_4_3)
> sources in /usr/releng/src/.  I want to be able to continue building
> -stable in the usual way, in /usr/obj/, for my -stable machine(s).  I
> also want to build -releng, for instance in /usr/releng/obj/, and make
> install from there on the smaller machine, presumably via an NFS mount
> of /usr/releng/.

Doing that would require screwing with MAKEOBJDIRPREFIX and
DESTDIR. You'll still have to make sure the mounts are all the same.

> But if I make buildworld in /usr/releng/src, without setting
> MAKEOBJDIRPREFIX and DESTDIR, it tries to scribble on /usr/obj/.  I am
> assuming the right thing to do is to set MAKEOBJDIRPREFIX (and
> DESTDIR?).

With MAKEOBJDIRPREFIX equal to /usr/obj - or unset - then building in
/usr/releng/src will scribble on /usr/obj - specifically,
/usr/obj/usr/releng/src. Building your -stable in /usr/src will
scribble on /usr/obj - specifically /usr/obj/usr/src. If you set
MAKEOBJDIRPREFIX=/usr/releng/obj, then scribbling in /usr/releng/src
will scribble on /usr/releng/obj - specifically
/usr/releng/obj/usr/releng/src. The real path to the src tree is
appended to MAKEOBJDIRPREFIX to get the full path to the object
prefix.

The reason for not setting MAKEOBJDIRPREFIX is that you won't be able
to just cram it into /etc/make.conf on both systems and forget it. I'd
rather avoid differences in the two builds if I can. The only problem
with not setting may be that cleaning out one will clean out the
other, something I haven't tried.

This is why your source tree has to be mounted at the same point, not
just symlinked to it. I think I overstated the case about th object
tree, but I do things that way. You might try adding a symlink from
/usr/obj/usr/releng/src to /usr/releng/obj on both systems, then just
mounting /usr/releng with src and obj on it.

	<mike
--
Mike Meyer <mwm@mired.org>			http://www.mired.org/home/mwm/
Independent WWW/Perforce/FreeBSD/Unix consultant, email for more information.

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




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