1 |
On Fri, Jul 13, 2018 at 1:50 PM Ulrich Mueller <ulm@g.o> wrote: |
2 |
> |
3 |
> For both /var/lib and /var/cache the FHS requires a <package> |
4 |
> subdirectory. Unless we want this to be "portage", we could use |
5 |
> "package-manager" (since virtual/package-manager is a package), |
6 |
> or pretend that "pm" is an alias for it. This would lead us to the |
7 |
> following paths, respectively: |
8 |
> |
9 |
> /var/lib/{package-manager,pm}/gentoo |
10 |
> /var/cache/{package-manager,pm}/distfiles |
11 |
> /var/cache/{package-manager,pm}/packages |
12 |
> |
13 |
> Alternatively, we could place either the gentoo tree, or all three of |
14 |
> the above under /var/db (which doesn't follow the FHS, so no subdir |
15 |
> requirement): |
16 |
> |
17 |
> /var/db/repos/gentoo |
18 |
> /var/db/distfiles |
19 |
> /var/db/packages |
20 |
> |
21 |
|
22 |
I'd suggest refactoring this a bit. We have a couple of directories. |
23 |
We need to establish the base, and then the directory name under that. |
24 |
|
25 |
We have: |
26 |
distfiles |
27 |
packages |
28 |
main repo |
29 |
overlays |
30 |
|
31 |
These can go under: |
32 |
/var/db |
33 |
/var/cache |
34 |
/var/lib |
35 |
|
36 |
You have just about every sane permutation of these as options, so I |
37 |
suggest considering the two separately. |
38 |
|
39 |
I think the pros/cons of the second question have already been hashed |
40 |
out. I tend to agree with the /var/lib arguments for all but |
41 |
distfiles (FHS directly gives the example of browser cache in |
42 |
/var/cache, and that is very much what distfiles is). |
43 |
|
44 |
For the directory under each I suggest a gentoo/portage parent |
45 |
directory, and then a tree underneath: |
46 |
.../gentoo/repos/gentoo (this is PMS) |
47 |
.../gentoo/repos/myoverlay (this is PMS) |
48 |
.../gentoo/packages (I'm not sure if this is PMS - move to portage if not) |
49 |
.../gentoo/distfiles (I don't think this is PMS, but it is so |
50 |
generic that it probably should be considered shared) |
51 |
.../portage/edb (I think this is portage-specific) |
52 |
.../portage/pkg (I think this is also portage-specific) |
53 |
|
54 |
Stuff that is specific to portage and not specified in PMS would go in |
55 |
.../portage. Stuff that is PMS-specified would go in .../gentoo. |
56 |
|
57 |
Note that not all these directories need be under the same base. We |
58 |
could have /var/lib/gentoo/repos, and /var/cache/gentoo/distfiles. |
59 |
So, the base needs to be decided for each. |
60 |
|
61 |
Finally, my list of final recommendations given this framework: |
62 |
|
63 |
/var/lib/gentoo/repos/gentoo (I'm fine with cache here as well) |
64 |
/var/cache/gentoo/packages (These are package builds and are |
65 |
completely reproducible.) |
66 |
/var/cache/gentoo/distfiles (This is literally a network cache/mirror) |
67 |
/var/cache/portage/edb (This is portage-specific, |
68 |
but it can be regenerated) |
69 |
/var/lib/portage/pkg (This is the must-preserve |
70 |
metadata state of the system, in portage's internal format.) |
71 |
/var/lib/portage/world (Current state - at least |
72 |
something is already in the right place...) |
73 |
|
74 |
-- |
75 |
Rich |