1 |
On Sat, Jul 22, 2006 at 06:04:10PM +0200, Kevin F. Quinn wrote: |
2 |
> On Fri, 21 Jul 2006 01:05:20 -0700 |
3 |
> Brian Harring <ferringb@×××××.com> wrote: |
4 |
> |
5 |
> > > >Unfortunately the category system is deeply embedded in portage |
6 |
> > > >and the tree, so changing that system is simply not going to |
7 |
> > > >happen, which is why I've stopped whinging about the semantic |
8 |
> > > >inadequacy of the system. |
9 |
> > > |
10 |
> > > Instead of whinging about why the existing categories are bad, why |
11 |
> > > not instead put forward an alternative (preferably with code, but a |
12 |
> > > clear and consistently argued position would be a start) for |
13 |
> > > something better? Otherwise, you *are* going to be ignored ... and |
14 |
> > > with good reason. |
15 |
> > |
16 |
> > Just so we're clear, I probably will wedgie anyone who suggests |
17 |
> > trying to extend the existing tree format with N categories per pkg- |
18 |
> > sounds nice on paper, but it makes lookup a serious pita- |
19 |
> > sys-apps/portage, we'll pretend it's actually located in sys-apps, |
20 |
> > and it's also in category 'pkg-managers'. An atom states |
21 |
> > 'pkg-managers/portage'; how does a pkg manager do a lookup for it? |
22 |
> |
23 |
> Since the names would be aliased, either reference would be fine i.e. a |
24 |
> dep on pkg-managers/portage would be equivalent to sys-apps/portage. |
25 |
> |
26 |
> If it were to be implemented with symlinks (implying one entry is "real" |
27 |
> and the others are aliases) the package manager just needs to |
28 |
> canonicalise any symlinked CPs it comes across. |
29 |
> |
30 |
> Since we can't have symlinks in CVS, there are other ways it can be |
31 |
> done; first thing that pops into my head is an "alias" package entry in |
32 |
> the tree, where instead of ebuilds & files/ etc it would just contain a |
33 |
> file "alias" with the category (and perhaps package name) of the aliased |
34 |
> package. |
35 |
> |
36 |
> I would expect it to be non-trivial to implement in portage, since |
37 |
> portage code has evolved for so long assuming that a package is in one |
38 |
> category - I'm not saying portage code is bad, I'm just saying that |
39 |
> much of it may have been implemented under that assumption and breaking |
40 |
> it means testing lots of stuff. |
41 |
> |
42 |
> > Has to walk the entire tree... so if N category per pkg is going to |
43 |
> > be proposed, need to preserve the fast lookup that's there now. |
44 |
> |
45 |
> I don't think the above ideas cause any substantial change to the |
46 |
> amount of processing required. |
47 |
> |
48 |
> An advantage to this approach is that package moves just become aliases |
49 |
> - existing stuff doesn't break yet you get the new categorisation as |
50 |
> well. |
51 |
|
52 |
A disadvantage being that without a tree, your graph is broken |
53 |
(aliases live in the tree); this includes using strictly a bintree |
54 |
(remote or otherwise). |
55 |
|
56 |
Big disadvantage, hence why that approach was ignored last time it was |
57 |
brought up. |
58 |
~harring |