Bug 1600122 - Explicitly require matching libvirt-libs in driver subpackages
Summary: Explicitly require matching libvirt-libs in driver subpackages
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: libvirt
Version: 7.6
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: ---
Assignee: Jiri Denemark
QA Contact: Luyao Huang
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-07-11 13:24 UTC by Jiri Denemark
Modified: 2018-10-30 09:59 UTC (History)
4 users (show)

Fixed In Version: libvirt-4.5.0-3.el7
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2018-10-30 09:58:24 UTC
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2018:3113 None None None 2018-10-30 09:59:15 UTC

Description Jiri Denemark 2018-07-11 13:24:00 UTC
Description of problem:

All drivers now link directly to libvirt.so rather than getting the symbols
from the daemon, but the spec file was not updated and driver subpackages only
require libvirt-daemon = %{version}-%{release}. The matching libvirt-libs
package is dragged in transitively since libvirt-daemon requires it, but the
subpackages should explicitly require libvirt-libs = %{version}-%{release}
since they directly link to libvirt.so library.

Version-Release number of selected component (if applicable):

libvirt-4.5.0-2.el7

How reproducible:

100%

Steps to Reproduce:

for sub in daemon-driver-network daemon-driver-nwfilter daemon-driver-nodedev daemon-driver-interface daemon-driver-secret daemon-driver-storage-core daemon-driver-storage-logical daemon-driver-storage-disk daemon-driver-storage-scsi daemon-driver-storage-iscsi daemon-driver-storage-mpath daemon-driver-storage-gluster daemon-driver-storage-rbd daemon-driver-storage-sheepdog daemon-driver-storage-zfs daemon-driver-qemu daemon-driver-lxc daemon-driver-uml daemon-driver-vbox daemon-driver-libxl; do
    echo "libvirt-$sub: $(rpm -qR libvirt-$sub | grep 'libvirt-libs\|not installed')"
done

Actual results:

Some packages will be listed as not installed and no libvirt-libs will be
listed for any package.

Expected results:

All listed subpackages which are installed should require libvirt-libs.

Comment 1 Jiri Denemark 2018-07-11 13:33:35 UTC
This is now fixed upstream by

commit 073d5041c7629c90b06b1157beaba42c3850391e
Refs: [master], [fixes], {origin/master}, {origin/HEAD}, v4.5.0-104-g073d5041c7
Author:     Jiri Denemark <jdenemar@redhat.com>
AuthorDate: Mon Jul 9 17:45:45 2018 +0200
Commit:     Jiri Denemark <jdenemar@redhat.com>
CommitDate: Wed Jul 11 13:37:48 2018 +0200

    spec: Explicitly require matching libvirt-libs

    All drivers now link directly to libvirt.so rather than getting the
    symbols from the daemon. Let's explicitly mention this dependency in the
    spec file instead of relying on transitive dependency from
    libvirt-daemon.

    Signed-off-by: Jiri Denemark <jdenemar@redhat.com>

Comment 4 Luyao Huang 2018-08-07 08:36:33 UTC
Verify this bug with libvirt-4.5.0-6.el7.x86_64:

1. prepare a script to check dependency:
# cat test.sh
#!/bin/bash

for sub in daemon-driver-network daemon-driver-nwfilter daemon-driver-nodedev daemon-driver-interface daemon-driver-secret daemon-driver-storage-core daemon-driver-storage-logical daemon-driver-storage-disk daemon-driver-storage-scsi daemon-driver-storage-iscsi daemon-driver-storage-mpath daemon-driver-storage-gluster daemon-driver-storage-rbd daemon-driver-storage-sheepdog daemon-driver-storage-zfs daemon-driver-qemu daemon-driver-lxc daemon-driver-uml daemon-driver-vbox daemon-driver-libxl; do
    echo "libvirt-$sub: $(rpm -qR libvirt-$sub | grep 'libvirt-libs\|not installed')"
done

2. install all libvirt package:

yum install -y libvirt*4.5.0-6*

3. run script and check result:

# sh test.sh 
libvirt-daemon-driver-network: libvirt-libs = 4.5.0-6.el7
libvirt-daemon-driver-nwfilter: libvirt-libs = 4.5.0-6.el7
libvirt-daemon-driver-nodedev: libvirt-libs = 4.5.0-6.el7
libvirt-daemon-driver-interface: libvirt-libs = 4.5.0-6.el7
libvirt-daemon-driver-secret: libvirt-libs = 4.5.0-6.el7
libvirt-daemon-driver-storage-core: libvirt-libs = 4.5.0-6.el7
libvirt-daemon-driver-storage-logical: libvirt-libs = 4.5.0-6.el7
libvirt-daemon-driver-storage-disk: libvirt-libs = 4.5.0-6.el7
libvirt-daemon-driver-storage-scsi: libvirt-libs = 4.5.0-6.el7
libvirt-daemon-driver-storage-iscsi: libvirt-libs = 4.5.0-6.el7
libvirt-daemon-driver-storage-mpath: libvirt-libs = 4.5.0-6.el7
libvirt-daemon-driver-storage-gluster: libvirt-libs = 4.5.0-6.el7
libvirt-daemon-driver-storage-rbd: libvirt-libs = 4.5.0-6.el7
libvirt-daemon-driver-storage-sheepdog: package libvirt-daemon-driver-storage-sheepdog is not installed
libvirt-daemon-driver-storage-zfs: package libvirt-daemon-driver-storage-zfs is not installed
libvirt-daemon-driver-qemu: libvirt-libs = 4.5.0-6.el7
libvirt-daemon-driver-lxc: libvirt-libs = 4.5.0-6.el7
libvirt-daemon-driver-uml: package libvirt-daemon-driver-uml is not installed
libvirt-daemon-driver-vbox: package libvirt-daemon-driver-vbox is not installed
libvirt-daemon-driver-libxl: package libvirt-daemon-driver-libxl is not installed

# sh test.sh | wc -l
20

Comment 6 errata-xmlrpc 2018-10-30 09:58:24 UTC
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/RHSA-2018:3113


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