Bug 1412200
| Summary: | Upgrade of util-linux breaks dependency of spacewalk-dobby | ||
|---|---|---|---|
| Product: | [Community] Spacewalk | Reporter: | bernhard.lichtinger |
| Component: | Installation | Assignee: | Michael Mráka <mmraka> |
| Status: | CLOSED CURRENTRELEASE | QA Contact: | Red Hat Satellite QA List <satqe-list> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 2.6 | CC: | matt.heller1, mmraka |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | spacewalk-web-2.10.1-1 | Doc Type: | If docs needed, set a value |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2020-03-19 12:16:29 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: | |||
| Bug Depends On: | |||
| Bug Blocks: | 1802137 | ||
I made a mistake, /sbin/runuser is there with both versions of util-linux. And I found a solution for the dependency problem: First update only spacewalk-dobby: yum update spacewalk-dobby Then update the rest: yum update I hit this same problem but the solution of first updating spacewalk-dobby by itself did not work for me.
[packages versions spacewalk-dobby.noarch 2.7.6-1.el7 and util-linux.x86_64 2.23.2-43.el7_4.2 in my case]
It seems that the real fix is to either
a) change spacewalk-dobby's rpm .spec file to require /usr/sbin/runuser rather than /sbin/runuser (an aside: it looks like the rpm software in RHEL/CentOS 7 is not new enough to support a boolean OR in the "Requires:" field.)
b) add /sbin/runuser to the "Provides:" section of until-linux's rpm .spec file to declare that it does in fact provide /sbin/runuser via a symbolic link
The workaround that did work for me is to create and install a compatibility shim package:
[root@ ~]# cat runuser-location-compat-dummy.spec
Name: runuser-location-compat-dummy
Version: 1.0.0
Release: 1%{?dist}
Summary: Compatibility shim, provides /sbin/runuser
Group: dummy
License: GPL
Requires: /usr/sbin/runuser
Provides: /sbin/runuser
%description
Compatibility shim, the util-linux package provides the runuser
command but at /usr/sbin/runuser and the rpm .spec does not
explicitly say it also provides /sbin/runuser via symlinking.
Some packages (spacewalk-dobby) depend on "/sbin/runuser"
%files
[root@ ~]# rpmbuild -bb runuser-location-compat-dummy.spec ^C
[root@ ~]# yum localinstall /root/rpmbuild/RPMS/x86_64/runuser-location-compat-dummy-1.0.0-1.el7.centos.x86_64.rpm
[root@ ~]# yum upgrade
Fixed in spacewalk git by
commit 04bcd01867600415fe75f8e5c87343b81712b664
1412200 - corrected sbin path on RHEL7
Spacewalk 2.10 has been released. https://github.com/spacewalkproject/spacewalk/wiki/ReleaseNotes210 |
Description of problem: With RHEL/CentOS 7.3 util-linux will be upgraded from util-linux-2.23.2-26.el7_2.3.x86_64 to util-linux-2.23.2-33.el7.x86_64. But this breaks the dependency of spacewalk-dobby. Version-Release number of selected component (if applicable): util-linux-2.23.2-26.el7_2.3.x86_64 util-linux-2.23.2-33.el7.x86_64 spacewalk-dobby-2.6.6-1.el7.noarch How reproducible: Everytime I run "yum upgrade" Steps to Reproduce: 1. run "yum upgrade" on EL 7.2 to get EL 7.3 Actual results: --> Processing Dependency: /sbin/runuser for package: spacewalk-dobby-2.6.6-1.el7.noarch --> Finished Dependency Resolution Error: Package: spacewalk-dobby-2.6.6-1.el7.noarch (spacewalk) Requires: /sbin/runuser Removing: util-linux-2.23.2-26.el7_2.3.x86_64 (@updates) Not found Updated By: util-linux-2.23.2-33.el7.x86_64 (base) Not found Expected results: yum upgrade without conflicts. Additional info: The old version has the binary runuser in /sbin/runuser and in /usr/sbin/runuser. The new version only in /usr/sbin/runuser. But spacewalk-dobby wants a /sbin/runuser.