Gentoo Archives: gentoo-dev

From: Zac Medico <zmedico@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Moving our/portage stuff to var
Date: Thu, 20 Dec 2012 19:26:19
Message-Id: 50D36626.60706@gentoo.org
In Reply to: Re: [gentoo-dev] Moving our/portage stuff to var by Alan McKinnon
1 On 12/20/2012 03:36 AM, Alan McKinnon wrote:
2 > On Wed, 19 Dec 2012 14:19:52 -0800
3 > Zac Medico <zmedico@g.o> wrote:
4 >
5 >> On 12/19/2012 02:01 PM, Alan McKinnon wrote:
6 >>> On Wed, 19 Dec 2012 14:56:44 +0100
7 >>> Diego Elio Pettenò <flameeyes@×××××××××.eu> wrote:
8 >>>
9 >>>> Just mv /usr/portage /var/portage ? FFS no. Among other things, as
10 >>>> many said before, we should really take distfiles out of the tree
11 >>>> itself, and packages the same. And I don't want /var/packages
12 >>>> or /var/distfiles at all.
13 >>>
14 >>> If we are going to move distfiles out of the tree into, what are the
15 >>> odds of getting /some/path/portage/local to move somewhere else too?
16 >>
17 >> What program uses this "local" directory? It's not used directly by
18 >> portage itself, though portage has an exclude for it in the default
19 >> PORTAGE_RSYNC_OPTS setting
20 >> (in /usr/share/portage/config/make.globals).
21 >
22 > It goes back a long time, and is basically a poor man's local overlay
23 > without having to use layman. As I understand it, portage will treat
24 > the directory like any other when looking for ebuilds and resolving
25 > deps, but exclude it from a sync.
26
27 Portage doesn't have any special handling for this directory, aside from
28 the exclude in the default PORTAGE_RSYNC_OPTS setting. I would not
29 encourage people to use this directory for anything, because it tends to
30 give people the impression that it's safe to store random things inside
31 $PORTDIR, while it's somewhat fragile given that it relies on special
32 rsync options. Occasionally, we get bug reports from people who have
33 lost files because of this sort of confusion:
34
35 https://bugs.gentoo.org/show_bug.cgi?id=131030
36 https://bugs.gentoo.org/show_bug.cgi?id=392565
37
38 >>
39 >>> That one has irked me for ages, its the one thing left on my systems
40 >>> that stops the local tree dir being an exact replica of the upstream
41 >>> master.
42 >>
43 >> For portage's defaults, I won't settle for anything less than having
44 >> them all refer to separate directories which are *not* nested within
45 >> one other. These are the current default settings which violate my
46 >> requirements:
47 >>
48 >> PORTDIR=/usr/portage
49 >> DISTDIR=${PORTDIR}/distfiles
50 >> PKGDIR=${PORTDIR}/packages
51 >> RPMDIR=${PORTDIR}/rpm
52 >
53 > /usr/portage/local has the taste feel and smell of a hacky workaround:
54 > shove a directory in the tree and exclude it from sync.
55
56 Right.
57
58 > I suspect the best solution all round is to move all support for local
59 > overlays into layman. I'd be happy with that. Probably make the portage
60 > code cleaner too.
61
62 As mentioned, portage doesn't have any special handling for this
63 directory (aside from the rsync exclude).
64 --
65 Thanks,
66 Zac