Bug 2179086

Summary: BR nodejs-devel pulls nodejs20-devel instead in F37 and F38
Product: [Fedora] Fedora Reporter: Iñaki Ucar <i.ucar86>
Component: nodejs20Assignee: Stephen Gallagher <sgallagh>
Status: MODIFIED --- QA Contact:
Severity: high Docs Contact:
Priority: unspecified    
Version: 38CC: mattias.ellert, mavit, maxwell, mpospisi, quantum.analyst, sgallagh
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 2130002    

Description Iñaki Ucar 2023-03-16 15:46:09 UTC
As discussed in the mailing list, several packages that BR nodejs-devel are experiencing FTBFS in F37 and F38. See e.g. https://koji.fedoraproject.org/koji/taskinfo?taskID=98707846

Comment 1 Mattias Ellert 2023-03-25 17:48:39 UTC
In Fedora 37 and 38 nodejs version 18 is the default. Only the default version must provide the unversioned package names nodejs, nodejs-devel, npm, etc.

Currently nodejs20 provides nodejs, nodejs20-devel provides nodejs-devel and nodejs20-npm provides npm. Any package that BuildRequires any of these are supposed to get the default version. This is currently not working.

$ dnf repoquery --whatprovides nodejs
Senaste kontroll av utgång av metadata: för 0:05:15 sedan den lör 25 mar 2023 18:30:44.
nodejs-1:18.15.0-1.fc37.i686
nodejs-1:18.15.0-1.fc37.x86_64
nodejs-1:18.7.0-1.fc37.i686
nodejs-1:18.7.0-1.fc37.x86_64
nodejs20-1:19.7.0-13.fc37.i686
nodejs20-1:19.7.0-13.fc37.x86_64

$ dnf repoquery --whatprovides nodejs-devel
Senaste kontroll av utgång av metadata: för 0:05:25 sedan den lör 25 mar 2023 18:30:44.
nodejs-devel-1:18.15.0-1.fc37.i686
nodejs-devel-1:18.15.0-1.fc37.x86_64
nodejs-devel-1:18.7.0-1.fc37.i686
nodejs-devel-1:18.7.0-1.fc37.x86_64
nodejs20-devel-1:19.7.0-13.fc37.i686
nodejs20-devel-1:19.7.0-13.fc37.x86_64

$ dnf repoquery --whatprovides npm
Senaste kontroll av utgång av metadata: för 0:05:47 sedan den lör 25 mar 2023 18:30:44.
nodejs-npm-1:9.5.0-1.18.15.0.1.fc37.x86_64
nodejs20-npm-1:9.5.0-1.19.7.0.13.fc37.x86_64
npm-1:8.15.0-1.18.7.0.1.fc37.x86_64
npm-1:8.19.2-1.18.12.1.1.fc37.x86_64

Comment 2 Mattias Ellert 2023-03-25 18:00:33 UTC
Currently BuildRequires: npm results in dnf trying to install both nodejs20-libs and nodejs-libs resulting in a conflict:

Running transaction test
Error: Transaction test error:
  file /usr/lib64/libv8.so.10 conflicts between attempted installs of nodejs20-libs-1:19.7.0-13.fc37.x86_64 and nodejs-libs-1:18.15.0-1.fc37.x86_64
  file /usr/lib64/libv8_libbase.so.10 conflicts between attempted installs of nodejs20-libs-1:19.7.0-13.fc37.x86_64 and nodejs-libs-1:18.15.0-1.fc37.x86_64
  file /usr/lib64/libv8_libplatform.so.10 conflicts between attempted installs of nodejs20-libs-1:19.7.0-13.fc37.x86_64 and nodejs-libs-1:18.15.0-1.fc37.x86_64

Such conflicts are not allowed, unless packages declare conflicts against each other. But the different nodejs versions are supposed to be parallel installable and not have conflicts. Which is why only the default version provides the unversioned /usr/bin/node.

Comment 3 Fedora Update System 2023-03-27 12:57:12 UTC
FEDORA-2023-e8780c2a40 has been submitted as an update to Fedora 37. https://bodhi.fedoraproject.org/updates/FEDORA-2023-e8780c2a40

Comment 4 Fedora Update System 2023-03-27 12:57:12 UTC
FEDORA-2023-c8e9af7ad0 has been submitted as an update to Fedora 38. https://bodhi.fedoraproject.org/updates/FEDORA-2023-c8e9af7ad0

Comment 5 Fedora Update System 2023-03-28 03:28:13 UTC
FEDORA-2023-e8780c2a40 has been pushed to the Fedora 37 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2023-e8780c2a40`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2023-e8780c2a40

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 6 Fedora Update System 2023-03-28 03:42:49 UTC
FEDORA-2023-c8e9af7ad0 has been pushed to the Fedora 38 testing repository.

You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2023-c8e9af7ad0

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 7 Fedora Update System 2023-03-30 14:37:00 UTC
FEDORA-2023-c9c9af3c3d has been submitted as an update to Fedora 37. https://bodhi.fedoraproject.org/updates/FEDORA-2023-c9c9af3c3d

Comment 8 Mattias Ellert 2023-04-01 07:10:39 UTC
Remove ALL unversioned provides from the non-default packages.

The packages built by the non-default nodejs20 source RPM in Fedora 37 claim that they provide the following without actually doing so. The list is similar for any non-default version in any Fedora release.

nodejs20-19.8.1-6.fc37.x86_64.rpm

* nodejs = 1:19.8.1-6.fc37
* nodejs(engine) = 19.8.1
* nodejs-punycode = 2.1.0
* npm(punycode) = 2.1.0

nodejs20-devel-19.8.1-6.fc37.x86_64.rpm

* nodejs-devel = 1:19.8.1-6.fc37

nodejs20-docs-19.8.1-6.fc37.noarch.rpm

* nodejs-docs = 1:19.8.1-6.fc37

nodejs20-libs-19.8.1-6.fc37.x86_64.rpm

* libv8.so.10()(64bit) = 3:10.8.168.25
* libv8_libbase.so.10()(64bit) = 3:10.8.168.25
* libv8_libplatform.so.10()(64bit) = 3:10.8.168.25
* nodejs-libs = 1:19.8.1-6.fc37
* v8 = 3:10.8.168.25-6.fc37
* v8(x86-64) = 3:10.8.168.25-6.fc37

nodejs20-npm-9.5.1-1.19.8.1.6.fc37.x86_64.rpm

* npm = 1:9.5.1-1.19.8.1.6.fc37
* npm(npm) = 9.5.1

v8-10.8-devel-10.8.168.25-1.19.8.1.6.fc37.x86_64.rpm

* v8-devel = 3:10.8.168.25-1.19.8.1.6.fc37

Comment 9 Aoife Moloney 2024-05-07 16:00:49 UTC
This message is a reminder that Fedora Linux 38 is nearing its end of life.
Fedora will stop maintaining and issuing updates for Fedora Linux 38 on 2024-05-21.
It is Fedora's policy to close all bug reports from releases that are no longer
maintained. At that time this bug will be closed as EOL if it remains open with a
'version' of '38'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, change the 'version' 
to a later Fedora Linux version. Note that the version field may be hidden.
Click the "Show advanced fields" button if you do not see it.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora Linux 38 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora Linux, you are encouraged to change the 'version' to a later version
prior to this bug being closed.