I can see how that is possible for Fedora but the same won't be true for RHEL

On Fri, Aug 26, 2022 at 3:20 PM Stephen Gallagher <sgallagh@redhat.com> wrote:
On Fri, Aug 26, 2022 at 2:27 PM Michael Dawson <midawson@redhat.com> wrote:
>
> I'd be interested in some of the scenarios above, but where a version of Node.js higher than the default has been installed.
>
> For example I install nodejs v20 (F37's default Node is v18, but v20 is now available).  I then run  `dnf upgrade` what happens?

Is Node.js v18 also installed on the system? If so, then /usr/bin/node
would be v18 and both packages (nodejs18 and nodejs20) would be
upgraded to the latest available package version.

If *only* Node.js v20 is installed on the system, then /usr/bin/node
would be v20 and only v20 will be upgraded.

> Overall what you describe seems more familiar to me in terms of how to manage versions/multiple copies of a component on linux.
>
> One of question is if it would be possible to warn people or require a --force flag if people install EOL versions, even if it is the default for the Fedora version.  I understand we always want to allow people to stick to the version that came with a Fedora/RHEL version but I think we could do more to help them avoid accidentally use an EOL verion.

There's really no easy way to prevent installation of an EOL version.
It's just not a feature of the package manager.

That said, my plan is to deal with this mostly via policy: the Node.js
packaging policy would be amended to say that we only ship Node.js
versions in a Fedora release that remain fully supported until that
Fedora release's expected End-of-Life date.

For a more concrete example, let's take a look at the expected
lifecycle dates for Fedora 37, 38 and 39 and compare them to the
lifecycle dates for Node.js 14, 16, 18, 20 and 22.

Fedora 37: Oct 2022 - Nov 2023
Fedora 38: May 2023 - Jun 2024
Fedora 39: Oct 2023 - Nov 2024

Node 14: Apr 2020 - Apr 2023
Node 16: Apr 2021 - Sep 2023 (Special, because of OpenSSL)[*]
Node 18: Apr 2022 - Apr 2025
Node 20: Apr 2023 - Apr 2026
Node 22: Apr 2024 - Apr 2027 (Assumed)
Node 24: Apr 2025 - Apr 2026 (Assumed)

In Fedora 37, we would be able to ship Node.js 16[*], 18 and 20 (which
releases Apr 2023). We would not ship Node.js v14 because its EOL date
is earlier than Fedora 37's. We wouldn't ship Node.js 22 in Fedora 37
because it will be released after Fedora 37's EOL. The default would
be v18.

In Fedora 38, we'd be shipping Node.js 18, 20, and 22, though Node v22
will only be supported for a few months. It's not any extra effort to
build it for an extra Fedora release, though. The default would be
v20.

In Fedora 39, we'd again be shipping 18, 20 and 22. Node v24 will be
released after the Fedora EOL. The default would be v20.

[*] The period between Sep 2023 and Nov 2023 is short enough that we
should probably make an exception and ship v16. This is the only
situation in Fedora where we might be shipping an unsupported version
of Node.js.
_______________________________________________
nodejs mailing list -- nodejs@lists.fedoraproject.org
To unsubscribe send an email to nodejs-leave@lists.fedoraproject.org
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/nodejs@lists.fedoraproject.org
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue