Gentoo Archives: gentoo-dev

From: Rich Freeman <rich0@g.o>
To: johu@g.o
Cc: gentoo-dev <gentoo-dev@l.g.o>
Subject: Re: [gentoo-dev] rfc: moving default location of portage tree
Date: Mon, 09 Jul 2018 18:31:35
Message-Id: CAGfcS_=eM7mpx69tJRAsKT1EdZ8bgV=+G8PPW2h2vSVS0GybKw@mail.gmail.com
In Reply to: Re: [gentoo-dev] rfc: moving default location of portage tree by Johannes Huber
1 On Mon, Jul 9, 2018 at 2:11 PM Johannes Huber <johu@g.o> wrote:
2 >
3 > Am 09.07.2018 um 20:05 schrieb Rich Freeman:
4 > > On Mon, Jul 9, 2018 at 1:40 PM Ulrich Mueller <ulm@g.o> wrote:
5 > >>
6 > >>>>>>> On Mon, 9 Jul 2018, William Hubbs wrote:
7 > >>
8 > >>> is there a tracker for when the portage tree can be moved out of
9 > >>> /usr/portage by default?
10 > >>
11 > >>> If not, what is the status of us being able to do this?
12 > >>
13 > >> Please remind me, what was the plan for the new location?
14 > >> Somewhere under /var/db or /var/lib, IIRC?
15 > >>
16 > >
17 > > I'd also consider /var/cache here as well. FHS specifically suggests
18 > > using it for web caches and the like (let's set aside the issue with
19 > > making that global), though for the most part it is more metadata
20 > > caching. A key principle is that it can be wiped without loss of
21 > > data, and I think that is generally true for the repository since it
22 > > can be synced.
23 > >
24 > > Stuff in /var/lib can't be deleted without some kind of loss of
25 > > application state. /var/db isn't in FHS, and I note that even mysql
26 > > sticks its stuff in /var/lib.
27 > >
28 >
29 > Imho it would make sense to split up portage files with this change.
30 > Move the tree (ebuilds, profiles etc) to /var/lib/... and the metadata
31 > cache to /var/db as it can be regenerated out of the tree.
32 >
33
34 Are you talking about the metadata that gets synced as part of the
35 repository? Conceptually I like the idea of splitting it out, but IMO
36 the whole repository is really just one big cache, so keeping it
37 together since it always has to be consistent isn't a huge problem.
38
39 If you're talking about the stuff in /var/cache/edb, then that should
40 be separate from the repository, but should still be in cache.
41
42 I'd probably create /var/cache/portage, with subdirectories for
43 repositories (with a subdir for each one synced by portage), edb,
44 distfiles, and binary packages.
45 /var/cache/portage/repos/main
46 /var/cache/portage/repos/my-favorite-overlay
47 /var/cache/portage/distfiles
48 /var/cache/portage/edb
49
50 The stuff in /var/db/pkg should probably go in /var/lib/portage/pkg or
51 something like that, at least long-term.
52
53 --
54 Rich