The manner by which portage/emerge requires the user to write USE-Flags required by other packages into the respective config-files contradicts the very point of portage of a package manager. It very much degrades Gentoo and Portage as a whole to a packaging system which is fancier (by configuration through USE-Flags) by design, but does that job poorly, as I will argue. Portage should be able -- and so by default -- to resolve the required changes in USE-Flags and apply them ''as needed'' to the tree. Example: "demanding-apps/software" requires "misc-libs/library improved", i.e. the "improved" USE-Flag on "library". Installing "software", portage should handle that requirement, given that it's resolvable and not clashing with another requirement, transparently and automatically (re-)install "library" with the "improved" USE-Flag set. The current requirement that the necessary USE-Flags must be written to package.use explicitly is comparable to a fictional requirement by which the user must add dependencies to the world-file manually. The whole point of a package manager is to manage dependencies. And that includes, for Gentoo and its USE-Flags - contrary to the current policy - the handling of the particulars (i.e. USE-Flags) aswell. Failing to do so is a principal design flaw and, beyond that, impractical for two reasons: * Redundancies in the configuration (e.g. "software" depends on "virtual/udev kmod" so the user will have to configure not only virtual/udev but also sys-fs/udev) * Manually added USE-Flags to satisfy dependencies must be manually tracked to ensure that once the USE-Flag is no longer required (and thus no longer desired) it's properly removed.
There are various related bugs which block bug 300071, like bug 258371. *** This bug has been marked as a duplicate of bug 458464 ***
*** This bug has been marked as a duplicate of bug 258371 ***