Gentoo Archives: gentoo-dev

From: Ian Stakenvicius <axs@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Re: useflag policies
Date: Wed, 12 Aug 2015 18:16:16
Message-Id: 55CB8D68.7000608@gentoo.org
In Reply to: Re: [gentoo-dev] Re: useflag policies by Ciaran McCreesh
1 -----BEGIN PGP SIGNED MESSAGE-----
2 Hash: SHA256
3
4 On 12/08/15 01:50 PM, Ciaran McCreesh wrote:
5 > On Wed, 12 Aug 2015 19:43:55 +0200 Ulrich Mueller
6 > <ulm@g.o> wrote:
7 >>>>>>> On Wed, 12 Aug 2015, Ulrich Mueller wrote:
8 >>> Hm, how about adding a new PM command like "required_use foo
9 >>> -bar"? It would be used exclusively in pkg_pretend, and tell
10 >>> the PM to suggest the necessary package.use changes to the
11 >>> user (or even update them automatically with the appropriate
12 >>> --autounmask-* option).
13 >>
14 >> To clarify, I'm thinking about something like this:
15 >>
16 >> pkg_pretend() { if use qt4; then required_use -qt5 else
17 >> required_use qt5 fi }
18 >>
19 >> The advantage would be that any number of elog messages could
20 >> be added which would further explain things to the user.
21 >
22 > And how would the PM understand that -qt5 is conditional upon
23 > qt4? Such knowledge is required if it's supposed to auto-resolve
24 > stuff...
25 >
26
27 I don't think required_use could auto-resolve here, without some
28 other rather large changes to PMs -- for instance, the spec
29 pkg_pretend likely needs to be assured to be taken into account
30 before dependency resolution of that package somehow.
31
32 Also, the required_use function needs to be permitted to modify
33 effective-use and/or do whatever else it does, meaning that for what
34 I believe is the first time we will have function calls in ebuilds
35 modifying the precursors to dependency resolution dynamically rather
36 than it being deterministic based on state and pre-defined static
37 logic. (i hope that makes sense, unsure if i'm using anything even
38 close to the correct terminology)
39
40
41 -----BEGIN PGP SIGNATURE-----
42 Version: GnuPG v2
43
44 iF4EAREIAAYFAlXLjWcACgkQAJxUfCtlWe2eDwEAzIcJWKlyFVbKzRCWIYEzP+JX
45 DxdOOgnWd9IVfVdwAqQBAOQaJuXjPPpahfyq0qGQDjX6YKhGY2M2b/D/LjIV81HW
46 =oko+
47 -----END PGP SIGNATURE-----