1 |
On Wed, Aug 31, 2005 at 01:32:04AM +1000, Finn Thain wrote: |
2 |
> > > > Reasoning is, how do you know that pkg xyz is actually the package |
3 |
> > > > you're after? |
4 |
> > Re-inserted the quote to clarify what I'm talking about; mapping another |
5 |
> > pkg managers db into our own requires either a lot of human |
6 |
> > intervention, or some dodgy rules that somewhat manage it, with bugs. |
7 |
> |
8 |
> OK, I see what you mean. You're asking, how does portage know that vendor |
9 |
> package xyz is the portage package abc? |
10 |
> |
11 |
> Short answer is package.mask, meta-packages and name mapping. |
12 |
> |
13 |
> A particular vendor package version is a known-good dep, as tested by |
14 |
> devs, otherwise it is masked. E.g. package.mask says |
15 |
> >vendor-sun/app-arch/cpio-x.y.z if no higher version has been tested. In |
16 |
> mac os, automated updates mean that most of the time, there will be some |
17 |
> vendor packages that the tree hasn't been tested against. These have to be |
18 |
> masked until the user does emerge sync. |
19 |
|
20 |
Alright, so I'm just being a tool 'coz I thought you were talking |
21 |
about dynamic mapping (vs dev managed mappings). Nevermind me :) |
22 |
|
23 |
> BTW, do repos share a namespace? Presented with the same cpv in several |
24 |
> repos, is portage's behaviour defined yet? |
25 |
repo's have their own *total* namespace now; an overlay + repo is |
26 |
different though since an overlay is slaved to a repo. |
27 |
|
28 |
<=2.1 basically lacks any true support for N repos; you can have a |
29 |
portdir(+overlays), a vdb, and a bintree. Rewrite has no such |
30 |
restriction built into it. |
31 |
|
32 |
> My feeling is that the burden of managing the mappings is better than the |
33 |
> burden of managing one package.provided for mac os 10.3, alongside another |
34 |
> for 10.4, etc. (If I'm wrong about that, then this exercise is pointless.) |
35 |
Actually, I agree; it's cleaner then just autoassuming stuff is there. |
36 |
|
37 |
> Did I read something about the rewrite being modular? Could the shim/query |
38 |
> take the form of a portage plugin that implements the query-apple-packages |
39 |
> feature? Obviously, if implemented the way I descibed above, it would need |
40 |
> to be intimate with certain ebuilds' environments. |
41 |
|
42 |
Well, considering I'm seriously considering when/if rewrite is |
43 |
released, it's released as two packages; portage-core, and |
44 |
portage-ebuild... yes. Very modular. |
45 |
|
46 |
There pretty much is one point of required entry into the code; |
47 |
getting the config obj- from there it loads the code it needs, |
48 |
instantiating objects on the fly. Aside from the entry point/config |
49 |
obj, everything else is intended to be configurable. |
50 |
|
51 |
~harring |