| Summary: | sys-fs/udev-146-r1 ebuild complains about an options it adds itself !!! | ||
|---|---|---|---|
| Product: | Gentoo Linux | Reporter: | DEMAINE Benoît-Pierre, aka DoubleHP <dhp_gentoo> |
| Component: | New packages | Assignee: | udev maintainers <udev-bugs> |
| Status: | RESOLVED FIXED | ||
| Severity: | trivial | ||
| Priority: | High | ||
| Version: | 10.0 | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Package list: | Runtime testing required: | --- | |
|
Description
DEMAINE Benoît-Pierre, aka DoubleHP
2010-01-15 21:54:17 UTC
Your complaint is rather interesting because this is a common approach that is being done. Consider: -Ebuild does something by default (no USE flag) -Joe developer wants to remove this default in 6 months (arbitrary time) but he can't because it will break users systems if they rely on it. -Joe then sets +breaking_flag in the ebuild and adds an ewarn -After X time_units, Joe turns breaking_flag into an optional flag (not enabled by default) -Later, the flag is removed completely. I said it is a common approach because it allows developers to transition users away from it. I would say that udev is in its "first stage" of removing the 'devfs-compat' flag/rules. Sorry, another thing. Maybe the wording could be better. - * You have devfs-compat use flag enabled. + * The devfs-compat USE flag is enabled by default. If this affects you, please transition...<blah blah> I agree with you there, if that is the basics of your complaint. I have read your message very fast. As i think it: then, the ebuild should TRY to detect if the user did set the flag. Because, if he did not, then why warn him ? it may be difficult, because as IUSE set it, ebuild may not be able to determine what woud the USE set look like outside the ebuild ^^ portage limitation. Otherwise, the message could tell about this ambiguity: "the ebuild set this flag anyway, so, if you did not set it in your make.conf, ignore this". cat /etc/make.conf | grep flag, is not enought. It could be set in /etc/portage ... so, a grep /etc/ should help (assuming user does not use more complex configuration, laymans, portage trees, imports ... ) Fact is: i did not set this flag, so, why does the ebuild bother me ? yes, the flag is set, and yes it iwll be removed; but it's not my fault, and if i wanted to remove the flag, i could not !!! so, why inform me about sth i can't alter ? IF message has to stay in, please, phrase it a different way. I will read more carefully later. (In reply to comment #3) > Fact is: i did not set this flag, so, why does the ebuild bother me ? yes, the > flag is set, and yes it iwll be removed; but it's not my fault, and if i wanted > to remove the flag, i could not !!! so, why inform me about sth i can't alter ? I just wanted to correct you on this. Anything that *you* set (make.conf, /etc/portage/package.use, etc) takes precedence over anything that is "set" for you. You can read about this in 'man make.conf'; search for USE_ORDER Anyway, my personal opinion, is that this is way less of a deal than you are making it. So, I won't bother checking back on this bug, have a good day. I can see the message wording leading to confusion, in particular "You have devfs-compat use flag enabled" gives the impression that you purposefully enabled it. How about something like "The devfs-compat use flag is currently enabled (since you have not explicitly disabled it)." Changed wording, I hope this is fine now. Because of IUSE= ... your "if" will "always" succeed ... so, untill main removes +devfs-compat from the ebuild, every one will see the message anyway.
And after the message is removed, those, and only those who put it in make.conf will still see it.
Whereas my point was, in short: <<please don't bother those who did not manually add it>>.
The message will stay ambiguous for those who added the flag manually.
So, no, I am not really happy with your solution.
But, as it is a minor problem, i will not reopen this bug. Try to modify it again if you think you can find a better solution. I won't troll anymore on this matter.
The condition will be usefull only after removal of the flag.
If you really can not detect what the user did in /etc (or not), add this line:
>> if you did not set devfs-compat in make.conf or /etc/portage/package.use , then just ignore this warning.
If the flag can only be set at those places, then, maybe you could make the condition depend on make.conf|/etc/portage/package.use|/etc/portage/package.use/*
Good luck. I give up.
|