Gentoo Archives: gentoo-dev

From: Matt Turner <mattst88@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Please consider removing use.stable.mask and package.use.stable.mask
Date: Fri, 15 Nov 2013 04:57:11
Message-Id: CAEdQ38GuN0s8K9SLbevhTL6AM=1oWKdpjGVGiR2JOC1mQ1VdxQ@mail.gmail.com
In Reply to: [gentoo-dev] Please consider removing use.stable.mask and package.use.stable.mask by Martin Vaeth
1 On Wed, Nov 13, 2013 at 2:28 AM, Martin Vaeth
2 <vaeth@××××××××××××××××××××××××.de> wrote:
3 > The new "features" use.stable.mask and package.use.stable.mask
4 > have turned maintaining systems with mixed ARCH and ~ARCH keywords
5 > into a nightmare:
6
7 I agree. I have helped two friends convert to Gentoo recently (one
8 used it a few years ago). They both came from Arch, and one told me
9 that before he resumed using Gentoo recently he considered these two
10 distros in the same category in terms of difficulty of use and
11 maintenance. After using it for a month, he's now convinced that
12 Gentoo is clearly the most difficult to use.
13
14 I'm inclined to agree, and I think in large part recently it's because
15 of use.stable.mask and package.use.stable.mask. These really are a
16 nightmare for users. Heck, they're really a nightmare for me and I've
17 been using Gentoo for nine years and feel like I have a pretty good
18 ability to decipher portage's error messages.
19
20 I think most of the confusion is caused by the necessity to put a
21 *stable* package atom into package.keywords to unmask a *USE* flag.
22 (Am I doing something wrong that would prevent 'x11-proto/kbproto
23 -abi_x86_32' in /etc/portage/package.use.stable.mask from
24 un-stable-masking the abi_x86_32 USE flag for kbproto?)
25
26 And then in addition, we did really weird things like stabilizing
27 package versions whose only difference from the previous is that it
28 supports multilib (e.g., kbproto-1.0.6 vs kbproto-1.0.6-r1). Except
29 that it's package.use.stable.mask'd. So you have to keyword a stable
30 package to get its only defining feature. (Why did we stabilize it in
31 the first place?)
32
33 Portage correctly shows that unstable USE flags are masked by printing
34 parenthesis around them, like use.mask'd flags, but the error messages
35 are really unhelpful. Take for instance dropping the stable
36 =x11-proto/kbproto-1.0.6-r1 from package.keywords, in order implicitly
37 mask the abi_x86_32. Attempting to merge =x11-proto/kbproto-1.0.6-r1
38 results in:
39
40 x11-proto/kbproto:0
41
42 (x11-proto/kbproto-1.0.6-r1::gentoo, ebuild scheduled for merge) pulled in by
43 (no parents that aren't satisfied by other packages in this slot)
44
45 (x11-proto/kbproto-1.0.6-r1::gentoo, installed) pulled in by
46 x11-proto/kbproto[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?]
47 required by (x11-libs/libX11-1.6.2::gentoo, installed)
48 x11-proto/kbproto[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?]
49 required by (x11-libs/libXt-1.1.4::gentoo, installed)
50
51 There's a single problem. It can't enable abi_x86_32. Why didn't it
52 just say that?
53
54 You could even go beyond this and explain why it can't do it, but at
55 this point I'd settle for a concise explanation of *what* it can't do.

Replies