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 |