1 |
>>>>> On Thu, 26 Jun 2014, David Leverton wrote: |
2 |
|
3 |
> If, for example, we make subversion an IUSE_RUNTIME flag of git, and |
4 |
> some other package depends on dev-vcs/git[-subversion], and the user |
5 |
> has the subversion flag disabled for git but happens to have |
6 |
> subversion installed anyway, should the dependency be considered |
7 |
> satisfied (in which case it's fairly pointless)? Or does it |
8 |
> magically get treated like a blocker on dev-vcs/subversion? |
9 |
|
10 |
It should be treated like a regular USE flag for dependency |
11 |
resolution. So in your example, the dependency would be satisfied. |
12 |
|
13 |
More interesting example: Some other package could depend on |
14 |
dev-vcs/git[-perl]. "perl" is a regular USE flag in git, but is has |
15 |
"subversion? ( perl )" in REQUIRED_USE. Therefore dev-vcs/git[-perl] |
16 |
is effectively equivalent to dev-vcs/git[-perl,-subversion]. However, |
17 |
the restrictions in current GLEP 62 don't cover this case. |
18 |
|
19 |
> (I realise that git-svn has more deps than just subversion itself, |
20 |
> but it's just an example. :-P) |
21 |
|
22 |
> Similar logic would suggest that "!flag ( ... )" in the package's |
23 |
> own dependencies should also be disallowed. |
24 |
|
25 |
Your arguments are valid, but they apply to regular USE flags, too. |
26 |
So I fail to see why we would need special treatment for runtime |
27 |
switchable flags here. |
28 |
|
29 |
If necessary, we can always impose additional restrictions by tree |
30 |
policy (as we do for "noblah" flags, for example), but I'd rather not |
31 |
restrict what the package manager can do. Especially, if we can simply |
32 |
go with normal USE flag logic in one case, but need special casing for |
33 |
runtime flags in the other case. |
34 |
|
35 |
Ulrich |