Unless I interpret it wrong, you're saying that we actually need some
flexibility in what /usr/bin/node means, which is the same thing I'm
saying. Of course, the implementation of how to achieve this might change.

Honza

On Wed, Jul 12, 2023 at 4:34 PM Michael Dawson <[email protected]> wrote:

> My concern is the customer use case. They have installed a third party
> application which will be expecting to use the name "node" versus one that
> is tied to the version.  We want them to be able to easily use versions
> which are not the default because the default Node.js for a RHEL release
> will be EOL long before the version of RHEL is.
>
> On Wed, Jul 12, 2023 at 3:42 AM Honza Horak <[email protected]> wrote:
>
>> Sure. My current use case is preparing a nodejs v20 container image
>> similar to previous versions at [1]. I want to use the latest stable fedora
>> and explicitly want only nodejs v20 in the container (which is not the
>> default one in F38).
>>
>> I also want to install nodejs-nodemon into the container to make the
>> feature set to be on pair with previous versions, but that ends up with
>> pulling nodejs 18 (the default) as well, because of the dependency on
>> /usr/bin/node.
>>
>> Having different versions of packages like nodejs-nodemon in Fedora repos
>> does not seem to be technically needed, one RPM build seems to be fine for
>> more nodejs versions. I believe we did it the same in previous design with
>> modules -- we only installed nodejs and npm from the module, but had
>> nodejs-nodemon available in the repos in a single instance and it worked
>> fine with all nodejs versions.
>>
>> Does that make more sense now? Maybe I'm trying to solve it too
>> complicated, feel free to suggest any other solution.
>>
>> [1] https://github.com/sclorg/s2i-nodejs-container/
>>
>> Honza
>>
>> On Tue, Jul 11, 2023 at 7:27 PM Stephen Gallagher <[email protected]>
>> wrote:
>>
>>> On Tue, Jul 11, 2023 at 11:19 AM Honza Horak <[email protected]> wrote:
>>> >
>>> > The current implementation of alternative nodejs versions in a single
>>> Fedora (say 38), is this:
>>> > * the main version (v18 in F38) ships /usr/bin/node
>>> > * alternative versions ship only /usr/bin/node-XX
>>> >
>>> > Node modules packaged as RPM (e.g. nodejs-nodemon) then often include
>>> this hard dependency: Requires: /usr/bin/node
>>> >
>>> > Suppose I want to install only the alternative (non-default) version
>>> of node and install a module nodejs-nodemon (that can run fine with any
>>> nodejs version). I cannot do this at this point, because the nodejs-nodemon
>>> pulls in the default node as a dependency.
>>>
>>> I think you need to be more explicit about why you want to only
>>> install a non-default version AND run this tool. This is very much
>>> part of the design: applications packaged in Fedora RPMs are not
>>> expected to be runnable against an arbitrary Node binary. They specify
>>> the one they are known to work with explicitly through package
>>> dependencies.
>>>
>>> What is the use-case you're actually trying to solve?
>>> _______________________________________________
>>> nodejs 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://pagure.io/fedora-infrastructure/new_issue
>>>
>> _______________________________________________
>> nodejs 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://pagure.io/fedora-infrastructure/new_issue
>>
> _______________________________________________
> nodejs 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://pagure.io/fedora-infrastructure/new_issue
>
_______________________________________________
nodejs 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://pagure.io/fedora-infrastructure/new_issue

Reply via email to