-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 On 20/12/12 11:25 AM, Rick "Zero_Chaos" Farina wrote: > On 12/20/2012 11:16 AM, Michael Mol wrote: >> On Thu, Dec 20, 2012 at 11:01 AM, Ian Stakenvicius >> <a...@gentoo.org> wrote: 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. > >>> > >> 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} > > Not to oversimplify but why exactly can't we leave > /usr/local/portage where it is? I'm not going to want to cd > /var/db/portage/repositories/local every time I want to edit a > local ebuild... > > -ZC >
IMO local user overlays would always end up being defined and placed wherever the user decides them to be -- ie, /usr/local/portage as Rick so nicely pointed out. It may be a nice idea to try and enforce a structure to it/them, but since PORTDIR_OVERLAY can be defined to include any path at all I don't really see a point to it. ..I'm still with ulm about the tree not being in the repositories subdir though. If I wanted to nuke all the overlays installed, "rm - -Rf /var/cache/portage/repos/*" is very easy. If the tree is also in that dir then it becomes less easy: "find /var/cache/portage/repos - -maxdepth 1 -mindepth 1 -not -name gentoo -exec rm -Rf {} \+" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (GNU/Linux) iF4EAREIAAYFAlDTPlUACgkQ2ugaI38ACPBtPAD8DJ6BPjL6xY8alB5pbo7vQ5kb dzRO9Z32F3r84RyVccABAIEu+k+ztw0ipoCwhmLlBHyiU6aEOsExixNvnMMLLu9X =2gWT -----END PGP SIGNATURE-----