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

Replies

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