Summary: | portage ignores use flag changes | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Jarkko <jval> |
Component: | [OLD] Core system | Assignee: | Portage team <dev-portage> |
Status: | RESOLVED INVALID | ||
Severity: | normal | ||
Priority: | High | ||
Version: | unspecified | ||
Hardware: | x86 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Jarkko
2004-01-09 05:05:18 UTC
Want to tell us what you changed, might be some flags in make.defaults or autouse. As Marius said... They are implied/automatic use flags. It works how it's supposed to. -flag removes it. Empty is not "off". Yes, it was those automatic use flags which caused this behaviour. Although here's what happened: - I enabled some flags that were not very good for my system. - I removed the flags and build the system with the new ones. ("emerge -e world") --> The build failed because it tried to build with the old flags, not with the new ones. I think the autouse feature is good but not when building the whole system again. One would expect that "emerge --emptytree world" builds the system with the new settings, not with the old ones. well, like nick said, empty is not the samething as -flag you could always have done `emerge world -epv` and looked at the use flag leverage ... or changed all the flags you wanted to '-flag' Yes, I know this is something that "works like specified" but it's also something that works differently than what the user expects. The documentation says: An interesting side effect of how world update works can be exploited by users wishing to recompile all installed software on a system. Since world update will try to update all packages mentioned in the world file and their dependencies, the use of the argument --emptytree is a way of forcing the recompile of these packages and every dependency except for glibc. This can be useful for users wishing to change their compiler options or USE keyword settings and want these changes to be used by all the software they use without manually remerging every package. Simply populate the world file with all your commonly used applications and issue the following command: Code listing 3.11: Recompile all dependencies too # emerge --update world --emptytree It doesn't say "Hey, you must set every removed flag as -<foo> for this to work". Also, I don't want to leave the flags as -<foo> after recompiling because if the make.defaults sets them on after some upgrade, I'd like them to be set. This is not logical behaviour because user expects that the --emptytree option empties the automatic use flags too. The tree is not completely empty otherwise. |