Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 8 Aug 2014 12:23:30 +0200
From:      Tijl Coosemans <tijl@FreeBSD.org>
To:        Baptiste Daroussin <bapt@FreeBSD.org>
Cc:        svn-ports-head@freebsd.org, Vsevolod Stakhov <vsevolod@FreeBSD.org>, svn-ports-all@freebsd.org, Matthias Andree <matthias.andree@gmx.de>, ports-committers@freebsd.org
Subject:   Re: svn commit: r364287 - head/ports-mgmt/pkg-devel
Message-ID:  <20140808122330.71b3d87a@kalimero.tijl.coosemans.org>
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
On Thu, 7 Aug 2014 19:25:07 +0200 Baptiste Daroussin wrote:
> On Thu, Aug 07, 2014 at 06:57:53PM +0200, Tijl Coosemans wrote:
>> On Thu, 07 Aug 2014 17:44:57 +0100 Vsevolod Stakhov wrote:
>>> On 07/08/14 17:40, Matthias Andree wrote:
>>>> Am 07.08.2014 um 18:08 schrieb Vsevolod Stakhov:
>>>>> Due to mainly [2] there are a lot of broken deps, for example, libxml2
>>>>> provides libxml2.so.2.12, whilst all dependant ports requires
>>>>> libxml2.so.2. Consequently, some weird packages, such as wine-i386-devel
>>>>> are installed, since it pretends to provide libxml2.so.2 and due to [3]
>>>>> and [1] wine is treated as a provide candidate.
>>>> 
>>>> The library's SONAME should be the canonical name because that gets
>>>> recorded in another library's or executable's NEEDED tag, and pkg might
>>>> be able to check at package creation, and again before install, if a
>>>> file installing a library also installs a file that matches the SONAME.
>>> 
>>> That is how it works for shared lib requires. But that is not how it
>>> works for shared lib provides. And this ambiguity is the source of [3].
>> 
>> 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 ?

Maybe you can first build up the dependency tree and then try to satisfy
requirements?  You can prioritize packages from the dependency tree then
because you need to install those anyway.  If a package requires
libxml2.so.2 then somewhere in the dependency tree there'll be libxml2
or i386-wine (or both but then you don't have to make choice).



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