Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 20 Jul 1995 14:32:31 -0700 (PDT)
From:      "Rodney W. Grimes" <rgrimes@gndrsh.aac.dev.com>
To:        asami@cs.berkeley.edu (Satoshi Asami)
Cc:        jhs@vector.eikon.e-technik.tu-muenchen.de, jkh@time.cdrom.com, hackers@freebsd.org
Subject:   Re: Strange entries in /usr/src/Makefile
Message-ID:  <199507202132.OAA09908@gndrsh.aac.dev.com>
In-Reply-To: <199507202114.OAA02916@forgery.CS.Berkeley.EDU> from "Satoshi Asami" at Jul 20, 95 02:14:17 pm

next in thread | previous in thread | raw e-mail | index | archive | help
> 
>  * > I'd prefer it nuked, it just doesn't belong here.
>  * 
>  * Then neither does the assumption in bsd.ports.mk that /usr/ports is
>  * the root of the ports tree :-(.  That is after all what started this
>  * whole thread, that bsd.port.mk and /usr/src/Makefile where in disagreement
>  * about locations.
> 
> bsd.ports.mk does not assume that the ports tree is located at
> /usr/ports, it is just the default and can be changed by PORTSDIR.
> (Or, more precisely, PORTSDIR is set to /usr/ports in bsd.ports.mk if
> not defined by the user, and that's the root of the ports tree.)
> 
> If we read bsd.port.mk from /usr/src/Makefile *before* the lines in
> question, we can use PORTSDIR to build the ports as part of make
> world.  But we don't.
> 
> Can I nuke them please?  The main source tree and the ports tree are
> two different beasts, it just doesn't make much sense to assume
> anything about where they should be on a user's machine.  Especially
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> if the "problem" can be solved by a 2-line shell script or a shell
> command with three semicolons.

I can not go with nuking them, some sites have become acustom to
what we have.  Perhaps the default value of
PORTSDIR should move to a more visible location.

Your missing a lot of the context and everything that went into
the initial work to put that stuff in there, this was not just
some half cocked lets go off and add this.  It was discussed and
reviewed, changed and envolved for about a 2 week period before
it ever got added.

That is why those lines are
.if defined(MAKE_PORTS) & exists(../ports) & exists(../ports/Makefile)
and not something much simpler but more error prone.

[Oopppss.. my patched version of the file above :-)]

Now, the new ports stuff has changed the picture a little and we
need to deal with it, not just go nuke it!

The argument that that /usr/src should know nothing about /usr/ports
is a strawman, as bsd.port.mk lives there along with several other
bits.  Ideally, sure it would be nice if it didn't know a thing about
it.  Practical view point, next to imposible to achive the ideal.

And as Joerg pointed out /usr/src/ports -> whereever makes the
current code just do the right thing, and that was more or less
the original intent.  If someone wanted there ports collection
autobuilt during a make world they just added the symlink and
set MAKE_PORTS and boom, bigger longer running more complete
``make world''.

You'll also notice all sorts of things in src/Makefile to handle
the fact that src/ports may very well be a symbolic link, so this
is not an ``after the fact'' side effect, it was designed that
way.

[gee, 60 lines of comments to defend 10 lines of code :-(]

-- 
Rod Grimes                                      rgrimes@gndrsh.aac.dev.com
Accurate Automation Company                 Reliable computers for FreeBSD



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