It happens that overtime, when you've enabled a use (U) as a dependency for packages (D) for another package (P) (which you want actually) and when you remove P, U in D must be considered orphan, since U was added only for P. These USE flags on packages D have to be manually determined and removed from package.use; if you don't overtime you'll have use flags enabled on D which you don't actually need. I propose an entry as such in package.use -- @<package name with version> This entry will be for package P, but will not apply to P itself, instead it'll automatically enable all use that P depends on. If this entry is removed and a --depclean is done, packages D will be rebuild with P removed. An enhanced behavior is, if package D is not installed, the entry @<package name with version> will have no affect except when emerging P itself or if it's pulled in as a dependency. The same concept can be used for keywords. Reproducible: Always
Side note, eix-test-obsolete determines what flags are no longer necessary. See also flaggie for managing flags.
this seems silly to me on the grounds that configuration management is the system administrator's job, and there are already tools to manage package configuration files, and it makes no sense to stuff those into portage.
In practice, isn't this pretty close to bug 258371? Why would you need to put anything in package.use if the package manager could automatically satisfy the USE dependencies of whatever packages are selected? *** This bug has been marked as a duplicate of bug 258371 ***