From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id 3BF451381F3 for ; Wed, 24 Jul 2013 10:49:39 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 24106E0A61; Wed, 24 Jul 2013 10:49:32 +0000 (UTC) Received: from mail-bk0-f53.google.com (mail-bk0-f53.google.com [209.85.214.53]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id E8D3FE07F9 for ; Wed, 24 Jul 2013 10:49:30 +0000 (UTC) Received: by mail-bk0-f53.google.com with SMTP id e11so109042bkh.26 for ; Wed, 24 Jul 2013 03:49:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:subject:references :in-reply-to:content-type:content-transfer-encoding; bh=ec4wfAf0JSim/ZtlINXJ1yEWDO2KsV5QYqyt+aDYlts=; b=YtXXjmEt2QEz/7SF+KZeo0+46Ke/m3RXUsSbZnmRzDnSRxIsflX9selfSRE/7tUBKV HCagTglC8e46KHy4R6Rk1I00UzeqLwTqitmgZgL9h7m6X6z+QffjYA2x6vJc5W/nUmyq 15FYNH/rC6eVXFfgrGY8A9wWZRshJxVL6oID7iKP9fKbg07gnk9Sq2BdqtEtnkp0jZCV idHayG6GD65/rthreDrT9Nz5vzo04oBcFnrHoOXV9zAB1WP7vmLpYGExqpdlp7S+5/Be kuPbfw5KHVqqJS7r/fQwLiILOW39oWPlZ/opF7eKEMAsWhq/GxnWoDko8+ZNoS7thB4K x4Sg== X-Received: by 10.204.228.207 with SMTP id jf15mr5354629bkb.16.1374662969427; Wed, 24 Jul 2013 03:49:29 -0700 (PDT) Received: from [10.1.20.205] (dustpuppy.is.co.za. [196.14.169.11]) by mx.google.com with ESMTPSA id px7sm9440796bkb.9.2013.07.24.03.49.28 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Wed, 24 Jul 2013 03:49:28 -0700 (PDT) Message-ID: <51EFB0A3.9070309@gmail.com> Date: Wed, 24 Jul 2013 12:46:59 +0200 From: Alan McKinnon User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130709 Thunderbird/17.0.7 Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-user@lists.gentoo.org Reply-to: gentoo-user@lists.gentoo.org MIME-Version: 1.0 To: gentoo-user@lists.gentoo.org Subject: Re: [gentoo-user] Portage 2.2 References: <20130724111708.447eaa91@hactar.digimed.co.uk> In-Reply-To: <20130724111708.447eaa91@hactar.digimed.co.uk> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Archives-Salt: 52c071f6-25aa-450e-b45d-498b58ac0246 X-Archives-Hash: 8fbff9c1f11f73f11d669a6e31d353b2 On 24/07/2013 12:17, Neil Bothwick wrote: > On Wed, 24 Jul 2013 14:00:54 +0400, Pavel Volkov wrote: > >> It initially suported set arithmetic (you could writes expressions like >> "@set1+@set2/@set3"), I wonder why it was dropped :) > > What does that mean? set1 and one of set2 or set 3? Or both set1 and set2 > or set3 only? I'm not sure how this would be useful but I can certainly > see how it would cause confusion and problems, but I hadn't heard if it > before. > > It's standard mathematical set operators. In maths, a set is defined as "a collection of well-defined objects". Sets have no dupes. http://en.wikipedia.org/wiki/Set_%28mathematics%29 http://en.wikipedia.org/wiki/Set_theory Sets have several well-defined operations that can be done on them: union, intersection, difference plus a few others. @set1+@set2/@set3 reduces to: all the elements of set1 and set2 without the elements that are in set3 (/ is difference). As an example, assume portage ships two sets @kde and @kdedev: @kde kdeadmin-meta kdebase-meta kdemultimedia-meta kdepim-meta ... @kdedev kdewebdev-meta kdebindings-meta kdesdk-meta However, kmail sucks and akonadi sucks moar, so define for yourself @suckykde kdepim-meta And add to your world sets: @kde+@kdedev/@suckykde effectively giving you kde without kde-pim. Without operators, you have to copy-paste an existing set and maually remove the entriess you don't want. Useful, not so? Well, it all gets extremely murky very very quickly. Portage applies more than just mathematical sets, there's this concept of deps that are not part of set theory. What if something in set1 has a dep, and that dep is listed in set3 and must be removed. To resolve this, you must have precedence rules and must ignore something. You either ignore set3 and install anyway, or throw a blocker and say the item is required in set1. Either way there's no clean way to do it and lots of users are going to get annoyed. Not to mention the extra bug reports -- Alan McKinnon alan.mckinnon@gmail.com