Description of problem: Satellite 5.8 cannot correctly parse weak/rich rpm dependencies. Version-Release number of selected component (if applicable): Satellite 5.8 # rpm -q spacewalk-java spacewalk-backend spacewalk-java-2.5.14-95.el6sat.noarch spacewalk-backend-2.5.3-151.el6sat.noarch # rpm -qa rpm* rpm-libs-4.8.0-55.el6.x86_64 rpm-4.8.0-55.el6.x86_64 rpm-build-4.8.0-55.el6.x86_64 rpm-python-4.8.0-55.el6.x86_64 How reproducible: always Steps to Reproduce: 1. check weak/rich dependencies of a package using rpm 2. check weak/rich dependencies of the same package as shown on Satellite 5 WebUI 3. compare those two Actual results: 1. $ rpm -qp --enhances /tmp/acme-tiny-0.1-12.20160810git5a7b4e7.fc26.noarch.rpm httpd mod_ssl nginx $ rpm -qp --suggests /tmp/acme-tiny-0.1-12.20160810git5a7b4e7.fc26.noarch.rpm httpd mod_ssl nginx 2. Satellite 5 WebUI shows appropriate rpm dependency sections: Suggests httpd Enhances httpd Satellite 5 parses only the first weak/rich dependency from the list. There's no tooling available to fix this state. Expected results: Have either the same results of (1) and (2) or do not try to parse weak/rich dependencies at all. Additional info: Satellite 5.8 will be able to correctly parse the whole rpm weak/rich dependency list once Bug 1466678 is fixed. Till that time do not even try to parse the weak/rich dependency list.
spacewalk.github: 8fe431e0ac2b3c4870d98aacc41bfb7c8b8f9fdd packageImport knows how to ignore the 'new tags' on older Spacewalks, *and* old versions of RPM.
Reproduced with spacewalk-backend-2.5.3-160 using the reproducer from the initial report. While rpm provides complete list for "suggests" and "enahances", Spacewalk WebUI shows only first item from each list, just like described. - First scenario - updated Satellite (spacewalk-backend-2.5.3-162.el6sat), old rpm libs (rpm-4.8.0-55.el6), import a package providing "enhances"/"suggests" tags: Checking the package details in the Satellite (package management, Dependencies tab), there are no items in Suggests nor Enhances section. - Second scenario - updated Satellite (spacewalk-backend-2.5.3-162.el6sat), updated rpm libs (rpm-4.8.0-56.el6_9), import a package providing "enhances"/"suggests" tags: Checking the package details in the Satellite (package management, Dependencies tab), there are all items in Suggests and Enhances sections. In case of acme-tiny-0.1-12.20160810git5a7b4e7.fc26 it means: - httpd - mod_ssl - nginx in both cases. It is necessary to restart the Satellite after updating rpm libs, otherwise the new functionality is not working. Basically, the functionality works as expected now, with or without updated rpm. But I see an issue with the existing data. If packages were imported using the old spacewalk-backend and old rpm, even after update, Satellite will display old incorrect data generated during the initial package import/rhnpush/reposync. It is necessary to remove the packages and do a re-import to generate the correct data. Grant, is there some simple way to do a package data refresh to generate the correct data, without removing and re-importing packages? In any case, I think it would be useful to add a warning to the errata doc making user aware of the need to do a package refresh/reimport to make Satellite display correct package data.
The new capabilities don't appear in RHEL until RHEL8 happens. So no Satellite user will be affected by this. If someone has, say, imported a recent Fedora, then they'll just have to bite the bullet and re-import to fix, alas. Working as intended.
(In reply to Grant Gainey from comment #6) > The new capabilities don't appear in RHEL until RHEL8 happens. So no > Satellite user will be affected by this. If someone has, say, imported a > recent Fedora, then they'll just have to bite the bullet and re-import to > fix, alas. Working as intended. Ok. In that case, the fix works as expected. VERIFIED
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2018:0393