Gentoo Archives: gentoo-dev

From: Gilles Dartiguelongue <eva@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] RFC: GTK USE flag situation (gtk, gtk2, gtk3; relevant to bug #420493)
Date: Tue, 11 Feb 2014 23:14:25
Message-Id: 1392160421.31609.2.camel@kanae
In Reply to: [gentoo-dev] RFC: GTK USE flag situation (gtk, gtk2, gtk3; relevant to bug #420493) by Alex Alexander
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

Attachments

File name MIME type
signature.asc application/pgp-signature

Replies