diff --git a/_service b/_service index 2b1d21f..8b77c63 100644 --- a/_service +++ b/_service @@ -1,5 +1,5 @@ - + git https://github.com/opensuse/qemu.git factory @@ -7,12 +7,15 @@ [v]?([^-+a-z]+)(.*) \1 enable + rpm/common.inc + rpm/qemu.spec + rpm/qemu-linux-user.spec + rpm/README.PACKAGING + rpm/qemu-rpmlintrc - - *.tar - */rpm/common.inc */rpm/qemu.spec */rpm/qemu-linux-user.spec */rpm/README.PACKAGING */rpm/qemu-rpmlintrc - - + + + *.tar xz diff --git a/_servicedata b/_servicedata index e0788dd..ed902d3 100644 --- a/_servicedata +++ b/_servicedata @@ -1,4 +1,4 @@ https://github.com/opensuse/qemu.git - ac31da24d5497bf4b9c27d67462f48fb1e1697fb \ No newline at end of file + 501249e627b4c005aafad930a7015c98523eb80c \ No newline at end of file diff --git a/common.inc b/common.inc index b303c9c..c5a3d46 100644 --- a/common.inc +++ b/common.inc @@ -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.\ diff --git a/qemu-8.2.0.tar.xz b/qemu-8.2.0.tar.xz deleted file mode 100644 index d216013..0000000 --- a/qemu-8.2.0.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b1afad754e48f6381c42da6b42f493855aac52fa504dcbf7c7ccca49f39644e3 -size 179328724 diff --git a/qemu-8.2.1.obscpio b/qemu-8.2.1.obscpio new file mode 100644 index 0000000..53f3418 --- /dev/null +++ b/qemu-8.2.1.obscpio @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ff965ecaa0caef40a431a52a69ab152c853c222b784c5a24be7245ceb4da299c +size 847562255 diff --git a/qemu-linux-user.spec b/qemu-linux-user.spec index 6041651..7978314 100644 --- a/qemu-linux-user.spec +++ b/qemu-linux-user.spec @@ -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 diff --git a/qemu.changes b/qemu.changes index 7b374e5..35e6cd1 100644 --- a/qemu.changes +++ b/qemu.changes @@ -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 diff --git a/qemu.obsinfo b/qemu.obsinfo new file mode 100644 index 0000000..92236a5 --- /dev/null +++ b/qemu.obsinfo @@ -0,0 +1,4 @@ +name: qemu +version: 8.2.1 +mtime: 1709220747 +commit: 501249e627b4c005aafad930a7015c98523eb80c diff --git a/qemu.spec b/qemu.spec index 1c10c60..1122389 100644 --- a/qemu.spec +++ b/qemu.spec @@ -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