Gentoo Archives: gentoo-dev

From: Duncan <1i5t5.duncan@×××.net>
To: gentoo-dev@l.g.o
Subject: [gentoo-dev] Re: [pre-GLEP] Optional runtime dependencies via runtime-switchable USE flags
Date: Wed, 26 Sep 2012 01:51:08
Message-Id: pan.2012.09.26.01.49.40@cox.net
In Reply to: Re: [gentoo-dev] [pre-GLEP] Optional runtime dependencies via runtime-switchable USE flags by Ciaran McCreesh
1 Ciaran McCreesh posted on Tue, 25 Sep 2012 17:30:19 +0100 as excerpted:
2
3 > On Tue, 25 Sep 2012 18:20:06 +0200 Michał Górny <mgorny@g.o>
4 > wrote:
5 >> Who is we? I believe REQUIRED_USE is one of the features which will be
6 >> available thanks to staying compatible with USE flags instead of
7 >> reinventing the wheel.
8
9 Umm... if I read the preceding posts correctly, you missed his intent
10 there. He's not saying it'll be unavailable to be used in the
11 implementation, he's saying we don't want to repeat the experience of the
12 "bumpy ride" (see below) that required use is, for the user, in a new
13 implementation.
14
15 > Yes, but the REQUIRED_USE wheel is square, and gives a *very* bumpy ride
16 > to users. It also isn't particularly easy for developers.
17
18 Umm... perhaps pentagonal, the physics of a square wheel... <shudder>.
19
20 But yes, as a user who has had to resolve REQUIRED_USE related problems a
21 number of times recently, a *very* bumpy ride for the user, it often is!
22 Definitely agreed there.
23
24 And also agreed with the implication, that we want to avoid a similarly
25 bumpy-ride implementation here.
26
27 (Implimentation-wise, IMO the problem with REQUIRED_USE is often how the
28 ebuild used the REQUIRED_USE, something I'm hopeful it'll improve over
29 time as devs get a bit more used to how REQUIRED_USE works and design
30 ebuild functionality around it, not triggering the double-uses where they
31 can be avoided without seriously impairing the choices exposed by USE
32 flags in the first place, and a better REQUIRED_USE implementation is
33 certainly a challenge, but it's equally certainly an extremely bumpy ride
34 for the user, as it is today.)
35
36 >> > b) How is consistency checking to be done? Related, what happens when
37 >> > a runtime switch introduces a dependency that then requires a
38 >> > non-runtime rebuild of the original package?
39 >>
40 >> Then the package is rebuilt. Where's the problem?
41 >
42 > The problem is in implementing that correctly... It's certainly doable,
43 > but it's not entirely trivial, depending upon how you're doing
44 > resolution.
45 >
46 >> Handling of REQUIRED_USE is not perfectly user friendly but it works.
47 >
48 > Like a square wheel, yes.
49
50 Pentagonal (or at least rounded corners on the square... tho of course
51 then there's patent issues!), but agreed.
52
53 --
54 Duncan - List replies preferred. No HTML msgs.
55 "Every nonfree program has a lord, a master --
56 and if you use the program, he is your master." Richard Stallman