1 |
On Wed, Feb 09, 2022 at 08:46:13AM -0500, Ionen Wolkens wrote: |
2 |
> On Wed, Feb 09, 2022 at 09:41:06AM +0100, Michał Górny wrote: |
3 |
> > Then you should repackage the vendored libs into a single small tarball, |
4 |
> > so it's much more efficient in every possible way. At this point, these |
5 |
> > thousands-of-tiny-distfiles waste bandwidth, space, time and practically |
6 |
> > cause parallel-capable emerge to hang. |
7 |
> |
8 |
> Seconding this when licenses allow redistribution and amount of files |
9 |
> is non-trivial. |
10 |
> |
11 |
> See app-containers/cosign for one Go vendor tarball example. |
12 |
> |
13 |
> I think manifest size for these small files is furthermore getting a |
14 |
> bit big while being kept by every Gentoo users. We try to keep things |
15 |
> like patch files under 20kB but the Manifests are getting over 500kB. |
16 |
> (...could be nearly halved if didn't keep two hashes, but guess that |
17 |
> ship has sailed). |
18 |
|
19 |
I hope vendor tarballs are a temporary solution. |
20 |
The down side of them is duplicate data across vendor tarballs. In other |
21 |
words, the vendor tarball for cosign could include data that is in other |
22 |
vendor tarballs and there is no way to prevent that. |
23 |
|
24 |
The best solution would be to have a src_fetch_extra phase like I |
25 |
mentioned earlier in the thread. If I had that ability, the cosign |
26 |
ebuild would look like this. Note that the src_fetch_extra function |
27 |
would be in the go-module eclass not the cosign ebuild so the ebuild |
28 |
would be smaller still. |
29 |
|
30 |
Thanks, |
31 |
|
32 |
William |