Gentoo Archives: gentoo-dev

From: Andrew Savchenko <bircoph@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] useflag policies
Date: Sun, 02 Aug 2015 18:21:16
Message-Id: 20150802212103.411d30740601e0cb1703d26f@gentoo.org
In Reply to: Re: [gentoo-dev] useflag policies by "Michał Górny"
1 On Sun, 2 Aug 2015 19:27:02 +0200 Michał Górny wrote:
2 > Long story short, this is USE=gtk once again. GNOME team had a
3 > policy that handled the case cleanly and QA outvoted it in favor of
4 > Qt-like policy. Then Qt team figured out their policy was unfriendly,
5 > and 'fixed' it with this ugly hack...
6 >
7 > As I see it, this is a major failure of using toolkit-version oriented
8 > flags rather than feature-oriented flags. Possibilities compared:
9 >
10 > USE='qt4 qt5' without ^^ is easy to set since it is free of REQUIRED_USE
11 > issues. However, it's ugly: USE='qt4 qt5' may now mean either both
12 > toolkits or one of them. In the latter case, we have two flag
13 > combinations (= two different binary packages) that mean the same.
14 > Additionally, USE='-qt4 -qt5' may mean both none of them or one of
15 > them. If the latter, yet another case of redundant binary package.
16 >
17 > USE='qt4 qt5' with ^^/?? is cleaner from user perspective and better
18 > for binary packages. However, it may mean that user will have to
19 > randomly adjust flags per-package. Which may end up sucking even more
20 > with new Qt versions being introduced and package.use being full of
21 > random '-qt4' and stuff.
22 >
23 > What would be really clean is USE='qt qt5' (or 'qt qt4'), alike GNOME
24 > team policy. USE=qt would mean 'any version of Qt, if optional', and
25 > qt4/qt5 would be used to switch between Qt4/Qt5. If Qt would be
26 > obligatory, no USE=qt would apply. If only one Qt version would be
27 > supported, no USE=qt4/qt5 would apply. Clean, sane and limited
28 > package.use cruft.
29
30 This is a clean solution for developers and maintainers, but not
31 for ordinary users — they will confused by "qt qt4 qt5": "what is
32 'qt', how is it different from 'qt4' and 'qt5'. What you are really
33 doing is implementing second-level USE flags, while they were
34 supposed to be linear.
35
36 > However, as you can see QA has previously outvoted the clean policy for
37 > USE=gtk. I don't see why it would decide otherwise for USE=qt*.
38 >
39 > --
40 > Best regards,
41 > Michał Górny
42
43
44 Best regards,
45 Andrew Savchenko

Replies

Subject Author
Re: [gentoo-dev] useflag policies "Michał Górny" <mgorny@g.o>
Re: [gentoo-dev] useflag policies Rich Freeman <rich0@g.o>