Gentoo Archives: gentoo-dev

From: Alexis Ballier <aballier@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] [RFC] Forced/automatic USE flag constraints (codename: ENFORCED_USE)
Date: Thu, 15 Jun 2017 16:55:59
Message-Id: 20170615185545.356d4492@gentoo.org
In Reply to: Re: [gentoo-dev] [RFC] Forced/automatic USE flag constraints (codename: ENFORCED_USE) by Ciaran McCreesh
1 On Thu, 15 Jun 2017 17:45:09 +0100
2 Ciaran McCreesh <ciaran.mccreesh@××××××××××.com> wrote:
3
4 > On Thu, 15 Jun 2017 18:37:16 +0200
5 > Alexis Ballier <aballier@g.o> wrote:
6 > > > So you're saying that at the end of this, there's an ENFORCED_USE
7 > > > solver that spits out some answer that may or may not be in any
8 > > > way a sane solution to the conflict.
9 > > >
10 > > > I don't see how that's helpful to a user.
11 > >
12 > > Define sane.
13 > > The definition of the solver is made to change the least possible of
14 > > the inputs and is completely and easily predictable by the person
15 > > writing the constraint. That is something I would call sane.
16 >
17 > The problem is not just writing a resolver that spits out a valid
18 > output. The problem is writing a resolver which will never go and
19 > uninstall bash as a result of unintended combinations of inputs (which
20 > Portage used to do, but there's now a special exception for system
21 > packages, so it will only occasionally unexpectedly uninstall critical
22 > packages that aren't explicitly in system due to virtuals instead).
23 > This is *hard*.
24
25 We're not talking about solving deps here.
26
27 > A bad suggestion to the user is worse than no suggestion at all.
28 > Unless you can safely determine that there aren't any unintended
29 > consequences of your rule, the focus needs to be on producing good
30 > error messages so the user can figure the problem out, not on
31 > producing bad solutions that will confuse things even more.
32
33 The guarantee comes from the fact that the output is always in the
34 space of all possible inputs from the user. So, if some output will
35 kill a kitten, so does some input.
36
37 Of course, implementation can decide to error out and propose a
38 solution, to continue but print big fat warnings, etc. I like the
39 initial proposal in that regard.
40
41
42 Alexis.

Replies

Subject Author
Re: [gentoo-dev] [RFC] Forced/automatic USE flag constraints (codename: ENFORCED_USE) Ciaran McCreesh <ciaran.mccreesh@××××××××××.com>