Gentoo Archives: gentoo-dev

From: Davide Pesavento <pesa@g.o>
To: gentoo-dev@l.g.o
Cc: Ben de Groot <yngwin@g.o>, qa@g.o
Subject: Re: [gentoo-dev] useflag policies
Date: Sun, 02 Aug 2015 19:36:29
Message-Id: CADfzvvbNHB4z68VsTOGyDS+t2q+yO9w2Vk2HZU03VYO1yKtO2Q@mail.gmail.com
In Reply to: Re: [gentoo-dev] useflag policies by "Michał Górny"
1 On Sun, Aug 2, 2015 at 10:27 AM, Michał Górny <mgorny@g.o> wrote:
2 > Dnia 2015-08-03, o godz. 00:34:51
3 > Ben de Groot <yngwin@g.o> napisał(a):
4 >
5 >> Recently some team members of the Qt project have adopted these ebuild
6 >> policies: https://wiki.gentoo.org/wiki/Project:Qt/Policies
7 >>
8 >> I have an issue with the policy adopted under "Requires one of two Qt
9 >> versions". In my opinion, in the case where a package offers a choice
10 >> between qt4 or qt5, we should express this in explicit useflags and a
11 >> REQUIRED_USE="^^ ( qt4 qt5 )". This offers the user the clearest choice.
12 >>
13 >> Other developers state that users are not interested in such implementation
14 >> details, or that forced choice through REQUIRED_USE is too much of a
15 >> hassle. This results in current ebuilds such as quassel to not make it
16 >> clear that qt4 is an option.
17 >>
18 >> This goes against the principle of least surprise, as well as against QA
19 >> recommendations. I would like to hear specifically from QA about how we
20 >> should proceed, but comments from the wider developer community are also
21 >> welcome.
22 >
23 > Long story short, this is USE=gtk once again. GNOME team had a
24 > policy that handled the case cleanly and QA outvoted it in favor of
25 > Qt-like policy. Then Qt team figured out their policy was unfriendly,
26 > and 'fixed' it with this ugly hack...
27
28 Except that it's not a "ugly hack", but it's in fact recommended by
29 the devmanual (ulm already quoted the relevant text). I'd agree that
30 it's not ideal either (but so far I haven't seen any ideal solution
31 being proposed).
32
33 > As I see it, this is a major failure of using toolkit-version oriented
34 > flags rather than feature-oriented flags. Possibilities compared:
35
36 I could agree with this. So, back to USE=gui? A USE_EXPAND maybe?
37
38 > What would be really clean is USE='qt qt5' (or 'qt qt4'), alike GNOME
39 > team policy. USE=qt would mean 'any version of Qt, if optional', and
40 > qt4/qt5 would be used to switch between Qt4/Qt5. If Qt would be
41 > obligatory, no USE=qt would apply. If only one Qt version would be
42 > supported, no USE=qt4/qt5 would apply. Clean, sane and limited
43 > package.use cruft.
44 >
45
46 I could agree in principle. However this would be a major tree-wide
47 change, and should happen as quickly as possible to avoid creating
48 even more confusion for users. Plus, who is willing to do all the
49 work? (hint: I'm not) ...so, I don't think this solution is practical.