1 |
On Sun, 30 Aug 2009 19:06:02 +0200 |
2 |
Mounir Lamouri <volkmar@g.o> wrote: |
3 |
> So I think we should add a new feature in PMS already used in Exherbo |
4 |
> EAPI, USE flags requirements [1]. That means an ebuild should be able |
5 |
> to say a USE flag is available only if some other ones are in a |
6 |
> specific state. Let's take the mplayer example, if we have a line |
7 |
> like this: USE_REQUIREMENTS="encode? ( mp2 mp3 faac x264 xvid )", PM |
8 |
> should be able to show the user USE="mp3" will be ignored because he |
9 |
> didn't set USE="encode" and the PM will disable this USE flag by |
10 |
> himself. The same way, for ekiga: |
11 |
> USE_REQUIREMENTS="kde? ( kontact )", PM should be able to show the |
12 |
> user if he set USE="kontact", kde USE flag is enabled and the PM will |
13 |
> enable this USE flag by himself. |
14 |
|
15 |
Is the less expressive solution you're describing still useful enough |
16 |
to make it worthwhile? When we were doing this for Exherbo, we |
17 |
identified five types of inter-use-flag dependency: |
18 |
|
19 |
* if a then b |
20 |
* if a then not b |
21 |
* at least one of a b c, possibly only if d |
22 |
* exactly one of a b c, possibly only if d |
23 |
* at most one of a b c, possibly only if d |
24 |
|
25 |
Does Gentoo make use of all of these, and are there any cases that the |
26 |
above doesn't cover? How would you express each of the above using |
27 |
USE_REQUIREMENTS? |
28 |
|
29 |
From a package manager perspective, it's much easier to give good |
30 |
advice to the user if we're told by the ebuild exactly what's going on. |
31 |
|
32 |
-- |
33 |
Ciaran McCreesh |