Subject: Re: Toolchain Update (27-Nov-2001)
To: Todd Vierling <>
From: Robert Elz <kre@munnari.OZ.AU>
List: tech-toolchain
Date: 11/30/2001 16:11:56
    Date:        Thu, 29 Nov 2001 12:26:56 -0500 (Eastern Standard Time)
    From:        Todd Vierling <>
    Message-ID:  <Pine.WNT.4.40.0111291218480.1004-100000@todd>

  | Sure, you can put whatever you like in it.  However, it *is* reasonable to
  | assume that src may affect the build procedure of any alien tree you put
  | inside it (see below).

no, but ...

  | "pkgsrc" does not live one level below "src" -- it lives at the same
  | directory level.  It is not meant to be mergeable with "src".

Well, one could claim that pkgsrc is a sibling of basesrc, gnusrc, ...

  | This is pretty standard treatment in the software world.

It is truly weird, and actually, almost unheard of.

  | Source trees are set up to contain a specific set of subcomponents.

Sure.   And if I remove something that should be there, then it is
quite reasonable for the build to break.   But adding something new
could cause no problems at all, except for the faint chance of a name
collision sometime later (personally, I'll take the risk that the NetBSD
project will decide to add a /usr/src/pkgsrc that's different from the
current pkgsrc...).

What's more, it did create no problems at all, I did a complete build
of a i386 on i386, with /usr/src/pkgsrc existing, and everything worked
just fine (the pkgsrc stuff wasn't touched at all of course, nor was
xsrc, nor did I want them to be).

  | The parent package's maintainer has no responsibility (in most cases, no
  | *ability*) to know that you put extra alien sources in its tree; it's up to
  | you to deal with changes in the parent's build structure which affect you.

Sure, with that I agree.   However, in general, changes in the parent's
build structure generally affect me not at all.

  | The "src" build system, however, has domain over how "src" (and everything
  | it contains) builds.  If you're leveraging the build structure of "src"
  | (<bsd.*.mk>) inside "src", you should fully expect your alien tree to behave
  | as if it were building with "src".  This should be rather obvious....

Yes, and as I said last time, I'm coming to the conclusion that this is
really a pkgsrc problem.  That is, it is because pkgsrc is using (bits of)
the src build system.   If you hadn't already fixed it, I think it would be
for the pkgsrc maintainers (especially as they claim that pkgsrc can go
anywhere...) to fix it.

    From: James Chacon <>
    Subject: Re: Toolchain Update (27-Nov-2001)
    Date: Thu, 29 Nov 2001 12:51:47 -0500 (EST)

  | So using this logic you'd also download something like gcc and then start
  | dropping your random source into

  | gcc/*

Absolutely, don't you?    Well, perhaps not "random source" (nor am I
this time), but "source that isn't part of gcc" absolutely.    That is,
were I working on gcc, and felt the need to create some test code for
something or other, inside the gcc source tree is absolutely where it
would get put, and I wouldn't expect the gcc build system to start
interfering with what I am doing.  (Actually, I have pretty much resisted
the temptation to go plying about with gcc - not that it took much
resisting - but for other similar things, I certainly do this).

I suspect this thread has now about run its course...   but before I
finish, just let me say that I think the new build system stuff in general
is (or will be when it is really completed) just great, and I certainly
appreciate all the hard work that has gone into making it.