1 |
On Thu, Dec 20, 2012 at 11:01 AM, Ian Stakenvicius <axs@g.o> wrote: |
2 |
> -----BEGIN PGP SIGNED MESSAGE----- |
3 |
> Hash: SHA256 |
4 |
> |
5 |
> On 20/12/12 10:37 AM, Brian Dolbec wrote: |
6 |
>>> |
7 |
>>>> /var/cache/repositories/ /var/cache/repositories/gentoo <== |
8 |
>>>> the main portage tree /var/cache/repositories/local <== the |
9 |
>>>> new location for a local overlay |
10 |
>>>> /var/cache/repositories/some-overlay <== layman installed |
11 |
>>>> overlay |
12 |
>> |
13 |
>> My idea for having all repos under one directory is to make it |
14 |
>> easier for a pkg manager to simply scan the directory to know all |
15 |
>> installed overlays. Currently each one has to be listed in a |
16 |
>> configured variable in make.conf. So if you wanted your local |
17 |
>> overlay somewhere else, then a symlink would work (provided the PM |
18 |
>> can/will autoscan repos), or add it to the PORTDIR_OVERLAY variable |
19 |
>> (current behavior). I don't otherwise have a strong desire for it |
20 |
>> to be there. |
21 |
>> |
22 |
>> If and only if the tree and all overlays (not other directories) |
23 |
>> are not under one directory, then an autoscan cannot easily |
24 |
>> happen. |
25 |
>> |
26 |
> |
27 |
> |
28 |
> You could do this while not having the portage tree be in that |
29 |
> directory. IE, portage goes in /var/cache/portage , and all the |
30 |
> overlays go into /var/cache/repositories. |
31 |
> |
32 |
> The tree is separate enough IMO that autoscan can still happen easily, |
33 |
> and also I believe that it can be assumed that the tree is in place. |
34 |
> For instance, if the tree's location is defined to be elsewhere, it |
35 |
> isn't done so via PORTDIR_OVERLAYS but rather PORTDIR. |
36 |
> |
37 |
> |
38 |
> On an unrelated note, I would never treat my "local" overlays as |
39 |
> cache. Ebuilds that (as a user) I wrote and installed by hand are not |
40 |
> likely to be kept in a repository someplace, but rather the overlay |
41 |
> dir would most likely be it's only location. IIRC the reason for |
42 |
> /usr/portage/local/ was to have a path within the portage tree that |
43 |
> rsync wouldn't kill; given that what you're suggesting is already not |
44 |
> under the proposed portage tree location, emerge --sync couldn't touch |
45 |
> it, and so I don't see a need at all to provide a 'local' repository |
46 |
> destination by default. |
47 |
> |
48 |
> -----BEGIN PGP SIGNATURE----- |
49 |
> Version: GnuPG v2.0.19 (GNU/Linux) |
50 |
> |
51 |
> iF4EAREIAAYFAlDTNlQACgkQ2ugaI38ACPCxQAEApT/7CaIbuVTwnDQk93hhDjGu |
52 |
> mXKPdCJg4h1iMECtdoABAJj2601LuRPUKFJ+BJa/FqrdRTsjSpBRiEd8pvO2042P |
53 |
> =W3T9 |
54 |
> -----END PGP SIGNATURE----- |
55 |
> |
56 |
|
57 |
It's sounding like the nearly the optimal solution would be: |
58 |
|
59 |
/var/cache/portage/distfiles |
60 |
/var/cache/portage/repositories/gentoo |
61 |
/var/cache/portage/repositories/{sunrise,kde,gnome,whatever,layman,grabs} |
62 |
/var/db/portage/repositories/{non-cache,repo,names,go,here} |
63 |
|
64 |
Clearly, some data in question needs to be treated as persistent, and |
65 |
others can be treated as cache. So it should probably be divided up |
66 |
that way. The placement of tree and overlays as subfolders of the same |
67 |
folder strikes me as appropriate, too. |
68 |
|
69 |
The only thing I can't see an elegant workaround for are how to avoid |
70 |
or handle repo name collisions between |
71 |
/var/cache/portage/repositories/* and /var/db/portage/repositories/* |
72 |
|
73 |
-- |
74 |
:wq |