On Tue, Aug 5, 2025 at 4:37 PM Stephen Gallagher <sgall...@redhat.com> wrote:
> Also be aware that you'll need to figure out what to do about `npm`
> and other tools that are bundled with the interpreter. They might need
> their own subpackages.

Yeah, we are aware, but here it will depend on what the actual use
cases are/will be.
We'll start with providing just `nodejs` and see what breaks (in the
testing side-tag).

> I'm curious why you're back-tracking here, though. I thought the
> entire point of the other Changes was that you did *not* want to have
> an opinionated `nodejs` package. The solution you're coming up with is
> starting to asymptotically approach the solution you are replacing.

Well, we are trying to do this (slightly) differently. This thread is
related to the metapackage proposal [1];
the TLDR would be that the opinionated `nodejs` package should be *optional*
– by having the nodejs and e.g. nodejs24 names provided by separate rpms,
we can differentiate between "I want any nodejs, don't care about
major version and it can change"
and "I want nodejs v24.x, keep it at that release stream".

[1]: https://fedoraproject.org/wiki/Changes/NodeJSMetapackages

The `nodejs` name could be provided by any of the versioned streams as
another subpackage,
but given that it may very well end up being a set of packages/names,
having a separate spec file for that looks easier from the maintenance
perspective.
Hence why we want to resurrect the actual nodejs package.

> I assume this is part of the solution to my question: "What happens
> upon upgrade between Fedora releases?"
>
> I guess `nodejs` package would carry the latest even-numbered
> (destined for LTS) release available at the time of Fedora release.
> (Given the Node.js release cycle, this doesn't line up perfectly, as
> even-numbered Fedora Betas are in February, where Node.js releases
> two-to-four weeks after our GA. So presumably we'd expect to ship v24
> (released in May) as the default Node.js in F43 and F44 and then v26
> in Fedora 45 and 46 (and so on). Those Node.js versions would still
> turn up as non-default options in one prior Fedora release. Do I have
> that correct?

The whole purpose of the `nodejs` package is to pull whichever
`nodejsXY` package we deem appropriate as the "default" or "any"
version; it will otherwise be empty.
For what we deem appropriate, it will probably follow what you
described above; but given that one of the documented non-guarantees
of the `nodejs` would be that the version can change even during the
lifetime of a single distribution release (e.g. F43),
we can be a bit more flexible with selecting the version. If you don't
want to be upgraded from eg. N24 to N26 during the lifetime of the
Fedora release, you would be encouraged to select and install a stream
specifically (e.g. `dnf install nodejs24`).

To answer your original question here, upgrade to Fedora releases here
is treated as any other upgrades in this specific case – `nodejs`
would be potentially updated to a new version; if that version depends
on newer `nodejsXY`, the newer stream will be pulled as a dependency.
The old one might be kept and updated, or removed as no-longer-needed
dependency (depends on the dnf and whether it was ever marked as
explicitly installed).

Hope this sheds some light on the matter.
Best regards!
-- 

Jan Stanek

Software Engineer

Red Hat

IM: @jstanek

-- 
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@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/devel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to