Date: Thu, 07 Aug 2014 18:26:48 +0100 From: Vsevolod Stakhov <vsevolod@FreeBSD.org> To: Matthias Andree <matthias.andree@gmx.de>, Tijl Coosemans <tijl@FreeBSD.org> Cc: svn-ports-head@freebsd.org, svn-ports-all@freebsd.org, ports-committers@freebsd.org Subject: Re: svn commit: r364287 - head/ports-mgmt/pkg-devel Message-ID: <53E3B6D8.9080101@FreeBSD.org> In-Reply-To: <53E3B3B5.9000104@gmx.de> 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> <53E3B3B5.9000104@gmx.de>
next in thread | previous in thread | raw e-mail | index | archive | help
On 07/08/14 18:13, Matthias Andree wrote: > Am 07.08.2014 um 18:44 schrieb Vsevolod Stakhov: > >> On 07/08/14 17:40, Matthias Andree wrote: >>> Am 07.08.2014 um 18:08 schrieb Vsevolod Stakhov: >>> > [skipped] > Please reconsider/revert that change, and instead snatch the embedded > ELF SONAME from all libraries and use that for shared object (= dynamic > library) requires/provides. Ok, I'll spend some more of my time to explain the problem. 1) We have the field called manifestdigest, that is intended to be unique per package. 2) We have packages with wrong provides (they could be generated by 1.2 or some of 1.3 versions) 3) Manifestdigest is not changed by shlib changes (there is a request but it requires to rebuild all digests from the scratch). 4) So for now, we have installed package with a wrong provide and a remote package with the same manifestdigest. 5) Remote package is not even considered by pkg as packages with the same digests are considered equal. 6) Pkg installs something from the remote repo that has the provide needed (e.g. wine-devel-i386). Hence, I *won't* revert this change until we fix other problems with shared libraries and digests calculation. I understand that it might be unclear, but currently shared library dependencies are used merely to fix ports that lack explicit dependencies. For example, if your port has something like LIB_DEPENDS= libblah.so.2:${PORTSDIR}/some/port then you would have *explicit* dependency and you won't be affected by my change. It merely prevents pkg from installing unnecessary shit for now. -- Vsevolod Stakhov
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?53E3B6D8.9080101>