On Sun, 2 Aug 2015 20:35:27 +0200 Michał Górny wrote: > Dnia 2015-08-02, o godz. 21:21:03 > Andrew Savchenko <birc...@gentoo.org> napisał(a): > > > On Sun, 2 Aug 2015 19:27:02 +0200 Michał Górny wrote: > > > Long story short, this is USE=gtk once again. GNOME team had a > > > policy that handled the case cleanly and QA outvoted it in favor of > > > Qt-like policy. Then Qt team figured out their policy was unfriendly, > > > and 'fixed' it with this ugly hack... > > > > > > As I see it, this is a major failure of using toolkit-version oriented > > > flags rather than feature-oriented flags. Possibilities compared: > > > > > > USE='qt4 qt5' without ^^ is easy to set since it is free of REQUIRED_USE > > > issues. However, it's ugly: USE='qt4 qt5' may now mean either both > > > toolkits or one of them. In the latter case, we have two flag > > > combinations (= two different binary packages) that mean the same. > > > Additionally, USE='-qt4 -qt5' may mean both none of them or one of > > > them. If the latter, yet another case of redundant binary package. > > > > > > USE='qt4 qt5' with ^^/?? is cleaner from user perspective and better > > > for binary packages. However, it may mean that user will have to > > > randomly adjust flags per-package. Which may end up sucking even more > > > with new Qt versions being introduced and package.use being full of > > > random '-qt4' and stuff. > > > > > > What would be really clean is USE='qt qt5' (or 'qt qt4'), alike GNOME > > > team policy. USE=qt would mean 'any version of Qt, if optional', and > > > qt4/qt5 would be used to switch between Qt4/Qt5. If Qt would be > > > obligatory, no USE=qt would apply. If only one Qt version would be > > > supported, no USE=qt4/qt5 would apply. Clean, sane and limited > > > package.use cruft. > > > > This is a clean solution for developers and maintainers, but not > > for ordinary users — they will confused by "qt qt4 qt5": "what is > > 'qt', how is it different from 'qt4' and 'qt5'. > > This can be easily fixed via USE flag descriptions. And unlike with > your solution, the descriptions can be globally consistent. > > > What you are really > > doing is implementing second-level USE flags, while they were > > supposed to be linear. > > Please support such claims with references.
A reference from your previous e-mail: > > On Sun, 2 Aug 2015 19:27:02 +0200 Michał Górny wrote: [...] > > > What would be really clean is USE='qt qt5' (or 'qt qt4'), alike GNOME > > > team policy. USE=qt would mean 'any version of Qt, if optional', and > > > qt4/qt5 would be used to switch between Qt4/Qt5. If Qt would be > > > obligatory, no USE=qt would apply. If only one Qt version would be > > > supported, no USE=qt4/qt5 would apply. Clean, sane and limited > > > package.use cruft. You're proposing "qt" as a top level USE flag, while "qt4/qt5" will be in your opinion optional clarifying USE flags. This way we have second-level hierarchy. Best regards, Andrew Savchenko
pgpynq0aIG62y.pgp
Description: PGP signature