1 |
On 12/02/14 00:39, Alex Alexander wrote: |
2 |
> Hello fellow developers, |
3 |
> |
4 |
> In the first meeting of the new QA team, we discussed the state of the |
5 |
> gtk{,2,3} USE flags in the main tree. [0] |
6 |
> |
7 |
> In its current state, USE="gtk" means gtk2. The Gnome team is trying to change |
8 |
> this into "the most recent gtk version" (it is a work in progress). |
9 |
|
10 |
No, it has always meant the latest version, it dates back to when gnome1 |
11 |
was still in tree |
12 |
|
13 |
> |
14 |
> Unfortunately, the concurrent nature of gtk2/gtk3 has resulted in packages that |
15 |
> may support either or both the toolkits. To handle this, a few developers have |
16 |
> introduced the "gtk3" useflag, that prefers gtk3 over gtk2 when both toolkit |
17 |
> versions are supported. At this point, the Gnome team highly recommends |
18 |
> prefering gtk3 if possible, skipping the useflag altogether. [1] |
19 |
|
20 |
USE="gtk3" is valid only for libraries when it's not easy to split/slot |
21 |
as a temporary flag. |
22 |
Applications should simply pick one, the latest one that works, since |
23 |
anything else is |
24 |
obviously redudant. |
25 |
|
26 |
> |
27 |
> Some developers choose to follow the Gnome team's highlights, while others |
28 |
> choose to go their own way. The QA team would like to establish a guideline |
29 |
> that solves this problem in the best way possible. |
30 |
|
31 |
It's sad that people don't follow common sense (which happens to be the |
32 |
GNOME highlights) |
33 |
and that everything must be turned into a policy of somesort so people |
34 |
get it. |
35 |
|
36 |
> |
37 |
> During our discussion, it was pointed out that keeping a generic USE="gtk" is |
38 |
> sub-optimal. The non-straightforward nature of new toolkit versions makes |
39 |
> transitioning from one to the other a slow, tedius process and we think that a |
40 |
> non-versioned USE flag makes things even worse. |
41 |
|
42 |
I don't understand how unversioned flag could make things worse when |
43 |
it's as straightforward |
44 |
it can get -- gtk3 is a version bump over gtk2, if application supports |
45 |
gtk3, it's |
46 |
the one that should be used. The temporary USE="gtk3" used in some |
47 |
packages due to |
48 |
difficulties of splitting/slotting the packages, goes away soon enough. |
49 |
What's important that the disease doesn't spread across the tree, making |
50 |
it's life unnecessarily longer. |
51 |
|
52 |
> |
53 |
> A few of our members recommended a move away from the unversioned USE="gtk" to |
54 |
> versioned-only USE flags. Qt managed to do this quite successfully when they |
55 |
> transitioned from the unversioned USE="qt" (that actually meant qt3) to |
56 |
> USE="qt4". The benefits can be seen now that qt5 is around the corner. |
57 |
> USE="qt5" is straightforward, does not mess with qt4 packages and was |
58 |
> introduced to the tree without messing with current packages too much - other |
59 |
> than adding a new use flag where appropriate. There is also no need for |
60 |
> USE="qt" anymore. |
61 |
> |
62 |
> To achieve this, version 3 of gtk should always be enabled by USE="gtk3". At |
63 |
> some point in the future, when gtk2 consumers reach zero, we will retire "gtk" |
64 |
> for good. Then, if some day gtk4 comes around, we will be able to introduce |
65 |
> support for it in the tree by simply adding USE="gtk4", without having to |
66 |
> re-structure half the tree. |
67 |
> |
68 |
> We are reaching out to the developer community to hear your thoughts and ideas |
69 |
> on the matter. We would like to reach a decision that could possibly affect and |
70 |
> direct the state of whole tree. This decision could then be turned into a |
71 |
> policy, improving Gentoo's consistency across the tree. |
72 |
> |
73 |
> Cheers |
74 |
> |
75 |
> [0] https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Meeting_Summaries#Summary_of_Wednesday_January_29.2C_2014 |
76 |
> [1] https://wiki.gentoo.org/wiki/Gnome_Team_Policies#gtk3 |
77 |
|
78 |
Just make the gnome gtk3 policy the guideline if you must. It's just |
79 |
documenting common sense. |