Summary: | 'The following REQUIRED_USE flag constraints are unsatisfied:' is not specific enough | ||
---|---|---|---|
Product: | Portage Development | Reporter: | PatomaS <patomas> |
Component: | Core - Interface (emerge) | Assignee: | Portage team <dev-portage> |
Status: | CONFIRMED --- | ||
Severity: | normal | CC: | esigra, pacho, patomas |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 300071 |
Description
PatomaS
2012-06-16 10:40:10 UTC
Sorry for posting again, but while I was writing this, I realized that I made a mistake with my original asumption, I wrote: ' Doesn't tell anything useful to solve the problem, which seems to be that if you have one use flag, you can't have the other one also active. ' And it should be: Doesn't tell anything useful to solve the problem, which seems to be that if you have one use flag, you should have the other one also active. Bye The thing about REQUIRED_USE is that it's possible to write expressions that can't be easily explained in human language. So, the user really needs to be able to understand REQUIRED_USE expressions. Maybe we just need to have it refer to some documentation about REQUIRED_USE expressions? Also see bug 403207, which is about having emerge --autounmask generate REQUIRED_USE solutions automatically. Hi Well, considering what you mention, maybe a good option would be to set a page in the documentation area, or a page in the wiki (could be an orphan page so the only way to get there is from the error message and have it locked down so can't be spoiled), or something similar with possible solutions and causes for the message. I know that writing documentation could be ... not the most interesting part of developing, but it certainly helps a lot. Thanks for the work and for the answer. Bye I agree that maybe a wiki page explaining each REQUIRED_USE case and suggesting how to solve them would be useful and that link should be shown in the error. Also, looking to the message: The following REQUIRED_USE flag constraints are unsatisfied: at-most-one-of ( gstreamer ffmpeg ) That come from: def human_readable_required_use(required_use): return required_use.replace("^^", "exactly-one-of").replace("||", "any-of").replace("??", "at-most-one-of") in pym/portage/dep/__init__.py I was wondering if the message could be tweaked to end up being something like: REQUIRED_USE flag constraints are unsatisfied, you need to enable: at-most-one-of ( gstreamer ffmpeg ) USE flags Thanks After looking to the amount of different bug reports about hard to understand REQUIRED_USE outputs... I was wondering if maybe (for the next EAPI) having a "REQUIRED_USE_MESSAGE=" variable allowing maintainers to write a message to explain the error people will get and how to solve it would be the best option :/ What do you think? |