From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id E8A55138247 for ; 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 ; 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 ; Fri, 15 Nov 2013 04:56:54 +0000 (UTC) Received: by mail-lb0-f174.google.com with SMTP id y6so2336952lbh.33 for ; 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: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail 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: References: From: Matt Turner Date: Thu, 14 Nov 2013 20:56:32 -0800 Message-ID: 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 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.