1 |
On Tue, 2022-06-14 at 19:03 +0200, Florian Schmaus wrote: |
2 |
> On 14.06.22 18:33, Holger Hoffstätte wrote: |
3 |
> > So my idea here is: instead of chucking EGO_SUM (automatically |
4 |
> > generated declarative dependency management) out the window, can we not |
5 |
> > separate the two and instead of uploading the tarball upload the |
6 |
> > dependency set instead? |
7 |
> I think that this idea that has been pitched already (see for example |
8 |
> Robin's post [1]), although in a broader non-Go-specific sense and it is |
9 |
> one obvious way to move forward. |
10 |
> |
11 |
> An, and probably the largest, obstacle is that this can not be |
12 |
> implemented in an eclass alone. Due the sandboxing during the build |
13 |
> process, fetching distfiles, which is what we are talking about, is the |
14 |
> package managers job and hence, I believe, this would require adustments |
15 |
> to the package manager and package manager specification (PMS). |
16 |
> |
17 |
> The basic idea, at least to my understanding (or how I would propose |
18 |
> it), is to have a new top-level ebuild variable |
19 |
> |
20 |
> SRC_URI_FILE="https://example.org/manifests/restic-0.13.1.files" |
21 |
> |
22 |
> where restic-0.13.1.files contains lines like |
23 |
> |
24 |
> <SRC_URI> <SIZE> <HASH> [<TARGET_FILENAME>] |
25 |
> |
26 |
> which is, as you nicely demonstrated on the restic ebuild, where the |
27 |
> bytes contributing to the ebuild size bloat originate from. |
28 |
> |
29 |
> Those bytes are now outsourced from ::gentoo, can be fetched on-demand, |
30 |
> allowing the package manager to download the individual distfiles into |
31 |
> DISTDIR, where an, e.g., the go eclass can process them further within |
32 |
> the constraints of the security sandbox. |
33 |
> |
34 |
|
35 |
Anything that involves breaking the Portage plan-depgraph / fetch&build |
36 |
separately would require major architectural changes, so can be rejected |
37 |
immediately as "not going to be implemented in our lifetimes". |
38 |
|
39 |
-- |
40 |
Best regards, |
41 |
Michał Górny |