Gentoo Archives: gentoo-dev

From: Samuli Suominen <ssuominen@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:05:50
Message-Id: 52FAAC71.5070103@gentoo.org
In Reply to: [gentoo-dev] RFC: GTK USE flag situation (gtk, gtk2, gtk3; relevant to bug #420493) by Alex Alexander
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.

Replies