cvs commit: ports/Mk bsd.port.mk bsd.port.subdir.mk bsd.xorg.mk

Alexander Leidinger Alexander at Leidinger.net
Wed Mar 12 10:48:59 UTC 2008


Quoting Pav Lucistnik <pav at FreeBSD.org> (from Wed, 12 Mar 2008  
11:15:53 +0100):

> Alexander Leidinger píše v st 12. 03. 2008 v 11:04 +0100:
>> Quoting Pav Lucistnik <pav at FreeBSD.org> (from Tue, 11 Mar 2008
>> 23:45:04 +0000 (UTC)):
>>
>> >   - Teach USE_LDCONFIG to do the right thing when used with   
>> USE_LINUX_PREFIX
>> >
>> >   PR:             ports/118212
>> > http://www.FreeBSD.org/cgi/query-pr.cgi?pr=118212
>> >   Original patch: vd
>> >   Patch by:       pav
>>
>> I would like to know why emulation@ was not in the loop for this.
>>
>> At
>> http://www.leidinger.net/FreeBSD/port-patches/Mk:bsd.port.mk.diff
>
> I wasn't aware of this patch. Is it mentioned in a PR assigned to
> portmgr anywhere?

No PR. I mentioned it once on emulation@ I think. But it's been a  
while. I would have expected that a linux related patch would be  
presented for review on emulation at .

> If I ignore not-ldconfig related changes in your patch, the
> functionality should be equivalent. I do not need to set
> NO_LDCONFIG_MTREE, because that code branch is never reached.

Good.

> My code goes like if (linux) { do linux stuff } else { do native stuff }
> Your code went like if (linux) { setup some variables } else { setup
> some variables} endif; do { common stuff }.

Yes (regarding the behavior of my patch).

> Only difference I see is that you condition the use of linux mdconfig by
> presence of USE_LINUX, I need USE_LINUX_PREFIX, which is more strict, I
> think.

It depends upon your point of view:
  - we have ports which use USE_LINUX but not USE_LINUX_PREFIX
  - every port (except the base ports) needs to use USE_LINUX
    (the base ports are very special, we use ldconfig by hand
    there anyway)
  - Ports which don't install into LINUXBASE have no business
    using USE_LDCONFIG (libs which need to be cached for
    the run-time linker need to go into LINUXBASE)

So it would be stricter in my point of view to use USE_LINUX. I can  
understand when you say, that it is stricter by using USE_LINUX_PREFIX  
(a different point of view).

The question is now, if USE_LINUX_PREFIX is sufficient. Do we have  
ports which install into LOCALBASE and LINUXBASE, and if yes, do they  
install libs into LINUXBASE? emulation@ does not own a port which  
installs into both, but emulation@ does not own all linux ports. The  
nvidia driver installs into both, but does it _need_ (which is !=  
"use") USE_LDCONFIG (I haven't checked)?

Every port which installs into both locations, needs to use USE_LINUX,  
but may not use USE_LINUX_PREFIX. So I would say it is at least  
failsave to make this dependent upon USE_LINUX. It may be beneficial  
to also check the argument for USE_LDCONFIG in the linux case. Only  
"yes" (or similar) makes sense here.

BTW: Thanks for working on this, it's on my TODO list for too long.

Bye,
Alexander.

-- 
Some people cause happiness wherever
they go; others, whenever they go.

http://www.Leidinger.net    Alexander @ Leidinger.net: PGP ID = B0063FE7
http://www.FreeBSD.org       netchild @ FreeBSD.org  : PGP ID = 72077137


More information about the cvs-all mailing list