Gentoo Archives: gentoo-portage-dev

From: Daniel Barkalow <barkalow@××××××××.org>
To: gentoo-portage-dev@l.g.o
Subject: [gentoo-portage-dev] [RFC] Mask packages that don't cross-compile
Date: Wed, 22 Nov 2006 08:11:37
Message-Id: Pine.LNX.4.64.0611220237010.20138@iabervon.org
1 There are packages (such as perl) which work fine on both x86 and arm,
2 but don't build on x86 cross-compiling for arm. Furthermore, pam-0.78 can
3 be cross-compiled (with a patch available in bug comments), but pam-0.99
4 will require more work to get to cross-compile. It would be useful to be
5 able to have 0.99 use a keyword (or something) such that it is excluded
6 from cross-compiles and these builds get 0.78 instead.
7
8 I've got a working patch that extends the KEYWORDS semantics slightly,
9 such that, if KEYWORDS includes -foo, and ACCEPT_KEYWORDS includes foo but
10 not -foo, the package is masked, even if KEYWORDS also includes bar and
11 ACCEPT_KEYWORDS also includes bar.
12
13 Then you can have the ACCEPT_KEYWORDS value "$ARCH cross" and packages
14 with KEYWORDS including "-cross" will be masked, unless you have "-cross"
15 in packages.keywords.
16
17 This probably horribly mangles the concept of KEYWORDS, but I can't really
18 tell from reading the documentation that it doesn't work this way. (Of
19 course, I know it doesn't from trying things and reading the source,
20 but...) It doesn't specify whether "foo" or "-bar" on a package takes
21 precedence if "foo" and "bar" both apply to the system. (Of course, it
22 does say that keywords are always ARCHes, which would imply that only one
23 could apply.) I think this all works as expected, however, except that a
24 package having "cross" means that it is known to automatically work if
25 you're cross-compiling, rather than simply meaning that it is known
26 to work if you're cross-compiling and it would work if you were building
27 natively on your target.
28
29 -Daniel
30 *This .sig left intentionally blank*
31 --
32 gentoo-portage-dev@g.o mailing list

Replies