From owner-freebsd-current@FreeBSD.ORG Mon Jul 16 13:44:06 2012 Return-Path: Delivered-To: current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D5A43106564A; Mon, 16 Jul 2012 13:44:05 +0000 (UTC) (envelope-from mezz.freebsd@gmail.com) Received: from mail-pb0-f54.google.com (mail-pb0-f54.google.com [209.85.160.54]) by mx1.freebsd.org (Postfix) with ESMTP id 8D34A8FC14; Mon, 16 Jul 2012 13:44:05 +0000 (UTC) Received: by pbbro2 with SMTP id ro2so10887369pbb.13 for ; Mon, 16 Jul 2012 06:44:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=BVgeYvye0l61VuPaFxK8YI6w1c1rAoKNehgFfAUTauY=; b=rauT8u2oh61Q5qOHJgt8Dn9A860AbhY9Emqewqq7tez2wZeGszYIs/GPaPfAt9s/p4 MzEueCAbWNf8xyQF622a58eu1zg2qyb8VOViEyweYJdTFU0RgfnvxMJjVNdXq6Y30NAo fbcUCHrLkdFA7wH1HoZ4yQFNtFd1ycZrWTNb26vOABamYaG2A1WiVFMQ7JUGxTrIrObT a8Fd7U5bUv00Xj5cHPWZ8uJtpfSJpPX1QeUoDY51eyaEyx2xuTuOEww3PbJUvXJQjAUn LIGp+zfd28jVZQ1yr1+Ym8SI+LPl03QJKzzoHCHXkBu8rMX2S1NZYerzUSRrTqXRpOA3 JGBQ== MIME-Version: 1.0 Received: by 10.68.136.229 with SMTP id qd5mr27228131pbb.2.1342446245135; Mon, 16 Jul 2012 06:44:05 -0700 (PDT) Received: by 10.68.51.201 with HTTP; Mon, 16 Jul 2012 06:44:05 -0700 (PDT) In-Reply-To: <5003C1C2.1010500@FreeBSD.org> References: <20120712100110.GA34228@ithaqua.etoilebsd.net> <20120716033240.GA52346@server.rulingia.com> <5003C1C2.1010500@FreeBSD.org> Date: Mon, 16 Jul 2012 08:44:05 -0500 Message-ID: From: Jeremy Messenger To: Matthew Seaman Content-Type: text/plain; charset=ISO-8859-1 Cc: ports@freebsd.org, Baptiste Daroussin , Peter Jeremy , current@freebsd.org Subject: Re: [HEADSUP & CFT] pkg 1.0rc1 and schedule X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Jul 2012 13:44:06 -0000 On Mon, Jul 16, 2012 at 2:24 AM, Matthew Seaman wrote: > On 16/07/2012 05:22, Jeremy Messenger wrote: >> It's one of reason why I do not agree to remove the shared library >> version from the LIB_DEPENDS, so that way in future someone can add >> support in the package to check on shared library version then prevent >> package to install because it's not ABI compatible. Unless someone >> prefer to do it in the different way than putting shared library >> version in the LIB_DEPENDS is good to me either. > > Two points here: > > Firstly LIB_DEPENDS is all about *building* packages. In that case, the > thing that matters is *API* compatibility, not ABI. Library APIs tend > to be much more stable than ABIs, meaning you can compile your code > against practically any version of a shared library. However, you won't > be able to run your compiled program against a shared library with a > different ABI. If the API does change incompatibly, then it is fine to > use constraints on the ABI version in a port, but doing this as a matter > of course is just being obstructive to people that may not want to > upgrade dependency shlibs just yet. > > Secondly, the ABI version of shared libraries has no effect on the > current dependency resolution mechanisms when installing packages > (either pkgng or the old pkg_tools). At the moment, the only thing that > is considered are package version numbers. I know. Hences for the 'in future someone can add support'. Cheers, Mezz > This is an area where we have plans for dramatic changes with pkgng. We > want to import a general solver mechanism so that a package can have a > list of generic requirements: > > File /usr/local/bin/foo exists and is executable > Shared library libfoo.so.3 is installed > Perl Module Foo::Bar > 1.23 is available > Package foo-0.99 has option BLURFL enabled > etc. etc. > > Packages will similarly have a list of facilities they provide. The job > of the solver will be to find a set of packages such that there is a > provider for every requirement constrained by the user requirement that > their required package set is installed. > > However, making this mechanism workable implies significant changes to > the ports -- introducing sub-packages in particular -- which are > basically incompatible with the existing pkg_tools. So we need to pkgng > 1.0 in place to be able to proceed with further changes. Also a generic > solver is in itself a substantial piece of code to introduce. Which is > why it hasn't happened yet. > > Cheers, > > Matthew > > -- > Dr Matthew J Seaman MA, D.Phil. > PGP: http://www.infracaninophile.co.uk/pgpkey -- mezz.freebsd@gmail.com - mezz@FreeBSD.org FreeBSD GNOME Team http://www.FreeBSD.org/gnome/ - gnome@FreeBSD.org