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 <midawson(a)redhat.com> 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 <hhorak(a)redhat.com> 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 <sgallagh(a)redhat.com>
> wrote:
>
>> On Tue, Jul 11, 2023 at 11:19 AM Honza Horak <hhorak(a)redhat.com> 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 -- nodejs(a)lists.fedoraproject.org
>> To unsubscribe send an email to nodejs-leave(a)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
>>
> _______________________________________________
> nodejs mailing list -- nodejs(a)lists.fedoraproject.org
> To unsubscribe send an email to nodejs-leave(a)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
>
_______________________________________________
nodejs mailing list -- nodejs(a)lists.fedoraproject.org
To unsubscribe send an email to nodejs-leave(a)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