Gentoo Archives: gentoo-dev

From: Ciaran McCreesh <ciaran.mccreesh@××××××××××.com>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Pre-GLEP RFC: Automated enforcing of REQUIRED_USE constraints
Date: Sat, 08 Jul 2017 14:23:50
Message-Id: 20170708152339.20855226@snowblower
In Reply to: Re: [gentoo-dev] Pre-GLEP RFC: Automated enforcing of REQUIRED_USE constraints by Alexis Ballier
1 On Sat, 8 Jul 2017 16:14:09 +0200
2 Alexis Ballier <aballier@g.o> wrote:
3 > On Sat, 8 Jul 2017 13:01:39 +0100
4 > Ciaran McCreesh <ciaran.mccreesh@××××××××××.com> wrote:
5 > > On Sat, 8 Jul 2017 13:49:56 +0200
6 > > Alexis Ballier <aballier@g.o> wrote:
7 > > > On Sat, 8 Jul 2017 12:26:59 +0200
8 > > > Ulrich Mueller <ulm@g.o> wrote:
9 > > > > | * An any-of group (||) evaluates to true if at least one of
10 > > > > the | items in it evaluates to true.
11 > > > > | * An exactly-one-of group (^^) evaluates to true if exactly
12 > > > > one of | the items in it evaluates to true, and all the
13 > > > > remaining items | evaluate to false.
14 > > > > | * An at-most-one-of group (??) evaluates to true if at most
15 > > > > one of | the items in it evaluates to true.
16 > > > >
17 > > > > It should be added that any empty group (|| or ^^ or ??)
18 > > > > evalutates to true, because that's what PMS specifies:
19 > > > > https://projects.gentoo.org/pms/6/pms.html#x1-780008.2
20 > > >
21 > > > A bit OT, but that is *definitely* counter intuitive. What's the
22 > > > rationale and usecase behind this ?
23 > >
24 > > Annoying special cases like || ( foo? ( ... ) bar? ( ... ) ) . The
25 > > original reason was that old versions of Portage would simply remove
26 > > unmet "flag? ( )" blocks internally. It was kept in EAPI 0 because
27 > > stuff in the tree used it back then.
28 >
29 > Wasn't REQUIRED_USE something completely new with no prior usage in
30 > EAPI 3 ?
31
32 Yes, but the spec defines dependency-like structures and their meanings
33 once and consistently, rather than all over the place and
34 inconsistently.
35
36 As much as I hate the weird || ( use ? ( ) ) and empty block rules, it
37 would be worse to have them apply in some situations but not others.
38
39 --
40 Ciaran McCreesh

Replies