From: Jason Stubbs <jstubbs@gentoo.org>
To: gentoo-dev@lists.gentoo.org
Subject: [gentoo-dev] Dirt: To shove under the rug or not shove under the rug? (aka another round of USE_EXPAND)
Date: Tue, 27 Sep 2005 18:23:25 +0900 [thread overview]
Message-ID: <200509271823.25788.jstubbs@gentoo.org> (raw)
Hello all,
To shove under the rug:
Bug 62001: Have portage QA checks consider USE_EXPAND
Bug 70648: QA warnings about USE_EXPAND-derived use variables
Bug 101998: Portage shouldn't warn on missing IUSE for USE_EXPAND
To not shove under the rug:
Bug 23826: Give more visibility to ebuilds variables (ALSA_CARDS, etc.)
Bug 65012: emerge should display USE_EXPAND flags when using --verbose and
--pretend (or --ask)
The above are only when searching for USE_EXPAND in the summary field.
So let's step back a bit and look at the purpose of the QA check first. What
it does is check whether an ebuild is utilizing a USE flag that it has not
declared. Why does this matter for QA? It means that users are not informed
of what options affect the package. It also means the same for portage, which
will become more and more important as time goes on.
Removing the QA check while the QA problem still exists is, in my mind, just
plain ludicrous. Removing the QA check once the QA problem is fixed doesn't
make much sense to me either. However, adjusting the check where necessary to
match the fix is reasonable.
So what needs to be done to fix it? Well, what is the purpose of USE_EXPAND?
Put simply, it is to allow the user to select one or more features of a
package from a list of choices. How is this different to USE flags? The
choices all pertain to one aspect of the package(s).
Beyond that is where we start to run into the gray murkiness that has been
created due to having no policy on USE_EXPAND.
1) What to do if nothing is set?
2) What to do if an invalid value is set?
a) install everything
b) install nothing
c) install some predefined default
d) install some default based on USE flags
e) die and tell the user to make a choice
3) How to ebuild behave regarding a USE_EXPAND variable?
a) install everything chosen that is valid
b) install only the first that is chosen that is valid
Of these, 1) and 2) absolutely must be whittled down to one standard.
Preferably, 3) should follow one standard as well. Not following one standard
will simply lead to users thinking, "but that's not what I wanted..!" It will
also lead portage to do needless recompiles due to the information available
being limited.
Next, storing the information of what choices are valid. If it can be
guaranteed that all packages supporting a variable (LINGUAS for example) have
exactly the same list of choices in all cases, storing the choice list in a
global file is acceptable. If not, each package absolutely must list what
choices are available for it. Not doing so means the flow may head into 2) in
the above list even when the user has set a valid choice for a different
package. Again, it's against the user's expectations.
Anybody not caring enough to fix this, please don't respond with "wah! work!?"
You've dug your own hole...
--
Jason Stubbs
--
gentoo-dev@gentoo.org mailing list
next reply other threads:[~2005-09-27 9:26 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-09-27 9:23 Jason Stubbs [this message]
2005-09-27 9:38 ` [gentoo-dev] Dirt: To shove under the rug or not shove under the rug? (aka another round of USE_EXPAND) Diego 'Flameeyes' Pettenò
2005-09-27 10:12 ` Jason Stubbs
2005-09-27 10:41 ` Diego 'Flameeyes' Pettenò
2005-09-27 12:51 ` Jason Stubbs
2005-09-27 13:44 ` Diego 'Flameeyes' Pettenò
2005-09-27 14:07 ` Kito
2005-09-27 16:27 ` Stephen Bennett
2005-09-27 16:48 ` Brian Harring
2005-09-27 14:25 ` Jason Stubbs
2005-09-27 15:40 ` [gentoo-dev] " Duncan
2005-09-27 12:38 ` [gentoo-dev] " Chris Gianelloni
2005-09-27 15:36 ` Donnie Berkholz
2005-09-27 10:54 ` Thomas de Grenier de Latour
2005-09-27 12:31 ` Jason Stubbs
2005-09-27 12:35 ` Chris Gianelloni
2005-09-27 13:07 ` Thomas de Grenier de Latour
2005-09-27 13:50 ` Chris Gianelloni
2005-09-27 14:20 ` Jason Stubbs
2005-09-27 15:35 ` Donnie Berkholz
2005-09-28 1:23 ` Jason Stubbs
2005-09-28 3:13 ` Jason Stubbs
2005-09-28 3:58 ` Jason Stubbs
2005-09-28 4:19 ` Donnie Berkholz
2005-09-28 4:45 ` Jason Stubbs
2005-09-28 6:23 ` Donnie Berkholz
2005-09-28 8:03 ` Jason Stubbs
2005-09-28 4:21 ` Jason Stubbs
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200509271823.25788.jstubbs@gentoo.org \
--to=jstubbs@gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox