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