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