Bug 1600122
| Summary: | Explicitly require matching libvirt-libs in driver subpackages | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 7 | Reporter: | Jiri Denemark <jdenemar> |
| Component: | libvirt | Assignee: | Jiri Denemark <jdenemar> |
| Status: | CLOSED ERRATA | QA Contact: | Luyao Huang <lhuang> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 7.6 | CC: | dyuan, lmen, xuzhang, yalzhang |
| Target Milestone: | rc | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | libvirt-4.5.0-3.el7 | Doc Type: | If docs needed, set a value |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2018-10-30 09:58:24 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: | |||
This is now fixed upstream by
commit 073d5041c7629c90b06b1157beaba42c3850391e
Refs: [master], [fixes], {origin/master}, {origin/HEAD}, v4.5.0-104-g073d5041c7
Author: Jiri Denemark <jdenemar>
AuthorDate: Mon Jul 9 17:45:45 2018 +0200
Commit: Jiri Denemark <jdenemar>
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>
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
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 |
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.