nodesource / distributions

NodeSource Node.js Binary Distributions
https://nodesource.com
MIT License
13.5k stars 3.07k forks source link

Symbolic Release Repositories #1768

Closed rcfa closed 8 months ago

rcfa commented 9 months ago

It would be nice to have repos at

https://deb.nodesource.com/node_MAINTENANCE https://deb.nodesource.com/node_LTS https://deb.nodesource.com/node_CURRENT

This would allow a system the be set up more or less conservatively, and yet be kept current, without having to modify /etc/apt/sources.list.d/nodesource.list each time releases get promoted towards retirement and new releases get created.

riosje commented 9 months ago

Hi @rcfa thanks for reach out to us with this interesting approach. Can you elaborate a bit more how this would work plz?

rcfa commented 8 months ago

The point is to have things automatically update, rather than the user having to chase releases.

Not exactly sure what you want me to elaborate. Think of it as rolling releases.

So instead of me having to look up what the current LTS is, and then having to update my /etc/apt/sources.list to the proper repository, and then having to continually check if the current LTS is a newer version than what I have in there, I would simply point to the LTS repository, and then for all eternity my system would always have the most up to date LTS release installed. Zero further maintenance required.

This is key since it's not fun to separately chase after every component some software may use.

e.g. Homebridge has the stated policy of always supporting the most recent LTS. It updates itself, but not a systemwide node installation. The OS (Debian, cough) limps constantly far behind, so I keep nodjs current through the nodesource repo, rather than through the Debian repo. But now I'm forced to chase and track manually what's the current LTS release. No fun, and a waste of time.

Even if you e.g. run the LTS install script, you end up with an /etc/apt/sources.list.d/nodesource.list file that reads something like

deb https://deb.nodesource.com/node_20.x nodistro main

requiring the user to track the current LTS release, and updating that file, instead of something like this

deb https://deb.nodesource.com/node_LTS nodistro main

which would have "eternal" validity.