1 |
On Mon, Jul 24, 2006 at 02:47:46PM +0200, Kevin F. Quinn wrote: |
2 |
> On Sun, 23 Jul 2006 12:19:28 +0100 |
3 |
> Stuart Herbert <stuart@g.o> wrote: |
4 |
> > Just adding an alias |
5 |
> > into a second category makes the tree more of a mess - not less. |
6 |
> |
7 |
> The alias, once setup, can be left alone forever. As far as any |
8 |
> further maintenance is concerned, it requires none. Even if the |
9 |
> package is moved again, the alias can still point to the second |
10 |
> location which becomes an alias for the final location. |
11 |
|
12 |
That implicitly means that any second level categorizations can never |
13 |
be removed. |
14 |
|
15 |
Like stuart said, makes a bigger mess of the tree. Package moves can |
16 |
be disruptive enough- trying to shift out a non-real category is going |
17 |
to be a much larger mess of building that tree and trying to rewrite |
18 |
atoms as needed. |
19 |
|
20 |
> As far as |
21 |
> users are concerned, assuming aliases are resolved when being parsed, |
22 |
> they would see: |
23 |
> |
24 |
> $ emerge -p net-im/skype |
25 |
> |
26 |
> These are the packages that would be merged, in order: |
27 |
> |
28 |
> Calculating dependencies... done! |
29 |
> [ebuild R ] net-voip/skype-1.3.0.30-r1 |
30 |
|
31 |
That doesn't strike you as a bit... daft? they asked for net-im, not |
32 |
net-voip. Yes, under your scheme, they're the same- that still is far |
33 |
from intuitive. |
34 |
|
35 |
|
36 |
> The only "mess" is that we end up with the alias data in the tree |
37 |
> and that gradually accumulates. |
38 |
|
39 |
Err... cruft accumulating in the tree is a no go. |
40 |
|
41 |
> However it won't change once it's first |
42 |
> setup so won't incur any significant synchronisation overhead (beyond |
43 |
> the overhead for the actual move as done currently). |
44 |
|
45 |
A) potential of circular aliasing (fun fun) |
46 |
B) potential of aliasing multiple pkgs to the same cat (fun fun) |
47 |
C) pkgs that grow capabilities after a certain version, thus they now |
48 |
belong in a new category. Now we require full atoms for aliasing |
49 |
(which means lookup gets more complicated now, and slower) |
50 |
D) all tree access now must pass through aliasing. Additionally, now |
51 |
all equality tests must now rely on aliasing to determine if two |
52 |
pkgs from seperate categories are actually the same pkg (slower, and |
53 |
far more complicated) |
54 |
|
55 |
Fair amount of thorny issues introduced there, for (imo) no real gain. |
56 |
|
57 |
> I've mentioned the |
58 |
> <CP>/alias idea elsewhere, however that's not the only way to do it - |
59 |
> one simple method could be to have a simple text file (e.g. |
60 |
> ${PORTDIR}/profiles/alias) listing all the aliases. That's no mess at |
61 |
> all: |
62 |
> |
63 |
> ---- example alias file contents |
64 |
> # Alias category/package Resident category |
65 |
> net-im/skype net-voip |
66 |
> ---- |
67 |
|
68 |
As I said (and you seemed to have ignored), mandating tree access to |
69 |
use the vdb or a standalone binpkg repository == no go. |
70 |
|
71 |
~harring |