Hi again!

On Tue, Jun 23, 2026 at 10:55 PM Maxwell G <[email protected]> wrote:
> I think it just adds unnecessary confusion and complexity to uncouple
> these ideas. If there's no guarantee that different users installing
> `nodejs` on the same version of Fedora get the same version of nodejs as
> /usr/bin/node, then I don't think having a primary version makes much
> sense at all.

On clean system, they will – `dnf install nodejs` should pull
`nodejs-bin` and everything should work as expected, and everyone
should get the same version.
The problem might occur if you already have a non-default stream (e.g.
nodejs26 which pulled nodejs26-bin) and then try to install just
`nodejs`.
With the split approach, you'll get `nodejs` and e.g. `nodejs24`
installed, but /usr/bin/node will still point to /usr/bin/node-26.
With the merged approach, you'll get an error (conflicting packages
being installed) and will be forced to `dnf swap` into nodejs (rolling
stream).

So the question really is whether it is worth supporting the use case
where you want both of:
1. Having a control over which nodejs is your system default
(/usr/bin/node) *and*
2. Having a new "default" stream installed for you on `dnf
system-upgrade` without necessarily re-pointing /usr/bin/node to it.

I'm not convinced it is, so this is actually an argument in favor of
the merged approach.

> Can nodejs Provide nodejs-bin and nodejs-npm Provide nodejs-npm-bin so
> there's not a need for two extra metapackages but "dnf swap
> --allowerasing nodejs-bin nodejs24-bin" should still work?

I was under the impression that `dnf swap` would not work with virtual
provides, but according to the manual, it should.
It's still worth testing, but I now consider that viable.
That also mean that this decision does not have to be final, and we
can always reverse course via the right Provides/Obsoletes shuffling
without affecting user experience.

Having written this analysis, I start to think the user experience
might be better with the merged approach, even though it's paid for
with greater complexity within the spec file.
I'll think it over. If someone else has an opinion on this topic, now
is a good time to voice it – even just a +1 for one of the options
will help inform the decision. (Maxwell, I already count you as +1 for
the merged approach, of course.)

Best regards, and thanks for the responses!
-- 

Jan Stanek
Senior Software Engineer
Red Hat
IM: @jstanek

-- 
_______________________________________________
devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]
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/[email protected]
Do not reply to spam, report it: 
https://forge.fedoraproject.org/infra/tickets/issues/new

Reply via email to