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>