Bug 1637922 - Conflict when installing alongside stock NodeJS 6 on EL7
Summary: Conflict when installing alongside stock NodeJS 6 on EL7
Keywords:
Status: CLOSED EOL
Alias: None
Product: Red Hat Software Collections
Classification: Red Hat
Component: rh-nodejs8
Version: rh-nodejs8
Hardware: Unspecified
OS: Linux
unspecified
high
Target Milestone: ---
: ---
Assignee: Jan Staněk
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-10-10 10:46 UTC by Assen Totin
Modified: 2021-01-14 09:19 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-11-01 15:51:25 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Assen Totin 2018-10-10 10:46:07 UTC
Description of problem:
Installing alongside existing stock NodeJS 6 from EL7 is impossible due to packaging conflict.

Version-Release number of selected component (if applicable):
rh-nodejs8-nodejs-8.9.4-2.el7.x86_64

How reproducible:
Every time

Steps to Reproduce:
1. Install RHEL7.
2. Install stock nodejs version 6
3. Attempt to install rh-nodejs8 from SCL alongside.

Actual results:
Transaction check error:
  file /usr/lib/rpm/nodejs_native.req from install of rh-nodejs8-nodejs-8.9.4-2.el7.x86_64 conflicts with file from package nodejs-1:6.14.3-1.el7.x86_64

Expected results:
Packages from SCL should be able to install alongside their stock counterparts from the main distribution.

Additional info:
Not sure why the conflicting file is needed at all (just a two-liner which can probably be defined in the spec?)

Setting priority to high as this breaks any possible upgrade of NodeJS to version 8 via SCL and also breaks the creation of multi-version NodeJS servers.

Comment 1 Jan Staněk 2018-10-24 10:18:38 UTC
The conflicting file is part of an RPM dependency generator, and as such unfortunately cannot be set in spec file.

The apparent purpose of this generator is to add versioned dependencies on ABI of nodejs and v8 used in the collection.

However, currently this works only on the non-SCL version of nodejs, since the generator does not take into account the changes in paths associated with SCL (in other words, it does not look into /opt/… prefix).

Adapting the generator to a) not conflict and b) take into account SCL paths is not trivial.
What is more, there is no easy way to test the generator correctness, since there is no package in the SCL that this generator should (!) apply to.

The easiest (and potentially also wrong) way to resolve this issue would be to drop the generator from the collection – since it could not work until now, nothing will broke.
Of course, that will mean keeping this change in mind and manually "apply" the generator in case a relevant package will be added in the future.

Comment 2 Jan Staněk 2018-11-01 12:56:47 UTC
As it turns out, the other collections (rh-nodejs6 for example [1]) already drop this generator, and rh-nodejs8 ships it by mistake.

[1]: http://pkgs.devel.redhat.com/cgit/rpms/nodejs/tree/nodejs.spec?h=rhscl-3.2-rh-nodejs6-rhel-7#n215

Comment 6 Joe Orton 2019-10-25 11:34:58 UTC
Red Hat does not currently plan to provide any further changes to this collection in a Red Hat Software Collections update release.

This software collection is nearing the retirement date (October 2019) after which customers are encouraged to upgrade to a later release.

Please contact Red Hat Support if you have further questions, or refer to the support lifecycle page for more information. https://access.redhat.com/support/policy/updates/rhscl/

Comment 7 Joe Orton 2019-11-01 15:51:25 UTC
In accordance with the Red Hat Software Collections Product Life Cycle, the support period for this collection has ended.

New bug fix, enhancement, and security errata updates, as well as technical support services will no longer be made available for this collection.

Customers are encouraged to upgrade to a later release.

Please contact Red Hat Support if you have further questions, or refer to the support lifecycle page for more information. https://access.redhat.com/support/policy/updates/rhscl/


Note You need to log in before you can comment on or make changes to this bug.