Gentoo Archives: gentoo-portage-dev

From: Brian Harring <ferringb@×××××.com>
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 22:51:23
Message-Id: 20061122225033.GA26488@seldon
In Reply to: Re: [gentoo-portage-dev] [RFC] Mask packages that don't cross-compile by Daniel Barkalow
1 On Wed, Nov 22, 2006 at 05:04:36PM -0500, Daniel Barkalow wrote:
2 > On Wed, 22 Nov 2006, Brian Harring wrote:
3 >
4 > > What is annoying there is that since package.keywords is under
5 > > *very* weird rules, you can't do the usual incremental tricks there.
6 > >
7 > > Try specifying that you want to run only stable arch via
8 > > package.keywords sometime; it's not possible.
9 >
10 > In any case, I'm not proposing any change to package.keywords or
11 > ACCEPT_KEYWORDS. Maybe I ought to, because the situation is confusing and
12 > some useful things aren't possible, but that's a separate issue.
13 >
14 > > You're proposing further overloading of ACCEPT_KEYWORDS; how would
15 > > this fly for package.keywords?
16 >
17 > I wouldn't change ACCEPT_KEYWORDS at all or anything in the computation of
18 > pgroups or mygroups in portdbapi.gvisible(), so package.keywords is
19 > unchanged and the whole incremental ACCEPT_KEYWORDS is also unchanged.
20
21 Find that a bit hard to believe frankly; inserting cross into a
22 packages keywords _has_ to undergo the transformation somewhere. If
23 you're not doing it there, then you're probably doing it somewhere
24 that you shouldn't be ;)
25
26
27 > The present documentation (Ebuild HOWTO, for example) says "If the
28 > KEYWORDS flag has a preceding -, then the package does not work with the
29 > given keyword." But this is ignored by portage, because "Packages that do
30 > not support the native architecture are automatically masked by Portage",
31 > which means that "-x86" has no effect, because an ebuild with "-x86" won't
32 > have "x86" or "~x86", and is therefore masked. I'm proposing that "-foo"
33 > be taken seriously as meaning that the package does not work with the
34 > "foo" keyword, even if the ebuild would otherwise be visible.
35
36 Why would you propose that? That's already the case as is, folks just
37 have a way around it if they try hard enough (which isn't necessarily
38 a bad thing).
39
40 Not seeing how that proposal is related to xcompile either.
41
42
43 > > Alternative that comes to mind (and is cleaner) is to actually have
44 > > portage *know* it's doing cross compilation; eliminates a fair bit of
45 > > the nasty ROOT detection it has to do; that cleans up the innards a
46 > > bit, but for it to work you would need a RESTRICT=cross-compile to
47 > > mark packages that can't be x-compiled as unusable (yet another
48 > > visibility filter, yay!) :)
49 >
50 > I don't think adding a RESTRICT option that's a visibility filter, unlike
51 > all of the existing ones (which affect what steps in building a package
52 > portage can take), would clarify anything. Having portage automatically
53 > enable whatever visibility filter there is for ebuilds that don't
54 > cross-compile would be nice, but that's a separate step.
55
56 Well, the alternative is trying to shove (frankly) a hack into
57 KEYWORDS. KEYWORDS already has enough hacks in it, time to abuse
58 another var ;)
59
60 Assuming marius does something with glep52, RESTRICT will be used as
61 a visibility filter already for RESTRICT=unattended; long term
62 intention for prefix support also (right now they're abusing eapi)
63 was to control prefixability via a restrict also.
64
65 So... RESTRICT _is_ going to wind up being used for visibility. The
66 question (in my mind) is whether more tricks are going to be shoved
67 into try and keep portage effectively unaware it's doing x-compile, or
68 finally make it fully aware and bind the functionality folk need to
69 that boolean.
70
71 ~harring

Replies

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