1 |
Hello fellow developers, |
2 |
|
3 |
In the first meeting of the new QA team, we discussed the state of the |
4 |
gtk{,2,3} USE flags in the main tree. [0] |
5 |
|
6 |
In its current state, USE="gtk" means gtk2. The Gnome team is trying to change |
7 |
this into "the most recent gtk version" (it is a work in progress). |
8 |
|
9 |
Unfortunately, the concurrent nature of gtk2/gtk3 has resulted in packages that |
10 |
may support either or both the toolkits. To handle this, a few developers have |
11 |
introduced the "gtk3" useflag, that prefers gtk3 over gtk2 when both toolkit |
12 |
versions are supported. At this point, the Gnome team highly recommends |
13 |
prefering gtk3 if possible, skipping the useflag altogether. [1] |
14 |
|
15 |
Some developers choose to follow the Gnome team's highlights, while others |
16 |
choose to go their own way. The QA team would like to establish a guideline |
17 |
that solves this problem in the best way possible. |
18 |
|
19 |
During our discussion, it was pointed out that keeping a generic USE="gtk" is |
20 |
sub-optimal. The non-straightforward nature of new toolkit versions makes |
21 |
transitioning from one to the other a slow, tedius process and we think that a |
22 |
non-versioned USE flag makes things even worse. |
23 |
|
24 |
A few of our members recommended a move away from the unversioned USE="gtk" to |
25 |
versioned-only USE flags. Qt managed to do this quite successfully when they |
26 |
transitioned from the unversioned USE="qt" (that actually meant qt3) to |
27 |
USE="qt4". The benefits can be seen now that qt5 is around the corner. |
28 |
USE="qt5" is straightforward, does not mess with qt4 packages and was |
29 |
introduced to the tree without messing with current packages too much - other |
30 |
than adding a new use flag where appropriate. There is also no need for |
31 |
USE="qt" anymore. |
32 |
|
33 |
To achieve this, version 3 of gtk should always be enabled by USE="gtk3". At |
34 |
some point in the future, when gtk2 consumers reach zero, we will retire "gtk" |
35 |
for good. Then, if some day gtk4 comes around, we will be able to introduce |
36 |
support for it in the tree by simply adding USE="gtk4", without having to |
37 |
re-structure half the tree. |
38 |
|
39 |
We are reaching out to the developer community to hear your thoughts and ideas |
40 |
on the matter. We would like to reach a decision that could possibly affect and |
41 |
direct the state of whole tree. This decision could then be turned into a |
42 |
policy, improving Gentoo's consistency across the tree. |
43 |
|
44 |
Cheers |
45 |
|
46 |
[0] https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Meeting_Summaries#Summary_of_Wednesday_January_29.2C_2014 |
47 |
[1] https://wiki.gentoo.org/wiki/Gnome_Team_Policies#gtk3 |
48 |
-- |
49 |
Alex Alexander | wired@gentoo |