diff --git a/qemu.spec b/qemu.spec index e7401c4c45c527e03cc18888cdcc70638c331c3d..285844613a7e9a51a623c38f218894d63e6eaa08 100644 --- a/qemu.spec +++ b/qemu.spec @@ -1,7 +1,19 @@ -%define anolis_release 21 - +%define anolis_release 22 %bcond_with check +%global all_system_emu_support 0 +%if 0%{?all_system_emu_support} != 1 +%ifarch x86_64 +%global target_list x86_64-linux-user,x86_64-softmmu +%endif +%ifarch aarch64 +%global target_list aarch64-linux-user,aarch64_be-linux-user,aarch64-softmmu +%endif +%ifarch loongarch64 +%global target_list loongarch64-linux-user,loongarch64-softmmu +%endif + +%endif %global libfdt_version 1.6.0 %global libseccomp_version 2.3.0 %global libusbx_version 1.0.23 @@ -187,12 +199,16 @@ %{requires_ui_spice_core} \ %{requires_char_baum} \ %{requires_char_spice} \ +%ifnarch aarch64 loongarch64 \ %{requires_device_display_qxl} \ +%endif \ %{requires_device_display_vhost_user_gpu} \ %{requires_device_display_virtio_gpu} \ %{requires_device_display_virtio_gpu_pci} \ +%ifnarch aarch64 loongarch64 \ %{requires_device_display_virtio_vga} \ %{requires_device_display_virtio_vga_gl} \ +%endif \ %{requires_device_usb_host} \ %{requires_device_usb_redirect} \ %{requires_device_usb_smartcard} \ @@ -407,11 +423,18 @@ BuildRequires: glibc-static pcre-static glib2-static zlib-static %endif Requires: %{name}-user = %{EVR} +%ifarch aarch64 Requires: %{name}-system-aarch64 = %{EVR} -Requires: %{name}-system-arm = %{EVR} +%endif +%ifarch loongarch64 Requires: %{name}-system-loongarch64 = %{EVR} +%endif +%ifarch riscv Requires: %{name}-system-riscv = %{EVR} +%endif +%ifarch x86_64 Requires: %{name}-system-x86 = %{EVR} +%endif Requires: %{name}-img = %{EVR} Requires: %{name}-tools = %{EVR} Requires: qemu-pr-helper = %{EVR} @@ -713,6 +736,8 @@ Obsoletes: qemu-kvm-device-display-virtio-gpu-ccw < %{EVR} %description device-display-virtio-gpu-ccw This package provides the virtio-gpu-ccw display device for QEMU. +# virtio-vga only support legacy firmware.Aarch64 cannot support. +%ifnarch aarch64 loongarch64 %package device-display-virtio-vga Summary: QEMU virtio-vga display device Requires: %{name}-common = %{EVR} @@ -726,6 +751,7 @@ Requires: %{name}-common = %{EVR} Obsoletes: qemu-kvm-device-display-virtio-vga-gl < %{EVR} %description device-display-virtio-vga-gl This package provides the virtio-vga-gl display device for QEMU. +%endif %package device-usb-host Summary: QEMU usb host device @@ -775,6 +801,8 @@ Obsoletes: qemu-kvm-ui-spice-app < %{EVR} %description ui-spice-app This package provides the additional spice-app UI for QEMU. +# qxl is a vga compatible device which only legacy firmware need +%ifnarch aarch64 loongarch64 %package device-display-qxl Summary: QEMU QXL display device Requires: %{name}-common = %{EVR} @@ -782,6 +810,7 @@ Requires: %{name}-ui-spice-core = %{EVR} Obsoletes: qemu-kvm-device-display-qxl < %{EVR} %description device-display-qxl This package provides the QXL display device for QEMU. +%endif %package char-spice Summary: QEMU spice chardev driver @@ -849,6 +878,7 @@ static binaries %endif +%ifarch aarch64 %package system-aarch64 Summary: QEMU system emulator for AArch64 Requires: %{name}-system-aarch64-core = %{EVR} @@ -865,20 +895,9 @@ Requires: edk2-aarch64 %description system-aarch64-core This package provides the QEMU system emulator for AArch64. -%package system-arm -Summary: QEMU system emulator for ARM -Requires: %{name}-system-arm-core = %{EVR} -%{requires_all_modules} -%description system-arm -This package provides the QEMU system emulator for ARM systems. - -%package system-arm-core -Summary: QEMU system emulator for ARM -Requires: %{name}-common = %{EVR} -%description system-arm-core -This package provides the QEMU system emulator for ARM boards. - +%endif +%ifarch loongarch64 %package system-loongarch64 Summary: QEMU system emulator for LoongArch (LA64) Requires: %{name}-system-loongarch64-core = %{EVR} @@ -895,8 +914,9 @@ Summary: QEMU system emulator for LoongArch (LA64) Requires: %{name}-common = %{EVR} %description system-loongarch64-core This package provides the QEMU system emulator for Loongson boards. +%endif - +%ifarch riscv %package system-riscv Summary: QEMU system emulator for RISC-V Requires: %{name}-system-riscv-core = %{EVR} @@ -909,8 +929,10 @@ Summary: QEMU system emulator for RISC-V Requires: %{name}-common = %{EVR} %description system-riscv-core This package provides the QEMU system emulator for RISC-V systems. +%endif +%ifarch x86_64 %package system-x86 Summary: QEMU system emulator for x86 Requires: %{name}-system-x86-core = %{EVR} @@ -933,6 +955,7 @@ Requires: edk2-ovmf This package provides the QEMU system emulator for x86. When being run in a x86 machine that supports it, this package also provides the KVM virtualization platform. +%endif %prep @@ -1034,7 +1057,6 @@ mkdir -p %{static_builddir} --disable-spice \\\ --disable-spice-protocol \\\ --disable-strip \\\ - --disable-system \\\ --disable-tcg \\\ --disable-tools \\\ --disable-tpm \\\ @@ -1159,7 +1181,6 @@ run_configure \ --enable-slirp \ --enable-slirp-smbd \ --enable-snappy \ - --enable-system \ --enable-tcg \ --enable-tools \ --enable-tpm \ @@ -1180,7 +1201,9 @@ run_configure \ \ \ --audio-drv-list=pa,alsa,%{?jack_drv}oss \ + %if 0%{?all_system_emu_support} == 1 --target-list-exclude=moxie-softmmu \ + %endif --with-default-devices \ --enable-auth-pam \ --enable-bochs \ @@ -1209,7 +1232,6 @@ run_configure \ %if %{have_librdma} --enable-pvrdma \ %endif - --enable-qcow1 \ --enable-qed \ --enable-qom-cast-debug \ --enable-replication \ @@ -1585,12 +1607,20 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \ %endif %config(noreplace) %{_sysconfdir}/sasl2/%{name}.conf - %{_datadir}/applications/qemu.desktop %exclude %{_datadir}/%{name}/qemu-nsis.bmp %{_libexecdir}/virtfs-proxy-helper %{_mandir}/man1/virtfs-proxy-helper.1* +%{_datadir}/%{name}/npcm7xx_bootrom.bin +%{_datadir}/%{name}/opensbi-*.bin +%{_datadir}/%{name}/kvmvapic.bin +%{_datadir}/%{name}/linuxboot.bin +%{_datadir}/%{name}/multiboot.bin +%{_datadir}/%{name}/multiboot_dma.bin +%{_datadir}/%{name}/pvh.bin +%{_datadir}/%{name}/qboot.rom + %files tests %{testsdir} @@ -1665,10 +1695,12 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \ %endif %files device-display-virtio-gpu-ccw %{_libdir}/%{name}/hw-s390x-virtio-gpu-ccw.so +%ifnarch aarch64 loongarch64 %files device-display-virtio-vga %{_libdir}/%{name}/hw-display-virtio-vga.so %files device-display-virtio-vga-gl %{_libdir}/%{name}/hw-display-virtio-vga-gl.so +%endif %files device-usb-host %{_libdir}/%{name}/hw-usb-host.so %files device-usb-redirect @@ -1688,8 +1720,10 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \ %{_libdir}/%{name}/audio-spice.so %files char-spice %{_libdir}/%{name}/chardev-spice.so +%ifnarch aarch64 loongarch64 %files device-display-qxl %{_libdir}/%{name}/hw-display-qxl.so +%endif %files ui-spice-core %{_libdir}/%{name}/ui-spice-core.so %files ui-spice-app @@ -1707,63 +1741,19 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \ %files user -%{_bindir}/qemu-i386 +%ifarch x86_64 %{_bindir}/qemu-x86_64 +%{_datadir}/systemtap/tapset/qemu-x86_64*.stp +%endif +%ifarch aarch64 %{_bindir}/qemu-aarch64 %{_bindir}/qemu-aarch64_be -%{_bindir}/qemu-alpha -%{_bindir}/qemu-arm -%{_bindir}/qemu-armeb -%{_bindir}/qemu-cris -%{_bindir}/qemu-hppa -%{_bindir}/qemu-hexagon -%{_bindir}/qemu-loongarch64 -%{_bindir}/qemu-m68k -%{_bindir}/qemu-microblaze -%{_bindir}/qemu-microblazeel -%{_bindir}/qemu-mips -%{_bindir}/qemu-mipsel -%{_bindir}/qemu-mips64 -%{_bindir}/qemu-mips64el -%{_bindir}/qemu-mipsn32 -%{_bindir}/qemu-mipsn32el -%{_bindir}/qemu-nios2 -%{_bindir}/qemu-or1k -%{_bindir}/qemu-ppc -%{_bindir}/qemu-ppc64 -%{_bindir}/qemu-ppc64le -%{_bindir}/qemu-riscv32 -%{_bindir}/qemu-riscv64 -%{_bindir}/qemu-s390x -%{_bindir}/qemu-sh4 -%{_bindir}/qemu-sh4eb -%{_bindir}/qemu-sparc -%{_bindir}/qemu-sparc32plus -%{_bindir}/qemu-sparc64 -%{_bindir}/qemu-xtensa -%{_bindir}/qemu-xtensaeb - -%{_datadir}/systemtap/tapset/qemu-i386*.stp -%{_datadir}/systemtap/tapset/qemu-x86_64*.stp %{_datadir}/systemtap/tapset/qemu-aarch64*.stp -%{_datadir}/systemtap/tapset/qemu-alpha*.stp -%{_datadir}/systemtap/tapset/qemu-arm*.stp -%{_datadir}/systemtap/tapset/qemu-cris*.stp -%{_datadir}/systemtap/tapset/qemu-hppa*.stp -%{_datadir}/systemtap/tapset/qemu-hexagon*.stp +%endif +%ifarch loongarch64 +%{_bindir}/qemu-loongarch64 %{_datadir}/systemtap/tapset/qemu-loongarch64*.stp -%{_datadir}/systemtap/tapset/qemu-m68k*.stp -%{_datadir}/systemtap/tapset/qemu-microblaze*.stp -%{_datadir}/systemtap/tapset/qemu-mips*.stp -%{_datadir}/systemtap/tapset/qemu-nios2*.stp -%{_datadir}/systemtap/tapset/qemu-or1k*.stp -%{_datadir}/systemtap/tapset/qemu-ppc*.stp -%{_datadir}/systemtap/tapset/qemu-riscv*.stp -%{_datadir}/systemtap/tapset/qemu-s390x*.stp -%{_datadir}/systemtap/tapset/qemu-sh4*.stp -%{_datadir}/systemtap/tapset/qemu-sparc*.stp -%{_datadir}/systemtap/tapset/qemu-xtensa*.stp - +%endif %files user-binfmt %{_exec_prefix}/lib/binfmt.d/qemu-*-dynamic.conf @@ -1775,26 +1765,23 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \ %{_datadir}/systemtap/tapset/qemu-*-static.stp %endif - +%ifarch aarch64 %files system-aarch64 %files system-aarch64-core %{_bindir}/qemu-system-aarch64 %{_datadir}/systemtap/tapset/qemu-system-aarch64*.stp %{_mandir}/man1/qemu-system-aarch64.1* +%endif -%files system-arm -%files system-arm-core -%{_bindir}/qemu-system-arm -%{_datadir}/%{name}/npcm7xx_bootrom.bin -%{_datadir}/systemtap/tapset/qemu-system-arm*.stp -%{_mandir}/man1/qemu-system-arm.1* - +%ifarch loongarch64 %files system-loongarch64 %files system-loongarch64-core %{_bindir}/qemu-system-loongarch64 %{_datadir}/systemtap/tapset/qemu-system-loongarch64*.stp %{_mandir}/man1/qemu-system-loongarch64.1* +%endif +%ifarch riscv %files system-riscv %files system-riscv-core %{_bindir}/qemu-system-riscv32 @@ -1802,32 +1789,28 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \ %{_datadir}/%{name}/opensbi-riscv*.bin %{_datadir}/systemtap/tapset/qemu-system-riscv*.stp %{_mandir}/man1/qemu-system-riscv*.1* +%endif +%ifarch x86_64 %files system-x86 %files system-x86-core -%{_bindir}/qemu-system-i386 %{_bindir}/qemu-system-x86_64 -%{_libdir}/%{name}/accel-tcg-i386.so %{_libdir}/%{name}/accel-tcg-x86_64.so -%{_datadir}/systemtap/tapset/qemu-system-i386*.stp %{_datadir}/systemtap/tapset/qemu-system-x86_64*.stp -%{_mandir}/man1/qemu-system-i386.1* %{_mandir}/man1/qemu-system-x86_64.1* -%{_datadir}/%{name}/kvmvapic.bin -%{_datadir}/%{name}/linuxboot.bin -%{_datadir}/%{name}/multiboot.bin -%{_datadir}/%{name}/multiboot_dma.bin -%{_datadir}/%{name}/pvh.bin -%{_datadir}/%{name}/qboot.rom %if %{need_qemu_kvm} %{_bindir}/qemu-kvm %{_mandir}/man1/qemu-kvm.1* %endif +%endif # endif !tools_only %endif %changelog +* Mon Nov 15 2024 Chang Gao - 2:8.2.0-22 +- Disable other platform support when running on specified arch. + * Tue Nov 14 2024 Xuchun Shang - 2:8.2.0-21 - Update the src package and release for version 21