From: Alan McKinnon <alan.mckinnon@gmail.com>
To: gentoo-user@lists.gentoo.org
Subject: Re: [gentoo-user] Portage 2.2
Date: Wed, 24 Jul 2013 12:46:59 +0200 [thread overview]
Message-ID: <51EFB0A3.9070309@gmail.com> (raw)
In-Reply-To: <20130724111708.447eaa91@hactar.digimed.co.uk>
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
next prev parent reply other threads:[~2013-07-24 10:49 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-24 10:00 [gentoo-user] Portage 2.2 Pavel Volkov
2013-07-24 10:05 ` Alan McKinnon
2013-07-24 10:13 ` Yohan Pereira
2013-07-24 10:52 ` Pavel Volkov
2013-07-24 10:53 ` Alan McKinnon
2013-07-24 10:17 ` Neil Bothwick
2013-07-24 10:46 ` Alan McKinnon [this message]
2013-07-24 13:20 ` Neil Bothwick
2013-07-24 13:27 ` Alan McKinnon
2013-07-24 15:26 ` Michael Orlitzky
2013-07-24 20:06 ` Willie WY Wong
2013-07-24 20:15 ` gottlieb
2013-07-24 21:13 ` Alan McKinnon
2013-07-24 21:21 ` gottlieb
2013-07-24 21:24 ` Alan McKinnon
2013-07-24 12:06 ` [gentoo-user] " Nikos Chantziaras
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=51EFB0A3.9070309@gmail.com \
--to=alan.mckinnon@gmail.com \
--cc=gentoo-user@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox