Gentoo Archives: gentoo-dev

From: Ian Stakenvicius <axs@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] [pre-GLEP] Optional runtime dependencies via runtime-switchable USE flags
Date: Tue, 25 Sep 2012 16:21:27
Message-Id: 5061D989.2080604@gentoo.org
In Reply to: Re: [gentoo-dev] [pre-GLEP] Optional runtime dependencies via runtime-switchable USE flags by Ciaran McCreesh
1 -----BEGIN PGP SIGNED MESSAGE-----
2 Hash: SHA256
3
4 On 25/09/12 12:00 PM, Ciaran McCreesh wrote:
5 > On Tue, 25 Sep 2012 12:43:00 -0300 Alexis Ballier
6 > <aballier@g.o> wrote:
7 >> Could you please elaborate on what kind of problems may arise ?
8 >> The proposal seems pretty simple and sane to me: PM only has to
9 >> switch the useflags that are IUSE_RUNTIME in his installed
10 >> packages db after installing the deps and without triggering a
11 >> rebuild of said package.
12 >
13 > a) How do we provide a good user interface for it? It took an awful
14 > lot of experimenting to get the exheres-0 suggestions user
15 > interface to be good, and it requires quite a bit more information
16 > from the package side than this proposal is providing. We want to
17 > avoid a REQUIRED_USE here...
18
19 Standard USE flag interface. This doesn't need anything special. Why
20 will a user care if the flag doesn't trigger a package rebuild?
21
22 >
23 > b) How is consistency checking to be done? Related, what happens
24 > when a runtime switch introduces a dependency that then requires a
25 > non-runtime rebuild of the original package?
26
27 flag needs to be dropped from IUSE_RUNTIME, so the rebuild would occur.
28
29
30 > c) How do we deal with flag? ( cat/dep[foo] ) or flag? (
31 > >=cat/dep-2.1 ) cases where cat/dep[-foo] or =cat/dep-2.0 is
32 > installed and flag is off? From experience, quite a few places
33 > where you'd want to use suggestions will break if their suggested
34 > package is installed but doesn't meet version or use requirements.
35
36 Use flag deps are dealt with identically to the way they are now. the
37 only difference , again, is that the package doesn't get re-emerged.
38 The VDB would still update imo as if the package did get re-emerged
39 (ie: USE and RDEPEND would update), to handle the use flag change
40 info in metadata but from what I can tell nothing else would need to
41 be touched.
42
43
44
45 >
46 > However, addressing these probably isn't enough, since this is
47 > just the things we had to think about for SDEPEND-style
48 > suggestions... There are likely to be things I've not thought of
49 > specific to this method that won't crop up until someone tries to
50 > deliver a decent implementation. This isn't a trivial feature.
51 >
52
53 ..it really is. It piggy backs entirely on the current USE
54 implementation, and only skips triggering rebuilds because the
55 files-on-disk for a package don't need to change.
56
57
58 Now, I do realize that the potential for abuse here is large, and it
59 will be up to dev's to ensure that these use flags (or groups of use
60 flag conditions) added to IUSE_RUNTIME will not result in any
61 files-changed-on-disk. However that to me doesn't seem to be a good
62 enough reason to exclude it from a future EAPI.
63
64 -----BEGIN PGP SIGNATURE-----
65 Version: GnuPG v2.0.19 (GNU/Linux)
66
67 iF4EAREIAAYFAlBh2YkACgkQ2ugaI38ACPCrzwD/YhavLfXOjjpivCDZ5gbRFI9V
68 /LBObF/haI2tMZ2CN4cA+wYBxFH1S2Az6zpSLLfAxWnDtPTe22wHb4nMUZ43uIV3
69 =r8ld
70 -----END PGP SIGNATURE-----

Replies

Subject Author
Re: [gentoo-dev] [pre-GLEP] Optional runtime dependencies via runtime-switchable USE flags Ciaran McCreesh <ciaran.mccreesh@××××××××××.com>