On 20. 03. 24 17:35, Jan Staněk 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). --- 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? 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.).
Python does this similarly to nodejs (we have python3.11, pytohn3, python3.13 in rawhide today), with one difference. The python3 package provides python3.12. So when you do:
requires: - python3.12 It just works. I believe nodejs should provide nodejs20, the same way. -- Miro Hrončok -- Phone: +420777974800 IRC: mhroncok -- _______________________________________________ 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