On 12/02/14 00:39, Alex Alexander wrote:
> Hello fellow developers,
>
> In the first meeting of the new QA team, we discussed the state of the
> gtk{,2,3} USE flags in the main tree. [0]
>
> In its current state, USE="gtk" means gtk2. The Gnome team is trying to change
> this into "the most recent gtk version" (it is a work in progress).

No, it has always meant the latest version, it dates back to when gnome1
was still in tree

>
> Unfortunately, the concurrent nature of gtk2/gtk3 has resulted in packages 
> that
> may support either or both the toolkits. To handle this, a few developers have
> introduced the "gtk3" useflag, that prefers gtk3 over gtk2 when both toolkit
> versions are supported. At this point, the Gnome team highly recommends
> prefering gtk3 if possible, skipping the useflag altogether. [1]

USE="gtk3" is valid only for libraries when it's not easy to split/slot
as a temporary flag.
Applications should simply pick one, the latest one that works, since
anything else is
obviously redudant.

>
> Some developers choose to follow the Gnome team's highlights, while others
> choose to go their own way. The QA team would like to establish a guideline
> that solves this problem in the best way possible.

It's sad that people don't follow common sense (which happens to be the
GNOME highlights)
and that everything must be turned into a policy of somesort so people
get it.

>
> During our discussion, it was pointed out that keeping a generic USE="gtk" is
> sub-optimal. The non-straightforward nature of new toolkit versions makes
> transitioning from one to the other a slow, tedius process and we think that a
> non-versioned USE flag makes things even worse.

I don't understand how unversioned flag could make things worse when
it's as straightforward
it can get -- gtk3 is a version bump over gtk2, if application supports
gtk3, it's
the one that should be used. The temporary USE="gtk3" used in some
packages due to
difficulties of splitting/slotting the packages, goes away soon enough.
What's important that the disease doesn't spread across the tree, making
it's life unnecessarily longer.

>
> A few of our members recommended a move away from the unversioned USE="gtk" to
> versioned-only USE flags. Qt managed to do this quite successfully when they
> transitioned from the unversioned USE="qt" (that actually meant qt3) to
> USE="qt4". The benefits can be seen now that qt5 is around the corner.
> USE="qt5" is straightforward, does not mess with qt4 packages and was
> introduced to the tree without messing with current packages too much - other
> than adding a new use flag where appropriate. There is also no need for
> USE="qt" anymore.
>
> To achieve this, version 3 of gtk should always be enabled by USE="gtk3". At
> some point in the future, when gtk2 consumers reach zero, we will retire "gtk"
> for good. Then, if some day gtk4 comes around, we will be able to introduce
> support for it in the tree by simply adding USE="gtk4", without having to
> re-structure half the tree.
>
> We are reaching out to the developer community to hear your thoughts and ideas
> on the matter. We would like to reach a decision that could possibly affect 
> and
> direct the state of whole tree. This decision could then be turned into a
> policy, improving Gentoo's consistency across the tree.
>
> Cheers
>
> [0] 
> https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Meeting_Summaries#Summary_of_Wednesday_January_29.2C_2014
> [1] https://wiki.gentoo.org/wiki/Gnome_Team_Policies#gtk3

Just make the gnome gtk3 policy the guideline if you must. It's just
documenting common sense.

Reply via email to