Bug 2183837

Summary: nodejs20 has file conflicts with nodejs dependency
Product: [Fedora] Fedora Reporter: windowsboy111
Component: nodejs20Assignee: Stephen Gallagher <sgallagh>
Status: CLOSED ERRATA QA Contact:
Severity: medium Docs Contact:
Priority: unspecified    
Version: 37CC: sgallagh
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: All   
Whiteboard:
Fixed In Version: nodejs20-20.6.0-3.fc39 nodejs20-20.6.0-3.fc38 nodejs20-20.6.0-3.fc37 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-09-15 18:54:48 UTC 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:

Description windowsboy111 2023-04-02 15:52:33 UTC
Description of problem:
nodejs20 lists nodejs-libs as a dependency (recursive) which causes a file conflict.
This issue is pretty similar to 2179086, though it is described differently:

The nodejs20 package somehow sets nodejs-libs as a direct dependency.

Version-Release number of selected component (if applicable):
nodejs20: 1:19.7.0-13.fc37
nodejs: 1:18.15.0-1.fc37
nodejs-libs: 1:18.15.0-1.fc37
nodejs20-libs: 1:19.7.0-13.fc37

How reproducible: Always


Steps to Reproduce:
1. docker run -t -d --name nodetest fedora
2. docker exec nodetest dnf install -y nodejs20


Actual results:
```
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
```

Expected results:
Well... It installs successfully?

Additional info:
The bug is a result of these lines of code in the spec file (I think):
https://src.fedoraproject.org/rpms/nodejs20/blob/f37/f/nodejs20.spec#_323-324

I tested this on Fedora 38 and 37. It installs successfully on Fedora 38.

Also, I did a repoquery: (Fedora 37)
```
$ dnf repoquery --requires nodejs20 --resolve --recursive | grep node
nodejs-1:18.15.0-1.fc37.i686
nodejs-1:18.15.0-1.fc37.x86_64
nodejs-libs-1:18.15.0-1.fc37.i686
nodejs-libs-1:18.15.0-1.fc37.x86_64
nodejs-packaging-0:2023.03-1.fc37.noarch
nodejs20-libs-1:19.7.0-13.fc37.i686
nodejs20-libs-1:19.7.0-13.fc37.x86_64
```
And for Fedora 38:
```
$ docker exec nodetest38 dnf repoquery --requires nodejs20 --resolve --recursive | grep node
nodejs-1:18.15.0-5.fc38.i686
nodejs-1:18.15.0-5.fc38.x86_64
nodejs-libs-1:18.15.0-5.fc38.i686
nodejs-libs-1:18.15.0-5.fc38.x86_64
nodejs20-libs-1:19.8.1-6.fc38.i686
nodejs20-libs-1:19.8.1-6.fc38.x86_64
```

I am not so sure why it doesn't happen on 38.

Comment 1 Stephen Gallagher 2023-04-03 12:57:11 UTC
It doesn't happen on 38 because the update that addresses this issue has already gone to stable. On F37, the update has been held back due to a different bug that I'm going to address today.

Comment 2 Fedora Update System 2023-09-08 14:25:12 UTC
FEDORA-2023-9a2bdf3b20 has been submitted as an update to Fedora 37. https://bodhi.fedoraproject.org/updates/FEDORA-2023-9a2bdf3b20

Comment 3 Fedora Update System 2023-09-08 14:25:12 UTC
FEDORA-2023-6bb4abcf1d has been submitted as an update to Fedora 38. https://bodhi.fedoraproject.org/updates/FEDORA-2023-6bb4abcf1d

Comment 4 Fedora Update System 2023-09-09 01:50:20 UTC
FEDORA-2023-6bb4abcf1d has been pushed to the Fedora 38 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-6bb4abcf1d`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2023-6bb4abcf1d

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

Comment 5 Fedora Update System 2023-09-09 01:52:48 UTC
FEDORA-2023-1eb82f5066 has been pushed to the Fedora 39 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-1eb82f5066`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2023-1eb82f5066

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

Comment 6 Fedora Update System 2023-09-09 02:34:24 UTC
FEDORA-2023-9a2bdf3b20 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-9a2bdf3b20`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2023-9a2bdf3b20

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

Comment 7 Fedora Update System 2023-09-15 18:54:48 UTC
FEDORA-2023-1eb82f5066 has been pushed to the Fedora 39 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 8 Fedora Update System 2023-09-17 01:26:14 UTC
FEDORA-2023-6bb4abcf1d has been pushed to the Fedora 38 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 9 Fedora Update System 2023-09-17 01:42:51 UTC
FEDORA-2023-9a2bdf3b20 has been pushed to the Fedora 37 stable repository.
If problem still persists, please make note of it in this bug report.