Bug 1479486 - Use arch-specific Requires on dleyna-connector-dbus
Use arch-specific Requires on dleyna-connector-dbus
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: dleyna-server (Show other bugs)
Unspecified Unspecified
high Severity high
: rc
: ---
Assigned To: Debarshi Ray
Desktop QE
: EasyFix, ZStream
Depends On:
Blocks: 1420851 1499286
  Show dependency treegraph
Reported: 2017-08-08 11:50 EDT by Craig Donnelly
Modified: 2018-04-10 11:04 EDT (History)
5 users (show)

See Also:
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)
Last Closed: 2018-04-10 11:04:23 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2018:0841 None None None 2018-04-10 11:04 EDT

  None (edit)
Description Craig Donnelly 2017-08-08 11:50:14 EDT
Description of problem:

Currently the spec for dleyna-server does not specify an arch for the requires statement of 'dleyna-connector-dbus'.

# repoquery --requires dleyna-server.x86_64

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:

# repoquery --requires dleyna-server.x86_64 --resolve

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

How reproducible:

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)
Comment 3 Debarshi Ray 2017-08-08 13:50:06 EDT
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?
Comment 4 Craig Donnelly 2017-08-08 14:17:43 EDT

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.
Comment 5 Debarshi Ray 2017-10-05 14:06:19 EDT
I have built dleyna-server-0.5.0-2.el7:
Comment 7 Tomas Pelka 2017-10-06 03:07:13 EDT
Requires:       dleyna-connector-dbus

was replaced by

Requires:       dleyna-connector-dbus%{?_isa}

I believe this is what we want.
Comment 11 errata-xmlrpc 2018-04-10 11:04:23 EDT
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.


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