Currently, unnecessary build time dependencies are considered in some dependency calculations. For example: 1) `emerge -uD world` will update build time dependencies of packages that are not going to be re-merged at the present time. 2) `emerge --depclean` requires that build time dependencies of installed packages be installed. The only time that these unnecessary build time dependencies are disregarded is during the install of binary packages. I propose that we change the default behavior so that unnecessary build time dependencies are disregarded whenever possible. However, this will have a side effects: 1) `emerge -uD world` will no longer pull in updates of unnecessary build time dependencies. 2) `emerge --depclean` will remove unnecessary build time dependencies that were previously kept. In order to solve the above two problems, we could add a new --include-bdepend option that causes unnecessary build time deps to be included at all times. This option would reverse the above two side effects so that users would get the old behavior. This new option could also be used to solve bug 132355.
In irc, jstubbs suggested a --with-bdeps=[y,n] option that defaults to 'y' for --depclean and 'n' for updates. That way the default --depclean behavior would remain the same and the --update behavior would be a little different (but not too much). This seems like a good solution to me. All we have to do is reimplement emerge's option parsing code...
Created attachment 97967 [details, diff] add a --without-bdeps option (for demonstration only) This patch implements --without-bdeps for demonstration purposes. I really want --with-bdeps=[y,n] as described in comment #1.
The --with-bdeps=[y,n] option is implemented in svn r4548. It defaults to "y" with --depclean and "n" for installation operations.
This has been released in 2.1.2_pre2.
*** Bug 66995 has been marked as a duplicate of this bug. ***