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


Reply via email to