Re: Default NodeJS stream packages with versioned names are not available

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Mar 20, 2024 at 12:35 PM Jan Staněk <jstanek@xxxxxxxxxx> wrote:
>
> Hello all,
> recently, when trying to spin up a CI for NodeJS in Fedora, I ran into a
> slight problem: when a NodeJS stream is the default one, versioned
> packages (i.e. nodejs20) are not generated and are not installable.
>
> For example, on current rawhide, I cannot install `nodejs20` package,
> only `nodejs`; this will give me the version 20.x as expected.
> The problem is that this complicates the CI setup,
> and requires me to take into account which Fedora I'm currently on.
>
> As an example, when adding tests for nodejs20 dist-git[1],
> I would like to simply specify `requires: nodejs20` into the test
> metadata. However, with the current setup, I would need something akin
> to the following (pseudocode, I did not really test if that would work):
>
>     requires:
>         - {% if fedora == 40 %}nodejs{% else %}nodejs20{% fi %}
>
> In addition to being more complicated, this will also break if the
> default stream for a given Fedora version ever change
> (which is not unlikely to happen, as the upstream release schedule
> is not really synchronized with the Fedore one).
>

The default version is fixed for the life of each Fedora release. It
works out fine, because we always use whichever is the most recent LTS
release that will be supported through the life of that Fedora
release.

That said, I agree that it's completely reasonable to have the default
version also `Provides: nodejsXX` and I'll look into it.


> ---
>
> I recall that the current status is the result of already existing
> long discussion, with associated debugging, so I would like to have this
> solved with as minimal disruption as possible. That being said,
> what is the reason for having the non-versioned packages (`nodejs`) *in
> stead* of the versioned ones (`nodejs20`), as opposed to *in addition*
> to them?

I'm confused; it *is* in addition to the versioned ones. We just don't
duplicate the default version because it would be a complete waste.

> The non-versioned packages could then require the appropriate versioned
> ones and contain only symlinks (/usr/bin/node → /usr/bin/node-20,
> /usr/lib/node_modules → /usr/lib/node_modules_20, etc.).

The overly-simplified answer here is mainly that there are too many
symlinks to maintain for this to be practical.
--
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
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@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux