On 12/20/2012 03:36 AM, Alan McKinnon wrote: > On Wed, 19 Dec 2012 14:19:52 -0800 > Zac Medico <zmed...@gentoo.org> wrote: > >> On 12/19/2012 02:01 PM, Alan McKinnon wrote: >>> On Wed, 19 Dec 2012 14:56:44 +0100 >>> Diego Elio Pettenò <flamee...@flameeyes.eu> wrote: >>> >>>> Just mv /usr/portage /var/portage ? FFS no. Among other things, as >>>> many said before, we should really take distfiles out of the tree >>>> itself, and packages the same. And I don't want /var/packages >>>> or /var/distfiles at all. >>> >>> If we are going to move distfiles out of the tree into, what are the >>> odds of getting /some/path/portage/local to move somewhere else too? >> >> What program uses this "local" directory? It's not used directly by >> portage itself, though portage has an exclude for it in the default >> PORTAGE_RSYNC_OPTS setting >> (in /usr/share/portage/config/make.globals). > > It goes back a long time, and is basically a poor man's local overlay > without having to use layman. As I understand it, portage will treat > the directory like any other when looking for ebuilds and resolving > deps, but exclude it from a sync.
Portage doesn't have any special handling for this directory, aside from the exclude in the default PORTAGE_RSYNC_OPTS setting. I would not encourage people to use this directory for anything, because it tends to give people the impression that it's safe to store random things inside $PORTDIR, while it's somewhat fragile given that it relies on special rsync options. Occasionally, we get bug reports from people who have lost files because of this sort of confusion: https://bugs.gentoo.org/show_bug.cgi?id=131030 https://bugs.gentoo.org/show_bug.cgi?id=392565 >> >>> That one has irked me for ages, its the one thing left on my systems >>> that stops the local tree dir being an exact replica of the upstream >>> master. >> >> For portage's defaults, I won't settle for anything less than having >> them all refer to separate directories which are *not* nested within >> one other. These are the current default settings which violate my >> requirements: >> >> PORTDIR=/usr/portage >> DISTDIR=${PORTDIR}/distfiles >> PKGDIR=${PORTDIR}/packages >> RPMDIR=${PORTDIR}/rpm > > /usr/portage/local has the taste feel and smell of a hacky workaround: > shove a directory in the tree and exclude it from sync. Right. > I suspect the best solution all round is to move all support for local > overlays into layman. I'd be happy with that. Probably make the portage > code cleaner too. As mentioned, portage doesn't have any special handling for this directory (aside from the rsync exclude). -- Thanks, Zac