Bug 1479486
| Summary: | Use arch-specific Requires on dleyna-connector-dbus | |||
|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 7 | Reporter: | Craig Donnelly <cdonnell> | |
| Component: | dleyna-server | Assignee: | Debarshi Ray <debarshir> | |
| Status: | CLOSED ERRATA | QA Contact: | Desktop QE <desktop-qa-list> | |
| Severity: | high | Docs Contact: | ||
| Priority: | high | |||
| Version: | 7.4 | CC: | cww, jcastran, jkoten, toneata, tpelka | |
| Target Milestone: | rc | Keywords: | EasyFix, ZStream | |
| Target Release: | --- | |||
| Hardware: | Unspecified | |||
| OS: | Unspecified | |||
| Whiteboard: | ||||
| Fixed In Version: | dleyna-server-0.5.0-2.el7 | Doc Type: | If docs needed, set a value | |
| Doc Text: | Story Points: | --- | ||
| Clone Of: | ||||
| : | 1499286 (view as bug list) | Environment: | ||
| Last Closed: | 2018-04-10 15:04:23 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: | 1420851, 1499286 | |||
Umm... I don't understand. dleyna-renderer is a leaf-level package with a binary daemon that links against libdleyna-core-1.0.so.* from dleyna-core. dleyna-connector-dbus provides a shared object that's meant to be dlopen:ed by libdleyna-core-1.0.so.*. ie. it provides a plugin. In RHEL 7.4, as part of the larger desktop rebase, dleyna-server and dleyna-core went from 0.4.0-1 to 0.5.0-1. Since dleyna-core's soname got bumped to libdleyna-core-1.0.so.4, dleyna-connector-dbus was rebuilt against it. So it went from 0.2.0-1 to 0.2.0-2. (In reply to Craig Donnelly from comment #0) > Actual results: > Error: Package: dleyna-connector-dbus-0.2.0-2.el7.i686 > (rhel-7-server-optional-rpms) > Requires: libdleyna-core-1.0.so.4 Therefore, it looks like yum had access to the new dleyna-connector-dbus-0.2.0-2.el7.i686, but not the dleyna-core-0.5.0-1 ABI that it was built against. It is not clear to me how explicitly specifying the architecture would have helped. > Error: Package: dleyna-connector-dbus-0.2.0-2.el7.i686 > (rhel-7-server-optional-rpms) > Requires: libdleyna-core-1.0.so.4 > > > Expected results: > Installing dleyna-server.x86_64 should only pull dependencies for > dleyna-connecer-dbus.x86_64 Are you saying that trying to install dleyna-server.x86_64 is pulling in dleyna-connector-dbus.i686, not dleyna-connector-dbus.x86_64? Correct. If we use install media that does not have the latest dleyna-server available, the fact that there is a newer version of the dleyna-connector-dbus will cause it to actually try to pull the latest release, non-arch specific, into the install. This will fail as the server package doesn't care about the architecture of the connector-dbus package, so you reach this issue because it pulls in to install 32-bit that is un-needed. The 64-bit version of this is in the base repo / install media, meaning we have everything we need up front but yum does its wonders based on the packaging and pulls down the *newest* release, which happens to also be an arch mismatch. I'm saying that if the server package specified arch, we wouldn't see this issue with this particular package, regardless of version. I have built dleyna-server-0.5.0-2.el7: https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=14183929 Requires: dleyna-connector-dbus
was replaced by
Requires: dleyna-connector-dbus%{?_isa}
I believe this is what we want.
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:0841 |
Description of problem: Currently the spec for dleyna-server does not specify an arch for the requires statement of 'dleyna-connector-dbus'. <snip> # repoquery --requires dleyna-server.x86_64 dbus dleyna-connector-dbus </snip> If for some reason there is a newer edition of the package available in another repository (or base), the install of packages will fail due to version/dependency mismatches. A current scenario where this can be seen is from the standpoint of customers installing previous RHEL releases via kickstart with optional enabled. For instance, kickstarting RHEL 7.3 with optional enabled will pull in the latest dylena-connector-dbus that doesn't match the available release on the kickstart media, and also doesn't match the architecture, as we are unspecific. Doing a resolve against dlyena-server with 7.3 install media and rhel-7-server-optional-rpms reveals the follwing: <snip> # repoquery --requires dleyna-server.x86_64 --resolve ... dleyna-connector-dbus-0:0.2.0-2.el7.i686 dleyna-connector-dbus-0:0.2.0-1.el7.x86_64 </snip> We would actually encounter this same issue in the event we shipped a newer version of 'dleyna-connector-dbus.i686' during RHEL 7.4's lifecycle, due to the fact that we do not update install media/ISOs for the releases after GA. The large occurrence of this issue is noticed when people are installing RHEL Workstation or the @gnome-desktop group. The trickle down of dependencies will cause us to hit this issue during an install, starting with the addition of the 'totem' package from the group. Version-Release number of selected component (if applicable): RHEL 7.4 dleyna-connector-dbus-0:0.2.0-2.el7.i686 dleyna-server How reproducible: 100% Steps to Reproduce: 1. Utilize a test system with InstallMedia-7.3 (RHEL 7.3 GA ISO or kickstart tree) and rhel-7-server-optional-rpms (7Server, i.e. 7.4) available. 2. Attempt to install @gnome-desktop, or dleyna-server.x86_64. Actual results: Error: Package: dleyna-connector-dbus-0.2.0-2.el7.i686 (rhel-7-server-optional-rpms) Requires: libdleyna-core-1.0.so.4 ********************************************************************** yum can be configured to try to resolve such errors by temporarily enabling disabled repos and searching for missing dependencies. To enable this functionality please set 'notify_only=0' in /etc/yum/pluginconf.d/search-disabled-repos.conf ********************************************************************** Error: Package: dleyna-connector-dbus-0.2.0-2.el7.i686 (rhel-7-server-optional-rpms) Requires: libdleyna-core-1.0.so.4 Expected results: Installing dleyna-server.x86_64 should only pull dependencies for dleyna-connecer-dbus.x86_64 dleyna-server.x86_64 should require dleyna-connector-dbus(x86-64) dleyna-server.i686 should require dleyna-connector-dbus(x86-32)