On Tue, Aug 5, 2025 at 7:11 PM Carl George <c...@redhat.com> wrote: > > On Tue, Aug 5, 2025 at 12:01 PM Stephen Gallagher <sgall...@redhat.com> wrote: > > > > On Tue, Aug 5, 2025 at 11:10 AM Jan Stanek <jsta...@redhat.com> wrote: > > > > > > 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), > > > > That would be in violation of our stable updates policy and would need > > a special FESCo exemption. It would require a compelling argument > > (like: "upstream changed its mind on how long it would be supported"). > > > > > 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`). > > > > That's the opposite of the users' expectation. If you want to have > > something like that, a better choice is to offer a `nodejs-latest` > > package that always tracks the newest version (which could include the > > odd-numbered Node.js releases, I'd expect). Users on that path would > > have to understand that they would regularly encounter > > backwards-incompatible changes. > > The package naming guidelines discourage the suffix "-latest" because > it often becomes misleading over time. > > https://docs.fedoraproject.org/en-US/packaging-guidelines/Naming/#multiple > > I think Python would be great example to follow here. There are > source packages for each "major" version, and every Fedora release one > of those source packages enables the main_python condition to switch > the binary package names from python%{pybasever} to python3. In > simplified terms of source rpm to binary rpm per release: > > f42: > python3.12 -> python3.12 > python3.13 -> python3 > python3.14 -> python3.14 > > f43: > python3.12 -> python3.12 > python3.13 -> python3.13 > python3.14 -> python3 > > This gives users the flexibility to choose newer (or older) versions, > or use the default python3 that sticks to one major version for the > duration of that Fedora release. It also makes it easier for > packagers to introduce new upstream versions to existing Fedora > releases. This setup works well, and I Fedora would be better off if > we start standardizing this approach in more packages, rather than > asking users to understand different patterns for each language stack > and risking missed expectations. >
You are describing the exact approach that they are in the process of replacing. -- _______________________________________________ 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