Gentoo Archives: gentoo-dev

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

Replies

Subject Author
Re: [gentoo-dev] useflag policies Andrew Savchenko <bircoph@g.o>