On Thu, Dec 20, 2012 at 11:01 AM, Ian Stakenvicius <a...@gentoo.org> wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA256
>
> On 20/12/12 10:37 AM, Brian Dolbec wrote:
>>>
>>>> /var/cache/repositories/ /var/cache/repositories/gentoo   <==
>>>> the main portage tree /var/cache/repositories/local    <== the
>>>> new location for a local overlay
>>>> /var/cache/repositories/some-overlay  <== layman installed
>>>> overlay
>>
>> My idea for having all repos under one directory is to make it
>> easier for a pkg manager to simply scan the directory to know all
>> installed overlays.  Currently each one has to be listed in a
>> configured variable in make.conf.  So if you wanted your local
>> overlay somewhere else, then a symlink would work (provided the PM
>> can/will autoscan repos), or add it to the PORTDIR_OVERLAY variable
>> (current behavior).  I don't otherwise have a strong desire for it
>> to be there.
>>
>> If and only if the tree and all overlays (not other directories)
>> are not under one directory, then an autoscan cannot easily
>> happen.
>>
>
>
> You could do this while not having the portage tree be in that
> directory.  IE, portage goes in /var/cache/portage , and all the
> overlays go into /var/cache/repositories.
>
> The tree is separate enough IMO that autoscan can still happen easily,
> and also I believe that it can be assumed that the tree is in place.
> For instance, if the tree's location is defined to be elsewhere, it
> isn't done so via PORTDIR_OVERLAYS but rather PORTDIR.
>
>
> On an unrelated note, I would never treat my "local" overlays as
> cache.  Ebuilds that (as a user) I wrote and installed by hand are not
> likely to be kept in a repository someplace, but rather the overlay
> dir would most likely be it's only location.  IIRC the reason for
> /usr/portage/local/ was to have a path within the portage tree that
> rsync wouldn't kill; given that what you're suggesting is already not
> under the proposed portage tree location, emerge --sync couldn't touch
> it, and so I don't see a need at all to provide a 'local' repository
> destination by default.
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v2.0.19 (GNU/Linux)
>
> iF4EAREIAAYFAlDTNlQACgkQ2ugaI38ACPCxQAEApT/7CaIbuVTwnDQk93hhDjGu
> mXKPdCJg4h1iMECtdoABAJj2601LuRPUKFJ+BJa/FqrdRTsjSpBRiEd8pvO2042P
> =W3T9
> -----END PGP SIGNATURE-----
>

It's sounding like the nearly the optimal solution would be:

/var/cache/portage/distfiles
/var/cache/portage/repositories/gentoo
/var/cache/portage/repositories/{sunrise,kde,gnome,whatever,layman,grabs}
/var/db/portage/repositories/{non-cache,repo,names,go,here}

Clearly, some data in question needs to be treated as persistent, and
others can be treated as cache. So it should probably be divided up
that way. The placement of tree and overlays as subfolders of the same
folder strikes me as appropriate, too.

The only thing I can't see an elegant workaround for are how to avoid
or handle repo name collisions between
/var/cache/portage/repositories/* and /var/db/portage/repositories/*

--
:wq

Reply via email to