From owner-svn-ports-head@FreeBSD.ORG Fri Aug 8 10:23:40 2014 Return-Path: Delivered-To: svn-ports-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id EB7F657C; Fri, 8 Aug 2014 10:23:40 +0000 (UTC) Received: from mailrelay002.isp.belgacom.be (mailrelay002.isp.belgacom.be [195.238.6.175]) by mx1.freebsd.org (Postfix) with ESMTP id E40892CEA; Fri, 8 Aug 2014 10:23:39 +0000 (UTC) X-Belgacom-Dynamic: yes X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AlkGAJ2k5FNbsLba/2dsb2JhbABagw2BH9ESgxsBgRQXd4QEAQU6HCMQCw4KCSUPKh4GiFkBxTEXj0wHhEsBBJwklHODWTs Received: from 218.182-176-91.adsl-dyn.isp.belgacom.be (HELO kalimero.tijl.coosemans.org) ([91.176.182.218]) by relay.skynet.be with ESMTP; 08 Aug 2014 12:23:31 +0200 Received: from kalimero.tijl.coosemans.org (kalimero.tijl.coosemans.org [127.0.0.1]) by kalimero.tijl.coosemans.org (8.14.9/8.14.9) with ESMTP id s78ANUH4002281; Fri, 8 Aug 2014 12:23:30 +0200 (CEST) (envelope-from tijl@FreeBSD.org) Date: Fri, 8 Aug 2014 12:23:30 +0200 From: Tijl Coosemans To: Baptiste Daroussin 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> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: svn-ports-head@freebsd.org, Vsevolod Stakhov , svn-ports-all@freebsd.org, Matthias Andree , ports-committers@freebsd.org X-BeenThere: svn-ports-head@freebsd.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: SVN commit messages for the ports tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 08 Aug 2014 10:23:41 -0000 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).