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.
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.
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
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/
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/