1 |
On 12/18/17 14:01, Rich Freeman wrote: |
2 |
> On Mon, Dec 18, 2017 at 7:45 AM, Francesco Riosa <vivo75@×××××.com> wrote: |
3 |
>> It would be interesting instead to evaluate ways to remove _all_ files/ dirs |
4 |
>> from the tree, keeping ebuilds separated from data. |
5 |
> Arguably you could go a step further and not distribute even the |
6 |
> ebuilds except on demand. Just have an index of what packages exist |
7 |
> and enough dependency info to avoid having to churn with ebuild |
8 |
> fetches in order to resolve them. |
9 |
interesting point of view but this would require major refactoring of |
10 |
portage and providing a resilient and capable infrastructure to serve |
11 |
the ebuilds on demand. |
12 |
Removing just files/ dirs would require no modification to portage and |
13 |
a load on infra that is probably much lighter (dependant on |
14 |
implementation chosen) |
15 |
|
16 |
> You could view ebuilds as source code - certainly important, but not |
17 |
> necessarily the best thing to just have sitting around on your hard |
18 |
> drive when not needed. |
19 |
Personally, most of the time I do see them exactly this way, but not a |
20 |
big fuss either |
21 |
> |
22 |
> Whether we remove all files/ or the entire package dir from the repo, |
23 |
> I'd suggest that this become more standardized if we wanted to go down |
24 |
> one of these roads. Instead of sticking something in SRC_URI and so |
25 |
> on, it might be best if files (or packages) be kept in a standard |
26 |
> mirrored location, and the package manager would just automatically |
27 |
> find/fetch them if they exist and extract them to a standard location. |
28 |
> Then any package that uses files/ can do so in a more standardized |
29 |
> way. |
30 |
Provided exact source of upstream files is kept near the ebuild the idea |
31 |
is tantalizing. |
32 |
A per repository base SRC_URI and "automatic" downloads of packages files |
33 |
|
34 |
> |
35 |
> This also would fix some existing issues with non-upstream distfiles, |
36 |
> where they get stored in various random locations and aren't |
37 |
> necessarily available long-term. This has been a topic that comes up |
38 |
> from time to time, especially if somebody is trying to build from an |
39 |
> old version of the repo. Something like genkernel patches or whatever |
40 |
> would just go in files/ since the size limit is now gone and they'd |
41 |
> presumably be archived forever. |
42 |
> |
43 |
another good point, it would be probably a good time to split $DISTDIR |
44 |
in per package directory, big number of inodes in that dir has also been |
45 |
a source of problems in the past, especially for mirror owners. |