Gentoo Archives: gentoo-dev

From: Drake Wyrm <wyrm@×××××.com>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] GLEP 22: New "keyword" system to incorporate various userlands/kernels/archs
Date: Tue, 09 Mar 2004 19:15:14
Message-Id: 20040309192236.GA23847@phaenix.haell.com
In Reply to: Re: [gentoo-dev] GLEP 22: New "keyword" system to incorporate various userlands/kernels/archs by Jason Stubbs
1 On Tue, 2004-03-09, 12:47:26 +0900, in
2 <200403091247.27117.jstubbs@g.o>, Jason Stubbs
3 <jstubbs@g.o> wrote:
4 > Problem: The current proposal can not specify which permutations are
5 > valid.
6
7 What is the problem with that? The purpose for this proposal is to allow
8 people to try permutations which are currently unavailable. We should
9 include the functionality which allows people to try the things we think
10 are impossible.
11
12 [snip]
13 > Next I'll look at USERLAND. As far as I know, it's not possible to run
14 > a gnu USERLAND on anything other than a glibc LIBC. Conversely, a bsd
15 > USERLAND cannot run on a glibc LIBC. I can only imagine very rare
16 > circumstances where a LIBC would support multiple USERLANDs and an
17 > application would care what specific USERLAND it is.
18
19 I was thinking the same thing from the other point of view: "USERLAND"
20 implies a particular "LIBC", right? Since we already use "USERLAND",
21 drop LIBC and roll the functionality into "USERLAND".
22
23 Then again it might be interesting to leave that functionality and see
24 if somebody decides to try it.
25
26 [snip]
27 > Of course, this idea is based on dropping ~arch and arch altogether. I
28 > don't have a non-x86 arch (yet!) but as far as I know most software
29 > will work with no modification.
30
31 Good idea. How about dropping KEYWORDS altogether? Replace it with the
32 system described in the current proposal and a set of FEATURES and
33 RESTRICT flags: "stable", "testing", and "masked".
34
35 > For software that doesn't work and a quick fix can't be found, I would
36 > suggest a new portage/profiles/<profile>/package.mask.
37
38 Ewww. Yet another config file. I'll pass.
39
40 Actually, I suddenly like that FEATURES/RESTRICT idea. Something like
41 the following could be included in ebuild.sh:
42
43 pkg_mask() {
44 local stable-keywords="x86 ppc ppc64 sparc mips alpha arm hppa amd64 ia64 ia64 s390"
45 local testing-keywords="~x86 ~ppc ~ppc64 ~sparc ~mips ~alpha ~arm ~hppa ~amd64 ~ia64 ~ia64 ~s390"
46 set_restrict masked # mask by default
47 # reverse compatibility spiffiness
48 if has $ACCEPT_KEYWORDS $testing-keywords && has $ACCEPT_KEYWORDS $KEYWORDS
49 then
50 set_restrict testing
51 fi
52 if has $ACCEPT_KEYWORDS $stable-keywords && has $ACCEPT_KEYWORDS $KEYWORDS
53 set_restrict stable
54 fi
55 has masked $FEATURES && return 0
56 has testing $FEATURES && has testing $RESTRICT && return 0
57 has stable $RESTRICT && return 0
58 return 1
59 }
60
61 To use the features proposed by this GLEP, an ebuild could write its own
62 pkg_mask function.
63
64 --
65 Batou: Hey, Major... You ever hear of "human rights"?
66 Kusanagi: I understand the concept, but I've never seen it in action.
67 --Ghost in the Shell

Replies