Re: DISTDIR

From: Ruslan Ermilov <ru_at_freebsd.org>
Date: Wed, 11 Aug 2004 14:18:03 +0300
On Wed, Aug 11, 2004 at 12:58:50PM +0200, Barry Bouwsma wrote:
> > > MAKEOBJDIRPREFIX?= foo...
> > >                 ^^
> > Please see my other email in this thread that explains in detail
> > why it works, and why it should not be used.
> 
> Understood.  Methinks that MAKEOBJDIRPREFIX is getting to
> be a bit overloaded, as something that can be set by the
> user, as well as something that gets set during the build.
> 
During the build, buildworld respects the user's setting by
only *adding* to what the user has specified as MAKEOBJDIRPREFIX,
so there's no problem here.

> Anyway, I agree that it would be nice if there would be
> something that can be set in a make.conf which determines
> where the build happens, rather than it be dependent on
> an environment variable only.
> 
MAKEOBJDIRPREFIX is not limited to buildworld only, it's
a feature of make(1).  OTOH, if you want some knob for
/etc/make.conf to control what MAKEOBJDIRPREFIX will be set
to during buildworld and related targets, this should be
possible easily, though I personally don't see much point
in yet another variable.

> > > Which brings up something else -- has there been any
> > > resolution of the conflict between `DISTDIR' as used by
> > > ports, and `DISTDIR' as used by the `distribute' targets?
> 
> > DISTDIR is only used by "make distribute", and the latter
> > is only used by "make release".  "make release" doesn't
> > use /etc/make.conf.  Where's the conflict?
> 
> Ah, that I had been using `make distribute' or similar in
> order to populate DESTDIR/etc after a `make installworld',
> which is probably not what I should have been doing.  (After
> a crossbuild, I wanted to fill DESTDIR with everything,
> including etc, as if installing a virgin installation.
> There's probably a Right Way to do this that I don't know.)
> 
The correct spelling would be "make distrib-dirs && make
distribution" while in /usr/src/etc, but it does not use
DISTDIR either.  "make distibute" while in /usr/src/etc
uses DISTDIR, but it should not be called by the end user,
it's called as part of "make release" to install the system
into various release distributions.


Cheers,
-- 
Ruslan Ermilov
ru_at_FreeBSD.org
FreeBSD committer

Received on Wed Aug 11 2004 - 09:20:31 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:05 UTC