Tom Wijsman <tom...@gentoo.org> wrote: > > and I quote "quite a few bugs are closed as invalid when a mixed system > is detected"
I think nobody is speaking against this possibility: If it causes too much grief to the maintainer to list all blockers explicitly, I think everybody can agree if he says that if it breaks you keep the pieces. However, it is a different thing to treat mixing generally like ricing and to introduce mechanisms which - as my example hopefully show - can be *expected* to break usability of a mixed systems: There are valid reasons to not have a testing system (besides the obvious desire for stability another one is too frequent updates), but there are also many valid reasons why you need some package(s) which pull in a lot of unstable dependencies. I think the "typical" use case even is a mixed system, since most systems will require some special applications (related to the main task this system is supposed to do; perhaps development of something which needs a lot of unstable packages) while on the other hand this does not mean that *everything* in the system should be testing and frequently updated. BTW, another reason for mixing which was not mentioned yet is users of multiple architectures (e.g. amd64 and x86) wanting to have the same versions installed (e.g. to use the same tarballs); although, as a rule, amd64 and x86 do not differ *much*, they usually always differ in a few packages since some team always stabilizes first. > Given that maintainers often test against test versions and that arch > teams often test against stable versions, nobody really tests the rests > of the situations [...] > > It's also very unrealistic to check every package for every bump Again, I think nobody expects that there never will be any trouble on a mixing system. But it is one thing whether this trouble occurs from time to time - when things are running badly - or whether the package manager uses a mechanism which can be expected to break on mixing system. > Which policy? It does not say anything about "supported" either. I > believe that its intention has always been to change it for some > packages, not for wide sets of them; the former doesn't cause much > problems, the latter is a recipe for disaster... With use.stable.mask you get problems even with one unstable package unless you verify manually that no useflag related to this package is in use.stable.mask And if it is, you are lost in the sense that you have to eliminate the provided use.stable.mask. So what has use.stable.mask achieved? It has forced to you to eliminate the mechanism and nothing else. >> We could consider reducing the feature set of portage and live >> with the "problems" that arise. When I started using Gentoo a >> package could simply not go stable until all dependencies for all >> USE flags were also stable. Masking USE flags was reserved to a >> short list of very special architecture depend special cases. >> >> [...] > > Doesn't that block stabilization too aggressively? Maybe, maybe not. It is exactly this social/political question which is attempted to be solved by technical means with use.stable.mask. This is what does not work: You cannot solve this question (whether to relax this policy; are there any exceptions valid and if yes which one) by a technical tool which forces a certain other decision onto the user. It is just shifting the problem and causes additional headache.