1 |
Thanks for attaching link to team's policy which tries to lift any kind |
2 |
of ambiguities people may have for what concerns gnome team's packages, |
3 |
I hope it proved useful in your discussions. |
4 |
|
5 |
|
6 |
Le mercredi 12 février 2014 à 00:39 +0200, Alex Alexander a écrit : |
7 |
> Hello fellow developers, |
8 |
> |
9 |
> In the first meeting of the new QA team, we discussed the state of the |
10 |
> gtk{,2,3} USE flags in the main tree. [0] |
11 |
> |
12 |
> In its current state, USE="gtk" means gtk2. The Gnome team is trying to change |
13 |
> this into "the most recent gtk version" (it is a work in progress). |
14 |
|
15 |
Wrong, gtk USE flag means "enable gtk support", whether this is gtk 1, 2 |
16 |
or 3 depends on what the package (presumably library) supports and |
17 |
whether is can be slotted or not and whether current gentoo maintainer |
18 |
decides what can be reasonably supported. |
19 |
|
20 |
> Unfortunately, the concurrent nature of gtk2/gtk3 has resulted in packages that |
21 |
> may support either or both the toolkits. To handle this, a few developers have |
22 |
> introduced the "gtk3" useflag, that prefers gtk3 over gtk2 when both toolkit |
23 |
> versions are supported. At this point, the Gnome team highly recommends |
24 |
> prefering gtk3 if possible, skipping the useflag altogether. [1] |
25 |
|
26 |
Wrong, as is written in policy whether to prefer gtk2 or 3 is up to the |
27 |
maintainer of the package. We point people to the fact that upstream |
28 |
says gtk2 is a dead end and support will stop (if not in fact already |
29 |
stopped) in the near future. |
30 |
|
31 |
We also recommend to have maintainers support slots for their libs where |
32 |
possible considering man-power and to only choose one toolkit for |
33 |
applications considering where upstream development is going and |
34 |
maturity of the port, and again, this is up to package maintainers. |
35 |
|
36 |
> Some developers choose to follow the Gnome team's highlights, while others |
37 |
> choose to go their own way. The QA team would like to establish a guideline |
38 |
> that solves this problem in the best way possible. |
39 |
> |
40 |
> During our discussion, it was pointed out that keeping a generic USE="gtk" is |
41 |
> sub-optimal. The non-straightforward nature of new toolkit versions makes |
42 |
> transitioning from one to the other a slow, tedius process and we think that a |
43 |
> non-versioned USE flag makes things even worse. |
44 |
> |
45 |
> A few of our members recommended a move away from the unversioned USE="gtk" to |
46 |
> versioned-only USE flags. Qt managed to do this quite successfully when they |
47 |
> transitioned from the unversioned USE="qt" (that actually meant qt3) to |
48 |
> USE="qt4". The benefits can be seen now that qt5 is around the corner. |
49 |
> USE="qt5" is straightforward, does not mess with qt4 packages and was |
50 |
> introduced to the tree without messing with current packages too much - other |
51 |
> than adding a new use flag where appropriate. There is also no need for |
52 |
> USE="qt" anymore. |
53 |
> |
54 |
> To achieve this, version 3 of gtk should always be enabled by USE="gtk3". At |
55 |
> some point in the future, when gtk2 consumers reach zero, we will retire "gtk" |
56 |
> for good. Then, if some day gtk4 comes around, we will be able to introduce |
57 |
> support for it in the tree by simply adding USE="gtk4", without having to |
58 |
> re-structure half the tree. |
59 |
> |
60 |
> We are reaching out to the developer community to hear your thoughts and ideas |
61 |
> on the matter. We would like to reach a decision that could possibly affect and |
62 |
> direct the state of whole tree. This decision could then be turned into a |
63 |
> policy, improving Gentoo's consistency across the tree. |
64 |
|
65 |
Imho the whole discussion stems for packages maintainers which, as you |
66 |
have written, did not follow our recommendation and tried to provided |
67 |
application with both gtk2 and gtk3 support. |
68 |
|
69 |
I agree that "Gentoo is about choice..." however as a maintainer of a |
70 |
lot of packages, it is unreasonable to try to support two configuration |
71 |
where one is dying slowly due to upstream (gtk) maintainer focus being |
72 |
elsewhere, hence why we wanted maintainers to choose. Instead, it occurs |
73 |
that some decided not to choose or to stop users from annoying them with |
74 |
100 of duplicate bugs about not providing the alternative. |
75 |
|
76 |
Looking at the situation from a gnome team member perspective when Gnome |
77 |
3 was introduced to the tree, only three packages (providing libs) |
78 |
needed exception to the rule to avoid unreasonable maintenance overhead: |
79 |
spice, gtk-vnc and avahi. All of them had proper USE-dependencies in |
80 |
relevant ebuilds so no confusion would be possible. |
81 |
|
82 |
Right now, I don't really get the point of this discussion given all the |
83 |
precedent threads about this, be it 2 years ago and 8-10 years ago. |
84 |
|
85 |
Anyway, if QA would provide with a list of "offenders" (this could have |
86 |
been done on bugzilla btw), we could walk-through the list and verify |
87 |
what/if/how packages would need extra USE flags or not and not just for |
88 |
our self-written policy's sake that is. |
89 |
|
90 |
> Cheers |
91 |
> |
92 |
> [0] https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Meeting_Summaries#Summary_of_Wednesday_January_29.2C_2014 |
93 |
> [1] https://wiki.gentoo.org/wiki/Gnome_Team_Policies#gtk3 |
94 |
|
95 |
-- |
96 |
Gilles Dartiguelongue <eva@g.o> |
97 |
Gentoo |