Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 07 Aug 2014 19:54:51 +0200
From:      Matthias Andree <matthias.andree@gmx.de>
To:        Baptiste Daroussin <bapt@FreeBSD.org>, Tijl Coosemans <tijl@FreeBSD.org>
Cc:        svn-ports-head@freebsd.org, Vsevolod Stakhov <vsevolod@FreeBSD.org>, svn-ports-all@freebsd.org, ports-committers@freebsd.org
Subject:   Re: svn commit: r364287 - head/ports-mgmt/pkg-devel
Message-ID:  <53E3BD6B.8040902@gmx.de>
In-Reply-To: <20140807172507.GW17537@ivaldir.etoilebsd.net>
References:  <53e39939.55bc.4ca5432c@svn.freebsd.org> <20140807172841.58633e63@kalimero.tijl.coosemans.org> <53E3A468.5050603@FreeBSD.org> <53E3AC0C.5020904@gmx.de> <53E3AD09.2050000@FreeBSD.org> <20140807185753.0a5c577f@kalimero.tijl.coosemans.org> <20140807172507.GW17537@ivaldir.etoilebsd.net>

next in thread | previous in thread | raw e-mail | index | archive | help
Am 07.08.2014 um 19:25 schrieb Baptiste Daroussin:

>> Matthias is talking about the SONAME Elf field.  For libxml2.so.2.9.1
>> it gives:
>>
>> % objdump -p /usr/local/lib/libxml2.so.2.9.1  | grep SONAME
>>   SONAME      libxml2.so.2
>>
>> This is what is recorded in the NEEDED field of programs/libraries
>> that depend on libxml2 and can be used for shared lib provides.
>>
> 
> That is exactly what we do use.
> 
> The problem is things like i386-wine are providing libxml2 as well which SONAME
> is also libxml2.so.2 how do we differentiate both ?

I don't fully oversee how it the i386-wine port works, and am not eager
to get acquainted with it, but let's pretend it "just works" for the
sake of the argument, and that reading its pkg-plist suffices.
Feel free to fill me in on additional details.

i386-wine is not providing a *system-wide* libxml2.so.2, because it's
not in the regular library search path. Meaning that i386-wine will not
be able to satisfy a regular LIB_DEPENDS of my random amd64 port.

So you cannot list i386-wine's private libxml2.so.2 as a global
"provides".   Easy identification is to prefix the path relative to
$PREFIX to the SONAME if the SONAME is from a file not in the default
library search path.  This hinges on the assumption that the path+SONAME
is unique.

You could record that as lib32/libxml2.so.2, libxml2.so.2:prefix=lib32,
or thereabouts.  The scheme should be unique and extensible.





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