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 |