RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 2022848 - qemu-kvm: Align package split with Fedora
Summary: qemu-kvm: Align package split with Fedora
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Red Hat Enterprise Linux 8
Classification: Red Hat
Component: qemu-kvm
Version: 8.5
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: 8.6
Assignee: Miroslav Rezanina
QA Contact: jingzhao
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2021-11-12 18:04 UTC by Andrea Bolognani
Modified: 2022-02-23 05:33 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2022-01-24 14:07:28 UTC
Type: Bug
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker RHELPLAN-102656 0 None None None 2021-11-12 18:06:17 UTC

Description Andrea Bolognani 2021-11-12 18:04:00 UTC
Looking at how the QEMU package is split into components in RHEL AV
and comparing it to Fedora 35[1], we can see that they are quite a
bit different.

  [cs8]# rpm -qa | grep ^qemu | sort -u
  qemu-img-6.0.0-33.el8s.x86_64
  qemu-kvm-6.0.0-33.el8s.x86_64
  qemu-kvm-block-curl-6.0.0-33.el8s.x86_64
  qemu-kvm-block-gluster-6.0.0-33.el8s.x86_64
  qemu-kvm-block-iscsi-6.0.0-33.el8s.x86_64
  qemu-kvm-block-rbd-6.0.0-33.el8s.x86_64
  qemu-kvm-block-ssh-6.0.0-33.el8s.x86_64
  qemu-kvm-common-6.0.0-33.el8s.x86_64
  qemu-kvm-core-6.0.0-33.el8s.x86_64
  qemu-kvm-docs-6.0.0-33.el8s.x86_64
  qemu-kvm-hw-usbredir-6.0.0-33.el8s.x86_64
  qemu-kvm-ui-opengl-6.0.0-33.el8s.x86_64
  qemu-kvm-ui-spice-6.0.0-33.el8s.x86_64

  [f35]# rpm -qa | grep ^qemu | sort -u
  qemu-audio-alsa-6.1.0-10.fc35.x86_64
  qemu-audio-jack-6.1.0-10.fc35.x86_64
  qemu-audio-oss-6.1.0-10.fc35.x86_64
  qemu-audio-pa-6.1.0-10.fc35.x86_64
  qemu-audio-sdl-6.1.0-10.fc35.x86_64
  qemu-audio-spice-6.1.0-10.fc35.x86_64
  qemu-block-curl-6.1.0-10.fc35.x86_64
  qemu-block-dmg-6.1.0-10.fc35.x86_64
  qemu-block-gluster-6.1.0-10.fc35.x86_64
  qemu-block-iscsi-6.1.0-10.fc35.x86_64
  qemu-block-nfs-6.1.0-10.fc35.x86_64
  qemu-block-rbd-6.1.0-10.fc35.x86_64
  qemu-block-ssh-6.1.0-10.fc35.x86_64
  qemu-char-baum-6.1.0-10.fc35.x86_64
  qemu-char-spice-6.1.0-10.fc35.x86_64
  qemu-common-6.1.0-10.fc35.x86_64
  qemu-device-display-qxl-6.1.0-10.fc35.x86_64
  qemu-device-display-vhost-user-gpu-6.1.0-10.fc35.x86_64
  qemu-device-display-virtio-gpu-6.1.0-10.fc35.x86_64
  qemu-device-display-virtio-gpu-gl-6.1.0-10.fc35.x86_64
  qemu-device-display-virtio-gpu-pci-6.1.0-10.fc35.x86_64
  qemu-device-display-virtio-gpu-pci-gl-6.1.0-10.fc35.x86_64
  qemu-device-display-virtio-vga-6.1.0-10.fc35.x86_64
  qemu-device-display-virtio-vga-gl-6.1.0-10.fc35.x86_64
  qemu-device-usb-host-6.1.0-10.fc35.x86_64
  qemu-device-usb-redirect-6.1.0-10.fc35.x86_64
  qemu-device-usb-smartcard-6.1.0-10.fc35.x86_64
  qemu-kvm-6.1.0-10.fc35.x86_64
  qemu-pr-helper-6.1.0-10.fc35.x86_64
  qemu-system-x86-6.1.0-10.fc35.x86_64
  qemu-system-x86-core-6.1.0-10.fc35.x86_64
  qemu-ui-curses-6.1.0-10.fc35.x86_64
  qemu-ui-egl-headless-6.1.0-10.fc35.x86_64
  qemu-ui-gtk-6.1.0-10.fc35.x86_64
  qemu-ui-opengl-6.1.0-10.fc35.x86_64
  qemu-ui-sdl-6.1.0-10.fc35.x86_64
  qemu-ui-spice-app-6.1.0-10.fc35.x86_64
  qemu-ui-spice-core-6.1.0-10.fc35.x86_64

Of course most of the differences can be attributed to Fedora
enabling all possible QEMU features/devices while the RHEL build is
more selective, but there are still a significant number that don't
fall into that category. Here are the ones that I've spotted - there
might be more.


usbredir

Contents are the same, but the subpackage name is completely
different.

  [cs8]# rpm -ql qemu-kvm-hw-usbredir | grep -v build-id
  /usr/lib64/qemu-kvm/hw-usb-redirect.so

  [f35]# rpm -ql qemu-device-usb-redirect | grep -v build-id
  /usr/lib64/qemu/hw-usb-redirect.so

OpenGL

In RHEL, a single subpackage encompasses the contents of two separate
Fedora subpackages.

  [cs8]# rpm -ql qemu-kvm-ui-opengl | grep -v build-id
  /usr/lib64/qemu-kvm/ui-egl-headless.so
  /usr/lib64/qemu-kvm/ui-opengl.so

  [f35]# rpm -ql qemu-ui-opengl | grep -v build-id
  /usr/lib64/qemu/ui-opengl.so
  [f35]# rpm -ql qemu-ui-egl-headless | grep -v build-id
  /usr/lib64/qemu/ui-egl-headless.so

SPICE

Same as OpenGL, but this time the ratio is 1:5.

  [cs8]# rpm -ql qemu-kvm-ui-spice | grep -v build-id
  /usr/lib64/qemu-kvm/audio-spice.so
  /usr/lib64/qemu-kvm/chardev-spice.so
  /usr/lib64/qemu-kvm/hw-display-qxl.so
  /usr/lib64/qemu-kvm/hw-usb-smartcard.so
  /usr/lib64/qemu-kvm/ui-spice-core.so

  [f35]# rpm -ql qemu-audio-spice | grep -v build-id
  /usr/lib64/qemu/audio-spice.so
  [f35]# rpm -ql qemu-char-spice | grep -v build-id
  /usr/lib64/qemu/chardev-spice.so
  [f35]# rpm -ql qemu-device-display-qxl | grep -v build-id
  /usr/lib64/qemu/hw-display-qxl.so
  [f35]# rpm -ql qemu-device-usb-smartcard | grep -v build-id
  /usr/lib64/qemu/hw-usb-smartcard.so
  [f35]# rpm -ql qemu-ui-spice-core | grep -v build-id
  /usr/lib64/qemu/ui-spice-core.so

virtio-gpu

Fedora has two separate subpackages for the PCI and non-PCI parts,
whereas RHEL ships both of them as part of the -core subpackage.
Note that in Fedora the -core subpackage doesn't contain any module.

  [cs8]# rpm -ql qemu-kvm-core | grep -v build-id | grep lib64
  /usr/lib64/qemu-kvm/hw-display-virtio-gpu-pci.so
  /usr/lib64/qemu-kvm/hw-display-virtio-gpu.so

  [f35]# rpm -ql qemu-device-display-virtio-gpu | grep -v build-id
  /usr/lib64/qemu/hw-display-virtio-gpu.so
  [f35]# rpm -ql qemu-device-display-virtio-gpu-pci | grep -v build-id
  /usr/lib64/qemu/hw-display-virtio-gpu-pci.so

virtio-vga

Fedora has a package for it, whereas RHEL ships it as part of the
-common subpackage. Note that in Fedora the -common subpackage
doesn't contain any module.

  [cs8]# rpm -ql qemu-kvm-common | grep -v build-id | grep lib64
  /usr/lib64/qemu-kvm/hw-display-virtio-vga.so

  [f35]# rpm -ql qemu-device-display-virtio-vga | grep -v build-id
  /usr/lib64/qemu/hw-display-virtio-vga.so

pr-helper

Fedora has a package for it, whereas RHEL ships it as part of the
-common subpackage.

  [cs8]# rpm -ql qemu-kvm-common | grep pr-helper
  /usr/bin/qemu-pr-helper
  /usr/lib/systemd/system/qemu-pr-helper.service
  /usr/lib/systemd/system/qemu-pr-helper.socket
  /usr/share/man/man8/qemu-pr-helper.8.gz

  [f35]# rpm -ql qemu-pr-helper | grep -v build-id
  /usr/bin/qemu-pr-helper
  /usr/lib/systemd/system/qemu-pr-helper.service
  /usr/lib/systemd/system/qemu-pr-helper.socket
  /usr/share/man/man8/qemu-pr-helper.8.gz


I believe that these differences in packaging between Fedora and RHEL
constitute an annoyance to users and upstream developers that want to
target both, and that we should address them in RHEL AV 8.6.


Previous discussion: https://bugzilla.redhat.com/show_bug.cgi?id=1950405#c13


[1] I've actually used CentOS Stream 8 with the Advanced
    Virtualization repo enabled for convenience, but the split should
    be the same in RHEL AV.

Comment 1 Andrea Bolognani 2021-12-09 08:58:59 UTC
Danilo, any updates on this and Bug 2022848? We should make sure we
don't miss the 9.0 / 8.6 boat. I guess right after the upcoming 8.2
rebase would be a great time to start seriously looking into it.

Thanks in advance! :)

Comment 2 Andrea Bolognani 2021-12-09 09:00:22 UTC
(In reply to Andrea Bolognani from comment #1)
> Danilo, any updates on this and Bug 2022848?

I meant to post this in Bug 2022847 but got the wrong tab. Oh well.

Comment 3 Danilo de Paula 2022-01-10 05:42:51 UTC
Mirek: would you mind taking a look into this one with the 9.0 as well?

Comment 4 Miroslav Rezanina 2022-01-24 14:07:28 UTC
After discussion we decided to not change layout in RHEL 8.


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