On Thu, Nov 13, 2014 at 10:07 AM, Michael Palimaka <kensing...@gentoo.org> wrote: > > Ditching implicit dependencies is an interesting idea but not practical. > Nobody wants to the laundry list, and there's little benefit in > maintaining a virtual/system clone of @system. >
Well, the idea would be to maintain the virtual INSTEAD of @system, or have @system just pull in the virtual and make some arch-specific additions. As far as benefits go, they include: 1. No need to have multiple ways of grouping packages. 2. You can more than one virtual, so that you could just pull in the super-lazy equivalent to @system, or maybe you just pull in POSIX+bash and C++ or something like that. 3. You can split up that virtual so that convenience packages like ssh aren't in the same virtual as widespread dependencies like bash/zlib/glibc/gcc/etc. There is no reason that you can't build openssh in parallel, but right now you can't because we lump it in with glibc. 4. You can choose when to use the virtual at all, versus explicitly naming all dependencies. For 99% of packages it would be the same. We could even have that dependency added automatically if something isn't done in the ebuild to disable it, which would make ebuilds work the same as they do now. However, for the packages that are actually in @system we could list explicit dependencies and then portage would actually be able to handle some things automatically. Also, by using virtuals that are the same across all archs, we have a bit more consistency. Policy-wise, though, the status quo isn't that bad. You never have to list dependencies that are in @system, full stop. You can list a dependency that is in @system anytime you want to, full stop. That is, it is never right or wrong to list an unversioned dependency that is in @system. Sometimes doing one or the other is advantageous (such as when you have a versioned dependency, or a virtual is in @system but you need a specific implementation, or you want to use a slot-op dep). I'm fine with examples, but they shouldn't be firm rules, just helpful guidelines. -- Rich