Gentoo Archives: gentoo-dev

From: Ian Stakenvicius <axs@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Addressing GLEP-62 itself
Date: Tue, 25 Sep 2012 18:48:55
Message-Id: 5061FC45.5020502@gentoo.org
In Reply to: [gentoo-dev] Addressing GLEP-62 itself by Ian Stakenvicius
1 -----BEGIN PGP SIGNED MESSAGE-----
2 Hash: SHA256
3
4 On 25/09/12 02:03 PM, Ian Stakenvicius wrote:
5 > Since hasufell brought it up, and as I believe he's going to ask
6 > Council to approve it before moving forward with this proposal
7 > towards including it in an EAPI, I wanted to clarify some of the
8 > points mentioned:
9 >
10 > --- Quote, GLEP-62 ---
11 >> Specifications, paragraph 3: The package manager should treat
12 >> flags listed in IUSE_RUNTIME as regular USE flags, except for the
13 >> following:
14 >
15 >> 1. enabling or disabling any of the flags must not involve
16 >> rebuilding the package,
17 >
18 >> 2. it should be possible for a package manager to change those
19 >> flags on a installed package without using the original ebuild,
20 >
21 >> 3. when queried on a installed package, the package manager must
22 >> consider a particular flag enabled only if its dependencies are
23 >> satisfied already,
24 >
25 >> 4. the flags may be listed in the visual output in a distinct way
26 >> to inform the user that they affect runtime dependencies only.
27 >
28 >
29 > #2 -- this would, if I'm understanding it properly, mean that the
30 > IUSE list and the IUSE_RUNTIME list in the 'original ebuild' (ie in
31 > vdb) would be ignored on an emerged package in favour of the
32 > ebuild(s) in the tree, right? I'm not so sure this is a good
33 > idea.
34 >
35 > IE, if IUSE and IUSE_RUNTIME have changed in the in-tree ebuild
36 > and one of those use flags that changed have been triggered or
37 > de-triggered I expect that the package should be rebuilt, to keep
38 > it consistent with current practices.
39 >
40 > IE2, shouldn't the original ebuild be what's used to trigger the
41 > skip-rebuild functionality, rather than the in-tree ebuild?
42 >
43 >
44 > #3 -- this seems to imply to me, that the state of a package's
45 > effective USE could be modified solely on the basis of a
46 > dependency existing or not and have nothing to do with what the
47 > flag was set to at emerge time. IE, *not* the state of USE in the
48 > vdb. I think this would also be a problem.
49 >
50 > In order to properly handle dependency resolution (which IMO we
51 > should do, because these are still USE flags) I think all use flag
52 > settings should still be honoured by the PM and related metadata in
53 > the vdb be updated for IUSE_RUNTIME flags identically to how it
54 > would be done if IUSE_RUNTIME wasn't set.
55 >
56 >
57 > Thoughts?
58 >
59
60
61 Based on the above I do expect the reference implementation would also
62 need to change. I expect, for instance, that the PM's
63 metadata-handling would need to occur as normal even though none of
64 the package's phase functions would run, that is, *DEPEND
65 (realistically RDEPEND as that should be the only one affected here,
66 maybe PDEPEND too) and USE/PKGUSE would get updated. Since portage
67 would not be re-emerging the package from the tree the original ebuild
68 would remain.
69
70 I expect, as a corollary to this, that a rebuild would be necessary if
71 (on-disk-IUSE_RUNTIME xor in-ebuild-IUSE_RUNTIME) was non-empty
72 (--newuse) or resulted in any flags that are in USE
73 (--reinstall=changed-use). IMO this would be necessary to ensure the
74 local ebuild copy and all related metadata for it gets updated in vdb.
75
76 -----BEGIN PGP SIGNATURE-----
77 Version: GnuPG v2.0.19 (GNU/Linux)
78
79 iF4EAREIAAYFAlBh/EUACgkQ2ugaI38ACPAFfAD/UsYVQg6ZkwlsaWIafuFr0sqC
80 7IuvqIgroxNWJ/5XRS8BAJ+5awXZanZftOmFWRmDUAxOvPc8+J073dAn78N0CPdB
81 =zKzg
82 -----END PGP SIGNATURE-----

Replies

Subject Author
Re: [gentoo-dev] Addressing GLEP-62 itself "Michał Górny" <mgorny@g.o>