Re: PREFIX clean vs. LOCALBASE clean (Was: Package installation location)

2000-12-10 Thread David O'Brien

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?
 
 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...)

 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.

 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.

 Doing so would make APort PREFIX clean while it was not LOCALBASE
 clean.

True.
 
-- 
-- David  ([EMAIL PROTECTED])
  GNU is Not Unix / Linux Is Not UniX


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: PREFIX clean vs. LOCALBASE clean (Was: Package installation location)

2000-12-10 Thread Mike Meyer

David O'Brien [EMAIL PROTECTED] 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.

mike


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message