-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 Ciaran McCreesh: > On Thu, 20 Feb 2014 11:48:11 +0100 Ulrich Mueller <u...@gentoo.org> > wrote: >> We don't want users having to solve a Zebra Puzzle [1] (or, for >> the more theoretically inclined, a satisfiability problem [2]) to >> find an acceptable combination of their USE flags. > > Actually, REQUIRED_USE was introduced precisely to require users > to solve SAT without help... As you may recall, we *were* going to > use pkg_pretend for this sort of thing to give the users a friendly > error message, but this was replaced at the last minute with > REQUIRED_USE to force package manglers to reduce the quality of > error message that's produced. > > So really we should just scrap REQUIRED_USE in EAPI 6, and migrate > any ebuilds currently using it to a sane alternative. >
One thing that bothers me most about gentoo is a discussion I had with a colleague who uses FreeBSD. It ended up like... gentoo is interesting, but wtf all those USE flags and no idea how to even get something to build without reading through forum threads, mailing lists, et c. ... and finally trying to get help on IRC. That guy is not new to linux. And he is right. Usability is not our strongest thing. That's why I pushed for a clear decision on this matter, because the whole thing is already confusing and weird enough for new users. The new python eclasses and multilib added to that complexity (but that will hopefully be gone when the transition is over, more or less). People who regularly hack and play with gentoo don't have any problem with those things and quickly get ideas about emerge conflicts based on experience... where a new user would never get to the root of the problem and just give up. But the question is... what sane alternative to REQUIRED_USE? That will also have impact on a lot of eclasses. Also... I find mgornys idea not too bad, meaning USE flag naming should be feature oriented and not implementation oriented. That is definitely an issue QA has to comment on. But I really feel we will get some hate from people who try to avoid certain implementations for one or another reason. And there can be valid reasons. So those people will have to use alternatives like package.mask. Another problem I see is that e.g. "gui" could be a bit too generic. If some dev uses it for an ncurses gui in his ebuild... then we have successfully screwed up easy setup of X-less servers, because "-gui" will also kill all non-X guis. Anyway... what we can do to improve the overall situation while discussing this: use proper local USE flag descriptions. "Add support for x11-libs/gtk+ (The GIMP Toolkit)" is totally useless in 95% of the cases. Still... a lot of ebuilds don't override that description. So I often end up actually unpacking the source tarball and reading the configure description. Fail. -----BEGIN PGP SIGNATURE----- iQEcBAEBCgAGBQJTBjBWAAoJEFpvPKfnPDWza6EIAIoctpgmuUN8m793AtkaLExI WvI85BzjxLZ/71w4wNC2Fgeqid4qvTMlopCnqfqSrXBJqXPwiuhsDMTh2DPQOuRU hm3DvZSbApCJnGXqwE3XeJSarQnmBZ+Ynbkv/keqLWsErG/6BxRxsK4a1DW36vhf MB60Ysb2bpI/vn+ihtbHUCC/Z5LzzY8CtvC4cqydoVfl4hPxbi+oZaaoBM8Ul9AJ no9Ql7lK6J5SRuLqs8vB5XAYdt+crm76fzg0kMpNm4zkNNMqOLDIUYy/tLXqibwl TnGvah9PeN9mxo72iURIhXbnIUeoabShr3ELKSgu22QZ1l7yG3WGhoGMGoOTqIU= =LaFD -----END PGP SIGNATURE-----