1 |
On Wed, 22 Nov 2006 03:10:45 -0500 (EST) |
2 |
Daniel Barkalow <barkalow@××××××××.org> wrote: |
3 |
|
4 |
> There are packages (such as perl) which work fine on both x86 and arm, |
5 |
> but don't build on x86 cross-compiling for arm. Furthermore, pam-0.78 can |
6 |
> be cross-compiled (with a patch available in bug comments), but pam-0.99 |
7 |
> will require more work to get to cross-compile. It would be useful to be |
8 |
> able to have 0.99 use a keyword (or something) such that it is excluded |
9 |
> from cross-compiles and these builds get 0.78 instead. |
10 |
> |
11 |
> I've got a working patch that extends the KEYWORDS semantics slightly, |
12 |
> such that, if KEYWORDS includes -foo, and ACCEPT_KEYWORDS includes foo but |
13 |
> not -foo, the package is masked, even if KEYWORDS also includes bar and |
14 |
> ACCEPT_KEYWORDS also includes bar. |
15 |
> |
16 |
> Then you can have the ACCEPT_KEYWORDS value "$ARCH cross" and packages |
17 |
> with KEYWORDS including "-cross" will be masked, unless you have "-cross" |
18 |
> in packages.keywords. |
19 |
> |
20 |
> This probably horribly mangles the concept of KEYWORDS, but I can't really |
21 |
> tell from reading the documentation that it doesn't work this way. (Of |
22 |
> course, I know it doesn't from trying things and reading the source, |
23 |
> but...) It doesn't specify whether "foo" or "-bar" on a package takes |
24 |
> precedence if "foo" and "bar" both apply to the system. (Of course, it |
25 |
> does say that keywords are always ARCHes, which would imply that only one |
26 |
> could apply.) I think this all works as expected, however, except that a |
27 |
> package having "cross" means that it is known to automatically work if |
28 |
> you're cross-compiling, rather than simply meaning that it is known |
29 |
> to work if you're cross-compiling and it would work if you were building |
30 |
> natively on your target. |
31 |
|
32 |
No. -foo is reserved for incremental negation. Maybe that isn't widely used in ACCEPT_KEYWORDS, but it has valid uses there and there can't be repurposed. Is there a particular reason why you don't use the normal keyword logic (KEYWORDS=cross and setting -cross in p.keywords to mask a package), or simply a package.mask entry? |
33 |
|
34 |
Marius |
35 |
-- |
36 |
gentoo-portage-dev@g.o mailing list |