| Summary: | games-misc/fortune-mod-slackware-1.15 : games-misc/fortune-mod-slackware-1.15 : * These fortunes have offensive content. Enable offensive USE Flag | ||
|---|---|---|---|
| Product: | Gentoo Linux | Reporter: | Toralf Förster <toralf> |
| Component: | Current packages | Assignee: | Gentoo Games <games> |
| Status: | RESOLVED OBSOLETE | ||
| Severity: | normal | CC: | pacho, qa |
| Priority: | Normal | ||
| Version: | unspecified | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Package list: | Runtime testing required: | --- | |
| Attachments: |
die.env
emerge-history.txt games-misc:fortune-mod-slackware-1.15:20160528-190313.log |
||
|
Description
Toralf Förster
2016-05-30 18:05:08 UTC
Created attachment 435748 [details]
die.env
Created attachment 435750 [details]
emerge-history.txt
Created attachment 435752 [details]
games-misc:fortune-mod-slackware-1.15:20160528-190313.log
You're missing the expected results part of the bug report. It looks to me like the ebuild is behaving as intended. (In reply to Mr. Bones. from comment #4) I'm unsure if I already asked this in the past but isn't there a way for the ebuild to simply depend on that USE flag then ? If you add games-misc/fortune-mod-slackware[offensive] to RDEPEND then you get:
USE=-offensive emerge --oneshot -vp games-misc/fortune-mod-slackware
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild N ] games-misc/fortune-mod-slackware-1.15::gentoo USE="offensive" 120 KiB
Total: 1 package (1 new), Size of downloads: 120 KiB
The following USE changes are necessary to proceed:
(see "package.use" in the portage(5) man page for more details)
# required by games-misc/fortune-mod-slackware (argument)
>=games-misc/fortune-mod-slackware-1.15 offensive
But there's no message telling why. I guess you could assume but the way the ebuild is now gives a message explaining why the use flag needs to be turned on which seems like a better user experience.
I do agree. portage should have a feature, that in case of a missing/wrong USE flag an ebuild function like "ehint()" should - if defined - be called. Maybe an idea for an improvement of portage. But the current ebuild hides the information about a mandatory USE flag dependency to portage. Therefore portage doesn't have a chance to calculate a correct dependency tree, right ? I think we're close to as good as we can get without a portage feature and frankly this is such an edge case that I'm not even sure it's worth it. "calculate a correct dependency tree" is great but it's either that or a more informative message for the user right now and I'd rather have a better message. I think using pkg_pretend is a bit of an improvement since it happens earlier but I'm not sure it makes that much practical difference. I don't think having this dieying by default is good at all. If you still want to keep "offensive" USE flag to warn people about this being "offensive" I would use.force enable it... anyway... I would simply remove the USE flag completely (and maybe warn about offensive content in the DESCRIPTION) and show a warning (In reply to Pacho Ramos from comment #9) > I don't think having this dieying by default is good at all. From a QA point of view it is fine if an ebuild dies in pkg_pretend or pkg_setup when there are unmet requirements. I'd suggest moving that test to pretend, so it will fail as early as possible. (In reply to Toralf Förster from comment #7) > But the current ebuild hides the information about a mandatory USE flag > dependency to portage. Therefore portage doesn't have a chance to calculate > a correct dependency tree, right ? Theoretically, one could also add REQUIRED_USE="offensive" to the ebuild, but it would lose the message that currently informs the user. Package removed. |