On Thu, Jul 3, 2014 at 7:09 PM, Tom Wijsman <tom...@gentoo.org> wrote: > Did the Funtoo devs tell you that they don't run repoman because of the > explosive set of possible combinations that flavors & mix-ins introduce? > > Having it run over them should be easy; but having it run within a > reasonable time when scaling up is going to be quite painful, ...
I don't think we need to check all the combinations. To keep things manageable I think we'd want to define some structure around the profiles and what different kinds of profiles should and shouldn't do. If a profile just pulls in some packages and sets some application-oriented USE flags we shouldn't really need to worry about conflicts - if there are any users will either learn not to run them in combination or at least they won't end up with a completely cripped system if some non-core applications have issues. Messing with ABIs or system-wide configuration settings should be reserved for specific types of profiles which wouldn't be run in combinations unless carefully controlled. We should definitely avoid the mess of inheritance that leads to settings being toggled back and forth. Even if we still end up being stuck with a kernel/arch/subarch hierarchy we'll at least be able to ditch layering on things like kde/gnome further down and open the door to having more variety in our profiles at that level. Something like x32 coming along is fairly rare, even if it is really interesting (and this stuff is one of Gentoo's strong points, actually). There is probably a lot more interest in having more application-level mix-ins in the main tree, or especially in overlays. The reason we avoid them is that today they'd lead to 300 more profiles on top of what is already a big mess. If that part of the tree gets flattened there is no reason somebody could have a minimal profile that doesn't stick openssh in @system, or a bunch of server profiles for various use cases, or some profiles for clusters, config-managed boxes, etc. So, if we come up with a decent strategy, deciding what repoman does and doesn't have to worry about would be part of it. We obviously can't check all the combos, but that doesn't mean that we can't make sure that linux/x86/foo doesn't break. Rich