From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <gentoo-dev+bounces-63570-garchives=archives.gentoo.org@lists.gentoo.org>
Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80])
	by finch.gentoo.org (Postfix) with ESMTP id E8A55138247
	for <garchives@archives.gentoo.org>; Fri, 15 Nov 2013 04:57:11 +0000 (UTC)
Received: from pigeon.gentoo.org (localhost [127.0.0.1])
	by pigeon.gentoo.org (Postfix) with SMTP id 0EDCEE0AC6;
	Fri, 15 Nov 2013 04:56:58 +0000 (UTC)
Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183])
	(using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by pigeon.gentoo.org (Postfix) with ESMTPS id 0A2F3E0AAD
	for <gentoo-dev@lists.gentoo.org>; Fri, 15 Nov 2013 04:56:55 +0000 (UTC)
Received: from mail-lb0-f174.google.com (mail-lb0-f174.google.com [209.85.217.174])
	(using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits))
	(No client certificate requested)
	(Authenticated sender: mattst88)
	by smtp.gentoo.org (Postfix) with ESMTPSA id ADDD933F0C6
	for <gentoo-dev@lists.gentoo.org>; Fri, 15 Nov 2013 04:56:54 +0000 (UTC)
Received: by mail-lb0-f174.google.com with SMTP id y6so2336952lbh.33
        for <gentoo-dev@lists.gentoo.org>; Thu, 14 Nov 2013 20:56:52 -0800 (PST)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20130820;
        h=mime-version:in-reply-to:references:from:date:message-id:subject:to
         :content-type;
        bh=R0s9Dz3Jb0i7Vav92MGT1FIlLvj9a1lBTdvLbFPdabw=;
        b=gYBCy7ZRtlNEUJ/brune5tgfb93jc4Tkkp58uhsDXYCKMhZvjYKpRZRmYFWf+5N+/1
         U7jEt5ShgZZuQKkrI8V1pnOwnsRy9PBSnFiUFtTFQGmvZWYn1ohlhms0nxufVF0uRQW5
         uVRYpZ1+fIOsIsD0frWMLDGpJB2EnORn/InzKnIYrNRiA0FVQZYaguc1DEiUYDfSSXKl
         T7Vyu4Y05nu9HcJ/Y8pjLG+12bxQXKYsKVUEQtibD428iB5McmYXqs9NkFuPuVMWX780
         a3ZV/7VXI0Cw9PemFJMJxpjxKSgfQ9G7KyMf9olNEf2lJcozzel0oPUlyVUkcjTN/cD1
         jJGw==
X-Received: by 10.152.116.46 with SMTP id jt14mr221432lab.31.1384491412139;
 Thu, 14 Nov 2013 20:56:52 -0800 (PST)
Precedence: bulk
List-Post: <mailto:gentoo-dev@lists.gentoo.org>
List-Help: <mailto:gentoo-dev+help@lists.gentoo.org>
List-Unsubscribe: <mailto:gentoo-dev+unsubscribe@lists.gentoo.org>
List-Subscribe: <mailto:gentoo-dev+subscribe@lists.gentoo.org>
List-Id: Gentoo Linux mail <gentoo-dev.gentoo.org>
X-BeenThere: gentoo-dev@lists.gentoo.org
Reply-to: gentoo-dev@lists.gentoo.org
MIME-Version: 1.0
Received: by 10.112.61.130 with HTTP; Thu, 14 Nov 2013 20:56:32 -0800 (PST)
In-Reply-To: <slrnl86l1s.j7e.vaeth@lounge.imp.fu-berlin.de>
References: <slrnl86l1s.j7e.vaeth@lounge.imp.fu-berlin.de>
From: Matt Turner <mattst88@gentoo.org>
Date: Thu, 14 Nov 2013 20:56:32 -0800
Message-ID: <CAEdQ38GuN0s8K9SLbevhTL6AM=1oWKdpjGVGiR2JOC1mQ1VdxQ@mail.gmail.com>
Subject: Re: [gentoo-dev] Please consider removing use.stable.mask and package.use.stable.mask
To: gentoo-dev@lists.gentoo.org
Content-Type: text/plain; charset=ISO-8859-1
X-Archives-Salt: 4ca8e569-60ad-4608-91a5-2861e719cf2b
X-Archives-Hash: 666f4bd680a30c3c5aadfdb8229594de

On Wed, Nov 13, 2013 at 2:28 AM, Martin Vaeth
<vaeth@mathematik.uni-wuerzburg.de> wrote:
> The new "features" use.stable.mask and package.use.stable.mask
> have turned maintaining systems with mixed ARCH and ~ARCH keywords
> into a nightmare:

I agree. I have helped two friends convert to Gentoo recently (one
used it a few years ago). They both came from Arch, and one told me
that before he resumed using Gentoo recently he considered these two
distros in the same category in terms of difficulty of use and
maintenance. After using it for a month, he's now convinced that
Gentoo is clearly the most difficult to use.

I'm inclined to agree, and I think in large part recently it's because
of use.stable.mask and package.use.stable.mask. These really are a
nightmare for users. Heck, they're really a nightmare for me and I've
been using Gentoo for nine years and feel like I have a pretty good
ability to decipher portage's error messages.

I think most of the confusion is caused by the necessity to put a
*stable* package atom into package.keywords to unmask a *USE* flag.
(Am I doing something wrong that would prevent 'x11-proto/kbproto
-abi_x86_32' in /etc/portage/package.use.stable.mask from
un-stable-masking the abi_x86_32 USE flag for kbproto?)

And then in addition, we did really weird things like stabilizing
package versions whose only difference from the previous is that it
supports multilib (e.g., kbproto-1.0.6 vs kbproto-1.0.6-r1). Except
that it's package.use.stable.mask'd. So you have to keyword a stable
package to get its only defining feature. (Why did we stabilize it in
the first place?)

Portage correctly shows that unstable USE flags are masked by printing
parenthesis around them, like use.mask'd flags, but the error messages
are really unhelpful. Take for instance dropping the stable
=x11-proto/kbproto-1.0.6-r1 from package.keywords, in order implicitly
mask the abi_x86_32. Attempting to merge =x11-proto/kbproto-1.0.6-r1
results in:

x11-proto/kbproto:0

  (x11-proto/kbproto-1.0.6-r1::gentoo, ebuild scheduled for merge) pulled in by
    (no parents that aren't satisfied by other packages in this slot)

  (x11-proto/kbproto-1.0.6-r1::gentoo, installed) pulled in by
    x11-proto/kbproto[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?]
required by (x11-libs/libX11-1.6.2::gentoo, installed)
    x11-proto/kbproto[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?]
required by (x11-libs/libXt-1.1.4::gentoo, installed)

There's a single problem. It can't enable abi_x86_32. Why didn't it
just say that?

You could even go beyond this and explain why it can't do it, but at
this point I'd settle for a concise explanation of *what* it can't do.