1 |
On Mon, 29 Aug 2005, Brian Harring wrote: |
2 |
|
3 |
> The rewrite's domain's abstraction (additionally the goal of binding the |
4 |
> resolver to the domain, and being able to do inter-domain resolving) |
5 |
> would allow for this, but I *really* don't think it'll work well. |
6 |
> |
7 |
> Reasoning is, how do you know that pkg xyz is actually the package |
8 |
> you're after? |
9 |
|
10 |
Not sure I understand the problem... in glep 37, a virtual is replaced |
11 |
with a meta-package having a list of depends alternatives. If you add the |
12 |
vendor package to that list, and then make the vendor packages |
13 |
"package.preferred" where portage is a secondary package manager, surely |
14 |
there is no question that package xyz is the one you're after? |
15 |
|
16 |
(I'm assuming all repos share the same namespace WRT package names... if |
17 |
cpv's do not have to be unique accross repos, other solutions might be |
18 |
possible...) |
19 |
|
20 |
> The expanded restrictions subsystem, specifically ability to depends |
21 |
> based on contents restrictions (I want the pkg that owns file abc |
22 |
> essentially) gives basic ability for this |
23 |
|
24 |
I don't understand why portage would go looking for deps in the |
25 |
filesystem. If configure can't find them, does it help that portage can? |
26 |
|
27 |
The last I read about this was here... |
28 |
http://article.gmane.org/gmane.linux.gentoo.devel/28154 |
29 |
I guess there is more too it? |
30 |
|
31 |
> but it doesn't cover the abi angle. |
32 |
|
33 |
I hadn't considered the ABI problem. In the short term I think a synthetic |
34 |
package.provided is okay, since most multilib machines cater to the |
35 |
ABI-ignorant. |
36 |
|
37 |
But, generating package.provided with a wrapper is a hack, so long term, a |
38 |
vendor package manager (or a shim on top of it) would have to state what |
39 |
ABI was used for each package, when queried. Knowing the ABIs of the |
40 |
vendor packages, and knowing the native ABI of the target domain (?), the |
41 |
resolver could probably do the right thing... |
42 |
|
43 |
> What you're proposing could sort of be hacked together to pull off |
44 |
> strictly for src compiles, probably with a good collection of impossible |
45 |
> to quash annoying bugs. Doing it for binaries is a helluva lot harder |
46 |
> though. :) |
47 |
|
48 |
I think these are the bugs which have been the gentoo-osx team's burden |
49 |
already... brave souls that they are :-) |
50 |
|
51 |
> The rewrite's general core is intended to allow for alt |
52 |
> formats/repos/whatever jammed into it; that said, making seperate |
53 |
> formats play nice with each other (unless they can natively) isn't |
54 |
> something I think is incredibly easy to pull off, as mentioned above. |
55 |
> |
56 |
> Thoughts? |
57 |
|
58 |
I probably need a better handle on the constraints of the relations |
59 |
between domains, repos, prefixes... anyway, here is my naive partial |
60 |
config. This config is premature, of course, but it might help me |
61 |
understand what is and is not possible in the rewrite if you would kindly |
62 |
shoot some holes in it ;-) |
63 |
|
64 |
Notes: I've used a hypothetical feature for collecting information about |
65 |
vendor packages -- presumably the apple domain also needs an ephemeral vdb |
66 |
to hold it (like package.provided). I don't know if this vendor domain |
67 |
needs a repo. I guess the main repo would have to mask broken/testing |
68 |
vendor deps as it sees fit, including those from other domains... |
69 |
|
70 |
-f |
71 |
|
72 |
|
73 |
[vdb] |
74 |
type = repo |
75 |
class = portage.installed_pkg.repository |
76 |
path = |
77 |
|
78 |
[rsync repo] |
79 |
type = repo |
80 |
class = portage.ebuild.repository |
81 |
path = /opt/gentoo/usr/portage |
82 |
|
83 |
[ppc-macos] |
84 |
type = config |
85 |
ACCEPT_KEYWORDS = "ppc-macos" |
86 |
|
87 |
[default domain] |
88 |
type = domain |
89 |
root = "/opt/gentoo" |
90 |
repositories = 'rsync repo' vdb |
91 |
config = ppc-macos |
92 |
|
93 |
[vendor-apple] |
94 |
type = config |
95 |
FEATURES = "query-apple-packages" |
96 |
ACCEPT_KEYWORDS = "ppc-darwin" |
97 |
|
98 |
[apple domain] |
99 |
type = domain |
100 |
root = "/" |
101 |
config = vendor-apple |
102 |
|
103 |
|
104 |
|
105 |
-- |
106 |
gentoo-osx@g.o mailing list |