From owner-freebsd-current Sun Dec 10 14:26: 0 2000 From owner-freebsd-current@FreeBSD.ORG Sun Dec 10 14:25:58 2000 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from guru.mired.org (okc-65-26-235-186.mmcable.com [65.26.235.186]) by hub.freebsd.org (Postfix) with SMTP id D6B8137B401 for ; Sun, 10 Dec 2000 14:25:57 -0800 (PST) Received: (qmail 3558 invoked by uid 100); 10 Dec 2000 22:25:55 -0000 From: Mike Meyer MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <14900.755.695843.77213@guru.mired.org> Date: Sun, 10 Dec 2000 16:25:55 -0600 (CST) To: current@FreeBSD.ORG Cc: Mike Meyer Subject: Re: PREFIX clean vs. LOCALBASE clean (Was: Package installation location) In-Reply-To: <20001210133415.A82246@dragon.nuxi.com> References: <20001210125026.A27718@drama.navipath.com> <20001210132152.B27718@drama.navipath.com> <14899.54065.737498.114689@guru.mired.org> <20001210141851.C39643@vger.bsdhome.com> <14899.56471.793516.237193@guru.mired.org> <20001210114736.G80274@dragon.nuxi.com> <14899.58688.221761.200245@guru.mired.org> <20001210133415.A82246@dragon.nuxi.com> X-Mailer: VM 6.75 under 21.1 (patch 10) "Capitol Reef" XEmacs Lucid X-face: "5Mnwy%?j>IIV\)A=):rjWL~NB2aH[}Yq8Z=u~vJ`"(,&SiLvbbz2W`;h9L,Yg`+vb1>RG% *h+%X^n0EZd>TM8_IB;a8F?(Fb"lw'IgCoyM.[Lg#r\ Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG David O'Brien types: > On Sun, Dec 10, 2000 at 02:19:12PM -0600, Mike Meyer wrote: > > > > I intend "LOCALBASE clean" to mean "all files installed by other ports > > > > are looked for in the LOCALBASE tree". > > > If all ports are PREFIX clean, you will have that. Thus it doens't need > > > to be discussed separately. > > Using the two definitions above, the first sentence is false. > How is it false? As described below. > > In particular, assume that the port APort depends on BPort in some > > way, and is PREFIX clean. > Which is PREFIX clean? Aport or Bport? (it is often good to not use > pronouns in technical disucssions...) Actually, dangling pronouns are bad in any discussion, and that was one. Both are PREFIX clean. > > That means that everything in APort is installed in PREFIX, and all > > APorts references to things in APort look for them there. > Which is correct if Aport is PREFIX-clean. By definition, yes. > > Neither of those statements precludes APort from looking for things > > that are part of BPort directly in /usr/local instead of in > > LOCALBASE. > Yes it does if Aport is PREFIX-clean. s./usr/local.PREFIX.g and > would be a better way to say it, adding PREFIX != LOCALBASE. Take a second look at the definition of the "PREFIX clean" you agreed to before, and the conditions I stated above: all files installed in by APort are in PREFIX, and all references to things installed by APort use PREFIX. That doesn't say anything about how APort references things installed by other ports! Of course, your suggested change fixes some of those cases, but it's not correct for things installed by other ports according to my reading of bsd.port.mk. The port being built things in PREFIX; other ports installed things in LOCALBASE or X11BASE, as appopriate. So fixing references to things in other ports requires s./usr/local.LOCALBASE.g, hence "LOCALBASE clean" for things that fail to deal with that case. As a final note, neither fix corrects the cases where the /usr/local reference that makes things work when LOCALBASE and PREFIX are both /usr/local comes from outside of the ports tree completely.