Rich Freeman posted on Wed, 13 Nov 2013 08:37:51 -0500 as excerpted: > On Wed, Nov 13, 2013 at 8:25 AM, Thomas Kahle <to...@gentoo.org> wrote: >> On 11/13/2013 12:39 PM, Tom Wijsman wrote: >>> On Wed, 13 Nov 2013 10:28:02 +0000 (UTC) >>> Martin Vaeth <va...@mathematik.uni-wuerzburg.de> wrote: >>> >>>> Hello. >>>> >>>> The new "features" use.stable.mask and package.use.stable.mask have >>>> turned maintaining systems with mixed ARCH and ~ARCH keywords into a >>>> nightmare: >>> >>> They are considered unsupported by many; so, going down that path you >>> need to be acquainted with Portage enough to keep a consistent system. >> >> This argument has come up several times, but is it valid? > > Honestly, opinions vary on this one and I don't think it is a productive > path to go down. I also feel that being able to mix keywords is a big > benefit of using Gentoo. I'd rather focus on practical ways to make > this easier rather than whether it is desirable. > > That said, there are always going to be situations where mixing keywords > isn't practical. You're not going to run stable chromium against ~arch > v8, or mixed keywords between kdelibs and kwin, etc.
FWIW, I believe at least part of the confusion here is based on differing definitions of "supported". Mixing ~arch/arch keywords is "supported" in that gentoo makes it possible, and in the generic case, relatively easy. It's "unsupported" in that it's a not generally tested case: [TL;DR folks can skip this whole post from here. It's mostly philosophical rambling attempting to backup the above claim.] The all-~arch tree case is basic sanity tested by devs when the introduce the package with ~arch keywords, and further by the many users (including me) who run all ~arch systems and wouldn't have it any other way. So while there's a measure of risk in it, chances are others on ~arch are running into any problems at about the same time, and bugs will be reported and generally either fixed or a workaround (patch in a bug if not yet in tree, or a bug comment saying it works use flag X turned off, etc) will be available, within a relatively short period. The all arch-stable tree is tested as well, by the various arch devs and arch-testers before they stabilize a particular package with tests against an otherwise fully stable tree, and further by the various users running that. A mixed stable/~arch installation, however, is an undefined and mostly untested case, and by domain definition will remain so, simply because of the combinational explosion in the number of possible variants. (Note that an argument of "simpler" and mostly binary distros is that gentoo is /already/ that way, due to the combinational explosion of all the various USE flag possibilities -- already that's beyond testing every combination possible, but gentooers learn to live with and accept that level of risk and the possibility that they may have to change a USE flag to get something to work because that combination wasn't tested and breaks, from time to time. But the combinational possibilities are at least within reason there, all the combinational possibilities of stable with unstable is and will remain unsupportable in practice if not in name, at least if "supportable" is defined with any strictness at all.) Thus, by defintion of the mixed stable/~arch domain, it's simply impossible to test and thus to support in any sort of "this unstable package tested and demonstrated to work with a random mix of stable/~arch packages" way, at all! So in that regard, a mixed stable/~arch system is and will remain unsupported, simply because it's impossible /to/ support. That notwithstanding, gentoo DOES make it possible, even "easy" (note the scare-quotes), to run a mixed stable/~arch system. And the /ability/ to do so remains supported. However, users should know that in doing so they're running a combination that isn't commonly tested, indeed, that CANNOT be fully tested (even more so than the USE flag thing in general means for gentoo), and should understand and be willing to accept the added risk and manual sysadmin care necessary as a result. And part of accepting that means that yes, they might have some bugs closed with, effectively, "if it hurts when you bang your head against the wall, quit banging your head against the wall", INVALID, NOTABUG, etc, along with the associated recommendation to stick with either fully ~arch or fully arch, at least for that package and its dependencies. And similarly, there WILL be more headaches with stuff like package.stable.use overrides, etc, because by domain definition, that sort of additional manual maintenance burden and responsibility comes with the mixed stable/~arch domain. But whether that's considered "unsupported" or not depends on how strict and individual's definition of "supported" actually is. THIS is where opinions differ, at least in my /own/ opinion, as explained above. -- Duncan - List replies preferred. No HTML msgs. "Every nonfree program has a lord, a master -- and if you use the program, he is your master." Richard Stallman