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. |