1 |
On Sun, 2021-01-31 at 18:42 -0500, Andrew Udvare wrote: |
2 |
> |
3 |
> Our best option is to treat Nodejs stuff the way we treat Rust and Go |
4 |
> packages. Pretend Nodejs 'binaries' are 'built' statically and |
5 |
> therefore, grab all the dependencies in the main package ebuild. |
6 |
|
7 |
The only thing a package manager does for you is that it allows one |
8 |
person (the Gentoo developer, in this case) to invest a little bit of |
9 |
time to save everyone else (the Gentoo users) a lot of time. When |
10 |
software has been packaged correctly, it integrates well with the rest |
11 |
of the system, gets constant maintenance and security updates, and can |
12 |
be managed from a central location in a consistent manner. |
13 |
|
14 |
"Packaging" software like you describe isn't packaging it in this |
15 |
sense. When you bundle everything together, |
16 |
|
17 |
1. Nothing is shared between packages so build time and disk |
18 |
usage skyrockets. |
19 |
|
20 |
2. The number of updates and thus the amount of work required |
21 |
|
22 |
also skyrockets, for the same reason: when nothing is shared, you |
23 |
|
24 |
have to update each package whenever a dependency of a dependency |
25 |
|
26 |
of a dependency... changes. |
27 |
|
28 |
3. There are no security updates, ever. If you use anything written |
29 |
in Rust or Go on Gentoo, or if you use anything that uses |
30 |
anything written in Rust or Go, or..... it will NEVER get a |
31 |
security update. No one even bothers looking for security |
32 |
issues in these languages because the "find a bug then fix it" |
33 |
algorithm is infeasible. |
34 |
|
35 |
4. You do get to do updates with e.g. "emerge -puDN @world", but not |
36 |
really, because no one is actually updating Gentoo packages every |
37 |
time a dependency of a dependency changes. |
38 |
|
39 |
So ultimately, there's little benefit and it introduces security |
40 |
vulnerabilities to our users who might be better off just using NPM or |
41 |
whatever (or using software written in a sane language). |