Gentoo Archives: gentoo-portage-dev

From: Marius Mauch <genone@g.o>
To: gentoo-portage-dev@l.g.o
Subject: Re: [gentoo-portage-dev] [RFC] Mask packages that don't cross-compile
Date: Wed, 22 Nov 2006 15:33:47
Message-Id: 20061122164106.4330b053.genone@gentoo.org
In Reply to: [gentoo-portage-dev] [RFC] Mask packages that don't cross-compile by Daniel Barkalow
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

Replies

Subject Author
Re: [gentoo-portage-dev] [RFC] Mask packages that don't cross-compile Daniel Barkalow <barkalow@××××××××.org>