Sync from SUSE:ALP:Source:Standard:1.0 qemu revision f053bf66937d9b07f7a51ded431ebd82

This commit is contained in:
Adrian Schröter 2024-03-01 17:01:01 +01:00
parent f217f1303f
commit 957f6c036f
9 changed files with 374 additions and 225 deletions

View File

@ -1,5 +1,5 @@
<services>
<service name="tar_scm" mode="manual">
<service name="obs_scm" mode="manual">
<param name="scm">git</param>
<param name="url">https://github.com/opensuse/qemu.git</param>
<param name="revision">factory</param>
@ -7,12 +7,15 @@
<param name="versionrewrite-pattern">[v]?([^-+a-z]+)(.*)</param>
<param name="versionrewrite-replacement">\1</param>
<param name="changesgenerate">enable</param>
<param name="extract">rpm/common.inc</param>
<param name="extract">rpm/qemu.spec</param>
<param name="extract">rpm/qemu-linux-user.spec</param>
<param name="extract">rpm/README.PACKAGING</param>
<param name="extract">rpm/qemu-rpmlintrc</param>
</service>
<service name="extract_file" mode="manual">
<param name="archive">*.tar</param>
<param name="files">*/rpm/common.inc */rpm/qemu.spec */rpm/qemu-linux-user.spec */rpm/README.PACKAGING */rpm/qemu-rpmlintrc</param>
</service>
<service name="recompress" mode="manual">
<service name="set_version" mode="manual"/>
<service name="tar" mode="buildtime"/>
<service name="recompress" mode="buildtime">
<param name="file">*.tar</param>
<param name="compression">xz</param>
</service>

View File

@ -1,4 +1,4 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/opensuse/qemu.git</param>
<param name="changesrevision">ac31da24d5497bf4b9c27d67462f48fb1e1697fb</param></service></servicedata>
<param name="changesrevision">501249e627b4c005aafad930a7015c98523eb80c</param></service></servicedata>

View File

@ -46,6 +46,9 @@
%bcond_with xdp
%endif
# Make it possible to build without spice (for SLE/Leap Micro)
%bcond_without spice
# We do not have the stuff needed to compile rutabaga support.
# If/when we want to do it, we can check how it's done here:
# https://src.fedoraproject.org/rpms/qemu/c/deeb9357cb751df21c566fd8408936cfb034d43b?branch=rawhide
@ -62,6 +65,34 @@
%define _lto_cflags %{nil}
%endif
%ifarch aarch64
%define qemu_arch aarch64
%endif
%ifarch %arm
%define qemu_arch arm
%endif
%ifarch %ix86
%define qemu_arch i386
%endif
%ifarch ppc64
%define qemu_arch ppc64
%endif
%ifarch ppc
%define qemu_arch ppc
%endif
%ifarch ppc64le
%define qemu_arch ppc64le
%endif
%ifarch riscv64
%define qemu_arch riscv64
%endif
%ifarch s390x
%define qemu_arch s390x
%endif
%ifarch x86_64
%define qemu_arch x86_64
%endif
%define generic_qemu_description \
QEMU provides full machine emulation and cross architecture usage. It closely\
integrates with KVM and Xen virtualization, allowing for excellent performance.\

BIN
qemu-8.2.0.tar.xz (Stored with Git LFS)

Binary file not shown.

BIN
qemu-8.2.1.obscpio (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -27,7 +27,7 @@ URL: https://www.qemu.org/
Summary: CPU emulator for user space
License: BSD-2-Clause AND BSD-3-Clause AND GPL-2.0-only AND GPL-2.0-or-later AND LGPL-2.1-or-later AND MIT
Group: System/Emulators/PC
Version: 8.2.0
Version: 8.2.1
Release: 0
Source0: qemu-%{version}.tar.xz
Source1: common.inc
@ -343,36 +343,9 @@ scripts/qemu-binfmt-conf.sh --systemd ALL --persistent yes --preserve-argv0 yes
%check
cd %blddir
%ifarch %ix86
%define qemu_arch i386
%endif
%ifarch x86_64
%define qemu_arch x86_64
%endif
%ifarch %arm
%define qemu_arch arm
%endif
%ifarch aarch64
%define qemu_arch aarch64
%endif
%ifarch ppc
%define qemu_arch ppc
%endif
%ifarch ppc64
%define qemu_arch ppc64
%endif
%ifarch ppc64le
%define qemu_arch ppc64le
%endif
%ifarch s390x
%define qemu_arch s390x
%endif
%ifarch %ix86 x86_64 %arm aarch64 ppc ppc64 ppc64le s390x
%ifnarch %arm
%ifarch aarch64 %ix86 ppc ppc64 ppc64le riscv64 s390x x86_64
%{qemu_arch}-linux-user/qemu-%{qemu_arch} %_bindir/ls > /dev/null
%endif
%endif
%make_build check-softfloat

View File

@ -1,3 +1,127 @@
-------------------------------------------------------------------
Thu Feb 29 17:49:03 UTC 2024 - dfaggioli@suse.com
- Backports and bugfixes:
* [openSUSE]: Increase default phys bits to 42, if host supports that
(bsc#1205978, bsc#1219977)
* vfio/pci: Clear MSI-X IRQ index always (bsc#1220275)
-------------------------------------------------------------------
Wed Feb 21 15:52:39 UTC 2024 - dfaggioli@suse.com
- Just "prettify" the spec files a little:
* [openSUSE][RPM] Cosmetic fixes to spec files (copyright, sorting, etc)
-------------------------------------------------------------------
Wed Feb 21 14:57:14 UTC 2024 - dfaggioli@suse.com
- Patchqueue shrinking and bugfixing (actually, more of a temporary
workaround, until a proper solution is found upstream):
* [openSUSE] roms/seabios: revert some upstream commits that
break a lot of use-cases
* [openSUSE] roms/seabios: Drop an old (and no longer necessary)
downstream patch (bsc#1219977)
-------------------------------------------------------------------
Mon Feb 19 17:11:41 UTC 2024 - dfaggioli@suse.com
Update to latest stable version (8.2.1)
- Downstream changes:
* [openSUSE][RPM]: Install the VGA module "more often" (bsc#1219164)
* [openSUSE][RPM] Fix handling of qemu-kvm legacy package for RISCV
* [openSUSE][RPM] factor common definitions between qemu and qemu-linux-user spec files
- Upstream backports:
* target/arm: Fix incorrect aa64_tidcp1 feature check
* target/arm: Fix A64 scalar SQSHRN and SQRSHRN
* target/xtensa: fix OOB TLB entry access
* qtest: bump aspeed_smc-test timeout to 6 minutes
* monitor: only run coroutine commands in qemu_aio_context
* iotests: port 141 to Python for reliable QMP testing
* iotests: add filter_qmp_generated_node_ids()
* block/blklogwrites: Fix a bug when logging "write zeroes" operations.
* virtio-net: correctly copy vnet header when flushing TX (bsc#1218484, CVE-2023-6693)
* tcg/arm: Fix SIGILL in tcg_out_qemu_st_direct
* linux-user/riscv: Adjust vdso signal frame cfa offsets
* linux-user: Fixed cpu restore with pc 0 on SIGBUS
* block/io: clear BDRV_BLOCK_RECURSE flag after recursing in bdrv_co_block_status
* coroutine-ucontext: Save fake stack for pooled coroutine
* tcg/s390x: Fix encoding of VRIc, VRSa, VRSc insns
* accel/tcg: Revert mapping of PCREL translation block to multiple virtual addresses
* acpi/tests/avocado/bits: wait for 200 seconds for SHUTDOWN event from bits VM
* s390x/pci: drive ISM reset from subsystem reset
* s390x/pci: refresh fh before disabling aif
* s390x/pci: avoid double enable/disable of aif
* hw/scsi/esp-pci: set DMA_STAT_BCMBLT when BLAST command issued
* hw/scsi/esp-pci: synchronise setting of DMA_STAT_DONE with ESP completion interrupt
* hw/scsi/esp-pci: generate PCI interrupt from separate ESP and PCI sources
* hw/scsi/esp-pci: use correct address register for PCI DMA transfers
* migration/rdma: define htonll/ntohll only if not predefined
* hw/pflash: implement update buffer for block writes
* hw/pflash: use ldn_{be,le}_p and stn_{be,le}_p
* hw/pflash: refactor pflash_data_write()
* backends/cryptodev: Do not ignore throttle/backends Errors
* target/i386: pcrel: store low bits of physical address in data[0]
* target/i386: fix incorrect EIP in PC-relative translation blocks
* target/i386: Do not re-compute new pc with CF_PCREL
* load_elf: fix iterator's type for elf file processing
* target/hppa: Update SeaBIOS-hppa to version 15
* target/hppa: Fix IOR and ISR on error in probe
* target/hppa: Fix IOR and ISR on unaligned access trap
* target/hppa: Export function hppa_set_ior_and_isr()
* target/hppa: Avoid accessing %gr0 when raising exception
* hw/hppa: Move software power button address back into PDC
* target/hppa: Fix PDC address translation on PA2.0 with PSW.W=0
* hw/pci-host/astro: Add missing astro & elroy registers for NetBSD
* hw/hppa/machine: Disable default devices with --nodefaults option
* hw/hppa/machine: Allow up to 3840 MB total memory
* readthodocs: fully specify a build environment
* .gitlab-ci.d/buildtest.yml: Work around htags bug when environment is large
* target/s390x: Fix LAE setting a wrong access register
* tests/qtest/virtio-ccw: Fix device presence checking
* tests/acpi: disallow tests/data/acpi/virt/SSDT.memhp changes
* tests/acpi: update expected data files
* edk2: update binaries to git snapshot
* edk2: update build config, set PcdUninstallMemAttrProtocol = TRUE.
* edk2: update to git snapshot
* tests/acpi: allow tests/data/acpi/virt/SSDT.memhp changes
* util: fix build with musl libc on ppc64le
* tcg/ppc: Use new registers for LQ destination
* hw/intc/arm_gicv3_cpuif: handle LPIs in in the list registers
* hw/vfio: fix iteration over global VFIODevice list
* vfio/container: Replace basename with g_path_get_basename
* edu: fix DMA range upper bound check
* hw/net: cadence_gem: Fix MDIO_OP_xxx values
* audio/audio.c: remove trailing newline in error_setg
* chardev/char.c: fix "abstract device type" error message
* target/riscv: Fix mcycle/minstret increment behavior
* hw/net/can/sja1000: fix bug for single acceptance filter and standard frame
* target/i386: the sgx_epc_get_section stub is reachable
* configure: use a native non-cross compiler for linux-user
* include/ui/rect.h: fix qemu_rect_init() mis-assignment
* target/riscv/kvm: do not use non-portable strerrorname_np()
* iotests: Basic tests for internal snapshots
* vl: Improve error message for conflicting -incoming and -loadvm
* block: Fix crash when loading snapshot on inactive node
- Fixes:
* bsc#1218484 (CVE-2023-6693)
-------------------------------------------------------------------
Sat Feb 17 02:12:55 UTC 2024 - dfaggioli@suse.com
- Try to solve the qemu-kvm dependency issues on all arches
(see, e.g., bsc#1218684)
* [openSUSE][RPM] Create the legacy qemu-kvm symlink for all arches
-------------------------------------------------------------------
Fri Feb 16 15:10:53 UTC 2024 - dfaggioli@suse.com
- Update the service file to use OBS-scm (by fvogt)
- Various fixes:
* [openSUSE][RPM] Fix enabling features on non-x86_64 (bsc#1220011, bsc#1219818)
* [openSUSE][RPM] Disable test-crypto-secret in linux-user build
* [openSUSE] Update ipxe submodule reference (bsc#1219733, bsc#1219722)
* [openSUSE][RPM] spec: allow building without spice
-------------------------------------------------------------------
Tue Feb 06 00:58:05 UTC 2024 - dfaggioli@suse.com

4
qemu.obsinfo Normal file
View File

@ -0,0 +1,4 @@
name: qemu
version: 8.2.1
mtime: 1709220747
commit: 501249e627b4c005aafad930a7015c98523eb80c

386
qemu.spec
View File

@ -82,13 +82,14 @@ URL: https://www.qemu.org/
Summary: Machine emulator and virtualizer
License: BSD-2-Clause AND BSD-3-Clause AND GPL-2.0-only AND GPL-2.0-or-later AND LGPL-2.1-or-later AND MIT
Group: System/Emulators/PC
Version: 8.2.0
Version: 8.2.1
Release: 0
Source0: qemu-%{version}.tar.xz
Source1: common.inc
Source303: README.PACKAGING
Source1000: qemu-rpmlintrc
BuildRoot: %{_tmppath}/%{name}-%{version}-build
## Packages we REQUIRE during build
%if %{build_x86_firmware}
%ifnarch %ix86 x86_64
# We must cross-compile on non-x86*
@ -123,23 +124,34 @@ BuildRequires: pkgconfig(libpmem)
%ifnarch %arm s390x
BuildRequires: libnuma-devel
%endif
%if 0%{with canokey}
BuildRequires: canokey-qemu-devel
%endif
%if 0%{?with_daxctl}
BuildRequires: pkgconfig(libndctl)
%endif
%if %{kvm_available}
BuildRequires: pkgconfig(udev)
%endif
%if 0%{?with_rbd}
BuildRequires: librbd-devel
%endif
%if 0%{with xdp}
BuildRequires: libxdp-devel
%endif
%if 0%{with canokey}
BuildRequires: canokey-qemu-devel
%if 0%{with spice}
BuildRequires: pkgconfig(spice-protocol) >= 0.12.3
BuildRequires: pkgconfig(spice-server) >= 0.12.5
%endif
%if 0%{?with_uring}
BuildRequires: pkgconfig(liburing) >= %liburing_min_version
%endif
%if %{kvm_available}
BuildRequires: pkgconfig(udev)
%if 0%{with xdp}
BuildRequires: libxdp-devel
%endif
%if 0%{?suse_version} >= 1600
BuildRequires: python3-Sphinx
BuildRequires: python3-base >= 3.8
%else
BuildRequires: python311-Sphinx
BuildRequires: python311-base
%endif
BuildRequires: Mesa-devel
BuildRequires: bison
@ -162,6 +174,11 @@ BuildRequires: multipath-tools-devel
BuildRequires: ninja >= 1.7
BuildRequires: pam-devel
BuildRequires: pkgconfig
BuildRequires: rdma-core-devel
BuildRequires: snappy-devel
BuildRequires: update-desktop-files
BuildRequires: usbredir-devel >= 0.6
BuildRequires: xfsprogs-devel
BuildRequires: pkgconfig(alsa)
BuildRequires: pkgconfig(epoxy)
BuildRequires: pkgconfig(gbm)
@ -188,29 +205,80 @@ BuildRequires: pkgconfig(libusb-1.0) >= 1.0.13
BuildRequires: pkgconfig(libzstd)
BuildRequires: pkgconfig(lzo2)
BuildRequires: pkgconfig(ncurses)
BuildRequires: pkgconfig(openssl) >= 1.0.0
BuildRequires: pkgconfig(pixman-1) >= 0.21.8
BuildRequires: pkgconfig(slirp) >= 4.2.0
BuildRequires: pkgconfig(spice-protocol) >= 0.12.3
BuildRequires: pkgconfig(spice-server) >= 0.12.5
BuildRequires: pkgconfig(systemd)
BuildRequires: pkgconfig(vdeplug)
BuildRequires: pkgconfig(virglrenderer) >= 0.4.1
BuildRequires: pkgconfig(vte-2.91)
BuildRequires: pkgconfig(xkbcommon)
BuildRequires: pkgconfig(zlib)
%if 0%{?suse_version} >= 1600
BuildRequires: python3-Sphinx
BuildRequires: python3-base >= 3.8
%else
BuildRequires: python311-Sphinx
BuildRequires: python311-base
%endif
BuildRequires: rdma-core-devel
BuildRequires: snappy-devel
BuildRequires: update-desktop-files
BuildRequires: usbredir-devel >= 0.6
BuildRequires: xfsprogs-devel
%{?systemd_ordering}
## Packages we will REQUIRE
%if %{kvm_available}
Requires(post): acl
Requires(post): udev
%endif
Requires(post): coreutils
Requires: group(kvm)
Requires: group(qemu)
Requires: user(qemu)
# Due to change in where some documentation files are, if qemu-guest-agent
# is installed, we need to make sure we update it to our version.
Requires: (qemu-guest-agent = %{version} if qemu-guest-agent)
## Packages we will RECOMMEND
%ifarch s390x
Recommends: qemu-hw-s390x-virtio-gpu-ccw
%else
Recommends: qemu-hw-display-qxl
Recommends: qemu-hw-display-virtio-gpu
Recommends: qemu-hw-display-virtio-gpu-pci
Recommends: qemu-hw-display-virtio-vga
Recommends: qemu-hw-usb-host
Recommends: qemu-hw-usb-redirect
Recommends: qemu-hw-usb-smartcard
%if 0%{with spice}
Recommends: qemu-ui-spice-app
%endif
# End of "ifarch s390x"
%endif
%if %{kvm_available}
Recommends: kvm_stat
%endif
Recommends: qemu-block-curl
Recommends: qemu-block-nfs
Recommends: qemu-ksm = %{version}
Recommends: qemu-tools
Recommends: qemu-ui-curses
## Packages we will SUGGEST
%if 0%{?with_rbd}
Suggests: qemu-block-rbd
%endif
Suggests: qemu-accel-qtest
Suggests: qemu-block-dmg
Suggests: qemu-block-gluster
Suggests: qemu-block-iscsi
Suggests: qemu-block-ssh
Suggests: qemu-chardev-baum
Suggests: qemu-extra
Suggests: qemu-lang
Suggests: qemu-microvm
Suggests: qemu-skiboot
Suggests: qemu-vhost-user-gpu
Suggests: qemu-ui-gtk
Suggests: qemu-doc
## Packages we PROVIDE
Provides: kvm = %{version}
Provides: qemu-kvm = %{version}
## Pacakges we OBSOLETE (and CONFLICT)
Obsoletes: kvm <= %{version}
Obsoletes: qemu-audio-oss < %{version}
Obsoletes: qemu-audio-sdl < %{version}
Obsoletes: qemu-kvm <= %{version}
Obsoletes: qemu-sgabios <= 8
Obsoletes: qemu-ui-sdl < %{version}
## What we do with the main emulator depends on the architecture we're on
%if %{kvm_available}
%ifarch %ix86 x86_64
Requires: qemu-x86
@ -238,56 +306,8 @@ Requires: qemu-extra
%else
Suggests: qemu-extra
%endif
Requires(post): acl
Requires(post): udev
Recommends: kvm_stat
# End of "if kvm_available"
%endif
Requires: group(kvm)
Requires: group(qemu)
Requires: user(qemu)
Requires(post): coreutils
%ifarch s390x
Recommends: qemu-hw-s390x-virtio-gpu-ccw
%else
# Due to change in where some documentation files are, if qemu-guest-agent
# is installed, we need to make sure we update it to our version.
Requires: (qemu-guest-agent = %{version} if qemu-guest-agent)
Recommends: qemu-hw-display-qxl
Recommends: qemu-hw-display-virtio-gpu
Recommends: qemu-hw-display-virtio-gpu-pci
Recommends: qemu-hw-display-virtio-vga
Recommends: qemu-hw-usb-host
Recommends: qemu-hw-usb-redirect
Recommends: qemu-hw-usb-smartcard
Recommends: qemu-ui-spice-app
# End of "ifarch s390x"
%endif
Recommends: qemu-block-curl
Recommends: qemu-block-nfs
Recommends: qemu-ksm = %{version}
Recommends: qemu-tools
Recommends: qemu-ui-curses
%if 0%{?with_rbd}
Suggests: qemu-block-rbd
%endif
Suggests: qemu-accel-qtest
Suggests: qemu-block-dmg
Suggests: qemu-block-gluster
Suggests: qemu-block-iscsi
Suggests: qemu-block-ssh
Suggests: qemu-chardev-baum
Suggests: qemu-extra
Suggests: qemu-lang
Suggests: qemu-microvm
Suggests: qemu-skiboot
Suggests: qemu-vhost-user-gpu
Suggests: qemu-ui-gtk
Suggests: qemu-doc
Obsoletes: qemu-audio-oss < %{version}
Obsoletes: qemu-audio-sdl < %{version}
Obsoletes: qemu-sgabios <= 8
Obsoletes: qemu-ui-sdl < %{version}
%description
%{generic_qemu_description}
@ -295,6 +315,18 @@ Obsoletes: qemu-ui-sdl < %{version}
This package acts as an umbrella package to the other QEMU sub-packages.
%files
%if %{kvm_available}
%ifarch s390x
%{_prefix}/lib/modules-load.d/kvm.conf
%endif
/usr/lib/udev/rules.d/80-kvm.rules
# End of "if kvm_available"
%endif
%if %{legacy_qemu_kvm}
%doc %_docdir/qemu-kvm
%_mandir/man1/qemu-kvm.1.gz
%endif
%_bindir/qemu-kvm
%dir %_datadir/icons/hicolor
%dir %_datadir/icons/hicolor/*/
%dir %_datadir/icons/hicolor/*/apps
@ -305,12 +337,6 @@ This package acts as an umbrella package to the other QEMU sub-packages.
%dir %_sysconfdir/%name/firmware
%dir /usr/lib/supportconfig
%dir /usr/lib/supportconfig/plugins
%if %{kvm_available}
%ifarch s390x
%{_prefix}/lib/modules-load.d/kvm.conf
%endif
/usr/lib/udev/rules.d/80-kvm.rules
%endif
%_datadir/applications/qemu.desktop
%_datadir/icons/hicolor/16x16/apps/qemu.png
%_datadir/icons/hicolor/24x24/apps/qemu.png
@ -653,6 +679,7 @@ EXTRA_CFLAGS="$(echo %{optflags} | sed -E 's/-[A-Z]?_FORTIFY_SOURCE[=]?[0-9]*//g
--enable-xen \
--enable-xen-pci-passthrough \
%endif
%endif
%if 0%{with xdp}
--enable-af-xdp \
%endif
@ -680,7 +707,6 @@ EXTRA_CFLAGS="$(echo %{optflags} | sed -E 's/-[A-Z]?_FORTIFY_SOURCE[=]?[0-9]*//g
%ifnarch %arm s390x
--enable-numa \
%endif
%endif
%if 0%{?with_rbd}
--enable-rbd \
%endif
@ -747,8 +773,10 @@ EXTRA_CFLAGS="$(echo %{optflags} | sed -E 's/-[A-Z]?_FORTIFY_SOURCE[=]?[0-9]*//g
--enable-slirp-smbd \
--enable-smartcard \
--enable-snappy \
%if 0%{with spice}
--enable-spice \
--enable-spice-protocol \
%endif
--enable-system \
--enable-tcg \
--enable-tools \
@ -902,11 +930,9 @@ install -D -m 0644 %{rpmfilesdir}/qemu-kvm.1.gz %{buildroot}%_mandir/man1/qemu-k
install -d %{buildroot}%_docdir/qemu-kvm
# FIXME: Why do we onlly generate the HTML for the legacy package documentation?
%ifarch s390x
ln -s qemu-system-s390x %{buildroot}%_bindir/qemu-kvm
ln -s ../qemu-s390x/supported.txt %{buildroot}%_docdir/qemu-kvm/kvm-supported.txt
rst2html --exit-status=2 %{buildroot}%_docdir/qemu-s390x/supported.txt %{buildroot}%_docdir/qemu-kvm/kvm-supported.html
%else
ln -s qemu-system-x86_64 %{buildroot}%_bindir/qemu-kvm
ln -s ../qemu-x86/supported.txt %{buildroot}%_docdir/qemu-kvm/kvm-supported.txt
rst2html --exit-status=2 %{buildroot}%_docdir/qemu-x86/supported.txt %{buildroot}%_docdir/qemu-kvm/kvm-supported.html
# End of "ifarch s390x"
@ -914,6 +940,13 @@ rst2html --exit-status=2 %{buildroot}%_docdir/qemu-x86/supported.txt %{buildroot
# End of "if legacy_qemu_kvm"
%endif
%ifarch aarch64 %arm %ix86 ppc ppc64 ppc64le riscv64 s390x x86_64
%ifarch ppc64le
%define qemu_arch ppc64
%endif
ln -s qemu-system-%{qemu_arch} %{buildroot}%_bindir/qemu-kvm
%endif
%if %{kvm_available}
install -D -m 0644 %{rpmfilesdir}/80-kvm.rules %{buildroot}/usr/lib/udev/rules.d/80-kvm.rules
%endif
@ -1004,6 +1037,8 @@ cp %{rpmfilesdir}/APIC.core-count2 %{rpmfilesdir}/DSDT.core-count2 %{rpmfilesdir
%if 0%{?qemu_user_space_build}
# Seccomp is not supported by linux-user emulation
echo 'int main (void) { return 0; }' > %{srcdir}/tests/unit/test-seccomp.c
# keyctl is not yet supported by linux-user emulation
echo 'int main (void) { return 0; }' > %{srcdir}/tests/unit/test-crypto-secret.c
%endif
# Compile the QOM test binary first, so that ...
@ -1029,6 +1064,7 @@ make -O V=1 VERBOSE=1 -j1 check-qtest
# enable this at a later point
#make -O V=1 VERBOSE=1 -j1 check-report.junit.xml
%if 0%{with spice}
%package spice
Summary: Modules and packages for SPICE
Group: System/Emulators/PC
@ -1047,6 +1083,80 @@ necessary for having SPICE working for your VMs.
%files spice
%package audio-spice
Summary: Spice based audio support for QEMU
Group: System/Emulators/PC
Requires: qemu-ui-spice-core = %{version}-%{release}
%{qemu_module_conflicts}
%description audio-spice
This package contains a module for Spice based audio support for QEMU.
%files audio-spice
%dir %_libdir/%name
%_libdir/%name/audio-spice.so
%package chardev-spice
Summary: Spice vmc and port chardev support for QEMU
Group: System/Emulators/PC
Requires: qemu-ui-spice-core = %{version}-%{release}
%{qemu_module_conflicts}
%description chardev-spice
This package contains a module for Spice chardev support for QEMU.
%files chardev-spice
%dir %_datadir/%name
%dir %_libdir/%name
%_libdir/%name/chardev-spice.so
%package ui-spice-app
Summary: Spice UI support for QEMU
Group: System/Emulators/PC
Requires: qemu-chardev-spice = %{version}-%{release}
Requires: qemu-ui-spice-core = %{version}-%{release}
%{qemu_module_conflicts}
%description ui-spice-app
This package contains a module for doing Spice based UI for QEMU.
%files ui-spice-app
%dir %_libdir/%name
%_libdir/%name/ui-spice-app.so
%package ui-spice-core
Summary: Core Spice support for QEMU
Group: System/Emulators/PC
Requires: qemu-ui-opengl
# This next Requires is only since virt-manager expects audio support
Requires: qemu-audio-spice = %{version}-%{release}
%{qemu_module_conflicts}
%description ui-spice-core
This package contains a module with core Spice support for QEMU.
%files ui-spice-core
%dir %_datadir/%name
%dir %_libdir/%name
%_libdir/%name/ui-spice-core.so
%package hw-display-qxl
Summary: QXL display support for QEMU
Group: System/Emulators/PC
Requires: qemu-ui-spice-core = %{version}-%{release}
%{qemu_module_conflicts}
%description hw-display-qxl
This package contains a module for QXL display support for QEMU.
%files hw-display-qxl
%dir %_datadir/%name
%dir %_libdir/%name
%_libdir/%name/hw-display-qxl.so
# End of "with spice"
%endif
%package headless
Summary: Minimum set of packages for having a functional QEMU
Group: System/Emulators/PC
@ -1057,9 +1167,6 @@ Requires: qemu-img
%if %{has_virtiofsd}
Requires: virtiofsd
%endif
%if %{legacy_qemu_kvm}
Requires: qemu-kvm
%endif
Recommends: qemu-tools
%description headless
@ -1276,19 +1383,6 @@ This package contains a module for JACK based audio support for QEMU.
%dir %_libdir/%name
%_libdir/%name/audio-jack.so
%package audio-spice
Summary: Spice based audio support for QEMU
Group: System/Emulators/PC
Requires: qemu-ui-spice-core
%{qemu_module_conflicts}
%description audio-spice
This package contains a module for Spice based audio support for QEMU.
%files audio-spice
%dir %_libdir/%name
%_libdir/%name/audio-spice.so
%package audio-oss
Summary: OSS based audio support for QEMU
Group: System/Emulators/PC
@ -1405,37 +1499,15 @@ This package contains a module for baum braille chardev support for QEMU.
%dir %_libdir/%name
%_libdir/%name/chardev-baum.so
%package chardev-spice
Summary: Spice vmc and port chardev support for QEMU
Group: System/Emulators/PC
Requires: qemu-ui-spice-core
%{qemu_module_conflicts}
%description chardev-spice
This package contains a module for Spice chardev support for QEMU.
%files chardev-spice
%dir %_datadir/%name
%dir %_libdir/%name
%_libdir/%name/chardev-spice.so
%package hw-display-qxl
Summary: QXL display support for QEMU
Group: System/Emulators/PC
Requires: qemu-ui-spice-core
%{qemu_module_conflicts}
%description hw-display-qxl
This package contains a module for QXL display support for QEMU.
%files hw-display-qxl
%dir %_datadir/%name
%dir %_libdir/%name
%_libdir/%name/hw-display-qxl.so
%package hw-display-virtio-gpu
Summary: Virtio GPU display support for QEMU
Group: System/Emulators/PC
# Make sure that VGA is pretty much always there. Technically, this isn't
# really necessary (and/or, should be dealt with in other places) but it
# makes it easier to deal with strange situation where, e.g., GRUB is
# configured to work only with a graphical terminal (see bsc#1219164),
# and the hw-display-virtio-vga package is small enough, anyway.
Requires: qemu-hw-display-virtio-vga = %{version}-%{release}
%{qemu_module_conflicts}
%description hw-display-virtio-gpu
@ -1449,7 +1521,7 @@ This package contains a module for Virtio GPU display support for QEMU.
%package hw-display-virtio-gpu-pci
Summary: Virtio-gpu pci device for QEMU
Group: System/Emulators/PC
Requires: qemu-hw-display-virtio-gpu
Requires: qemu-hw-display-virtio-gpu = %{version}-%{release}
%{qemu_module_conflicts}
%description hw-display-virtio-gpu-pci
@ -1478,7 +1550,7 @@ This package contains a module providing the virtio vga device for QEMU.
%package hw-s390x-virtio-gpu-ccw
Summary: S390x virtio-gpu ccw device for QEMU
Group: System/Emulators/PC
Requires: qemu-hw-display-virtio-gpu
Requires: qemu-hw-display-virtio-gpu = %{version}-%{release}
%{qemu_module_conflicts}
%description hw-s390x-virtio-gpu-ccw
@ -1581,36 +1653,6 @@ This package contains a module for doing OpenGL based UI for QEMU.
%_libdir/%name/ui-egl-headless.so
%_libdir/%name/ui-opengl.so
%package ui-spice-app
Summary: Spice UI support for QEMU
Group: System/Emulators/PC
Requires: qemu-chardev-spice
Requires: qemu-ui-spice-core
%{qemu_module_conflicts}
%description ui-spice-app
This package contains a module for doing Spice based UI for QEMU.
%files ui-spice-app
%dir %_libdir/%name
%_libdir/%name/ui-spice-app.so
%package ui-spice-core
Summary: Core Spice support for QEMU
Group: System/Emulators/PC
Requires: qemu-ui-opengl
# This next Requires is only since virt-manager expects audio support
Requires: qemu-audio-spice
%{qemu_module_conflicts}
%description ui-spice-core
This package contains a module with core Spice support for QEMU.
%files ui-spice-core
%dir %_datadir/%name
%dir %_libdir/%name
%_libdir/%name/ui-spice-core.so
%package vhost-user-gpu
Summary: Vhost user mode virtio-gpu 2D/3D rendering backend for QEMU
Group: System/Emulators/PC
@ -1854,34 +1896,6 @@ for QEMU.
# End of "if with_rbd"
%endif
%if %{legacy_qemu_kvm}
%package kvm
Summary: Wrapper to enable KVM acceleration under QEMU
Group: System/Emulators/PC
%ifarch %ix86 x86_64
Requires: qemu-x86 = %{version}
%endif
%ifarch s390x
Requires: qemu-s390x = %{version}
%endif
Provides: kvm = %{version}
Obsoletes: kvm < %{version}
%description kvm
%{generic_qemu_description}
This package provides a symlink to the main QEMU emulator used for KVM
virtualization. The symlink is named qemu-kvm, which causes the QEMU program
to enable the KVM accelerator, due to the name reference ending with 'kvm'.
This package is an artifact of the early origins of QEMU, and is deprecated.
%files kvm
%_bindir/qemu-kvm
%doc %_docdir/qemu-kvm
%_mandir/man1/qemu-kvm.1.gz
# End of "if legacy_qemu_kvm"
%endif
%if %{build_ppc_firmware}
%package SLOF
Summary: Slimline Open Firmware - SLOF
@ -1944,7 +1958,7 @@ wider support than qboot, but still focuses on quick boot up.
%package seabios
Summary: x86 Legacy BIOS for QEMU
Group: System/Emulators/PC
Version: %{sbver}
Version: 8.2.1%{sbver}
Release: 0
BuildArch: noarch
Conflicts: %name < 1.6.0
@ -1965,7 +1979,7 @@ is the default and legacy BIOS for QEMU.
%package vgabios
Summary: VGA BIOSes for QEMU
Group: System/Emulators/PC
Version: %{sbver}
Version: 8.2.1%{sbver}
Release: 0
BuildArch: noarch
Conflicts: %name < 1.6.0
@ -1991,7 +2005,7 @@ video card. For use with QEMU.
%package ipxe
Summary: PXE ROMs for QEMU NICs
Group: System/Emulators/PC
Version: 1.0.0+
Version: 8.2.1
Release: 0
BuildArch: noarch
Conflicts: %name < 1.6.0