1 |
On Sun, 2 Aug 2015 20:35:27 +0200 Michał Górny wrote: |
2 |
> Dnia 2015-08-02, o godz. 21:21:03 |
3 |
> Andrew Savchenko <bircoph@g.o> napisał(a): |
4 |
> |
5 |
> > On Sun, 2 Aug 2015 19:27:02 +0200 Michał Górny wrote: |
6 |
> > > Long story short, this is USE=gtk once again. GNOME team had a |
7 |
> > > policy that handled the case cleanly and QA outvoted it in favor of |
8 |
> > > Qt-like policy. Then Qt team figured out their policy was unfriendly, |
9 |
> > > and 'fixed' it with this ugly hack... |
10 |
> > > |
11 |
> > > As I see it, this is a major failure of using toolkit-version oriented |
12 |
> > > flags rather than feature-oriented flags. Possibilities compared: |
13 |
> > > |
14 |
> > > USE='qt4 qt5' without ^^ is easy to set since it is free of REQUIRED_USE |
15 |
> > > issues. However, it's ugly: USE='qt4 qt5' may now mean either both |
16 |
> > > toolkits or one of them. In the latter case, we have two flag |
17 |
> > > combinations (= two different binary packages) that mean the same. |
18 |
> > > Additionally, USE='-qt4 -qt5' may mean both none of them or one of |
19 |
> > > them. If the latter, yet another case of redundant binary package. |
20 |
> > > |
21 |
> > > USE='qt4 qt5' with ^^/?? is cleaner from user perspective and better |
22 |
> > > for binary packages. However, it may mean that user will have to |
23 |
> > > randomly adjust flags per-package. Which may end up sucking even more |
24 |
> > > with new Qt versions being introduced and package.use being full of |
25 |
> > > random '-qt4' and stuff. |
26 |
> > > |
27 |
> > > What would be really clean is USE='qt qt5' (or 'qt qt4'), alike GNOME |
28 |
> > > team policy. USE=qt would mean 'any version of Qt, if optional', and |
29 |
> > > qt4/qt5 would be used to switch between Qt4/Qt5. If Qt would be |
30 |
> > > obligatory, no USE=qt would apply. If only one Qt version would be |
31 |
> > > supported, no USE=qt4/qt5 would apply. Clean, sane and limited |
32 |
> > > package.use cruft. |
33 |
> > |
34 |
> > This is a clean solution for developers and maintainers, but not |
35 |
> > for ordinary users — they will confused by "qt qt4 qt5": "what is |
36 |
> > 'qt', how is it different from 'qt4' and 'qt5'. |
37 |
> |
38 |
> This can be easily fixed via USE flag descriptions. And unlike with |
39 |
> your solution, the descriptions can be globally consistent. |
40 |
> |
41 |
> > What you are really |
42 |
> > doing is implementing second-level USE flags, while they were |
43 |
> > supposed to be linear. |
44 |
> |
45 |
> Please support such claims with references. |
46 |
|
47 |
A reference from your previous e-mail: |
48 |
> > On Sun, 2 Aug 2015 19:27:02 +0200 Michał Górny wrote: |
49 |
[...] |
50 |
> > > What would be really clean is USE='qt qt5' (or 'qt qt4'), alike GNOME |
51 |
> > > team policy. USE=qt would mean 'any version of Qt, if optional', and |
52 |
> > > qt4/qt5 would be used to switch between Qt4/Qt5. If Qt would be |
53 |
> > > obligatory, no USE=qt would apply. If only one Qt version would be |
54 |
> > > supported, no USE=qt4/qt5 would apply. Clean, sane and limited |
55 |
> > > package.use cruft. |
56 |
|
57 |
You're proposing "qt" as a top level USE flag, while "qt4/qt5" will |
58 |
be in your opinion optional clarifying USE flags. This way we have |
59 |
second-level hierarchy. |
60 |
|
61 |
Best regards, |
62 |
Andrew Savchenko |