On Wed, Oct 26, 2016 at 10:54 PM, Walter Dnes <waltd...@waltdnes.org> wrote: > On Thu, Oct 27, 2016 at 01:10:10AM +0000, Peter Stuge wrote >> waltd...@waltdnes.org wrote: >> > For a build-from-source distro like Gentoo, gcc and associated >> > tools are a vital part of the distro. >> >> A stage4 created (and updated) on a catalyst build farm doesn't need >> to have gcc, but may still need libstdc++. > > That just moves the requirement for gcc+tools to the catalyst build > farm. OK, let's get specific... a *STANDALONE* Gentoo machine requires > gcc+tools.
This is why I think "@system" oversimplifies all of this. IMO we should just specify all dependencies for everything (and those could include some virtuals for convenience, like the C toolchain), and then have different sets or virtuals for convenience. By all means give a user with a default install that sticks virtual/common-packages or something in their @world. Nobody is arguing that the typical Gentoo user doesn't want gcc, or that we should force people to explicitly install it. Fixing the dependencies means that system packages can take advantage of parallel builds, which means faster updates for everybody. We can still have sets for bootstraping (and I suspect that having more virtuals or sets would allow stage1/2 definition to be simplified). It is a bit like license groups. We give everybody a default set of license groups that generally makes sense. But, if you want you can easily edit your make.conf to exclude anything that is copyleft from your system. The main downside to this is it is a bit more of a hassle for developers to maintain the dependency lists, since invariably you end up with a lot of mundane stuff in there. And of course it is a lot of change to implement, though it could be done gradually. And of course the upside for the typcal user is somewhat limited, since most people aren't dying to uninstall openssh or gcc. -- Rich