%undefine with_xen
%endif
+# ceph >= 14.0 no longer support 32-bit archs
+%ifarch %{ix86}
+%undefine with_ceph
+%endif
+
Summary: QEMU CPU Emulator
Summary(pl.UTF-8): QEMU - emulator procesora
Name: qemu
-Version: 3.1.0
+Version: 4.2.0
Release: 1
License: GPL v2
Group: Applications/Emulators
Source0: http://wiki.qemu-project.org/download/%{name}-%{version}.tar.xz
-# Source0-md5: fb687ce0b02d3bf4327e36d3b99427a8
+# Source0-md5: 278eeb294e4b497e79af7a57e660cb9a
# Loads kvm kernel modules at boot
Source3: kvm-modules-load.conf
# Creates /dev/kvm
Source7: ksmctl.c
Source9: ksmtuned
Source10: ksmtuned.conf
-Source12: 99-%{name}-guest-agent.rules
+Source12: 99-%{name}-guest-agent.rules
+Source13: %{name}-guest-agent.init
+Source14: %{name}-guest-agent.logrotate
Patch0: %{name}-cflags.patch
Patch1: %{name}-whitelist.patch
Patch2: %{name}-user-execve.patch
Patch3: %{name}-xattr.patch
Patch4: libjpeg-boolean.patch
-Patch5: x32.patch
URL: http://www.qemu-project.org/
%{?with_gl:BuildRequires: OpenGL-GLX-devel}
%{?with_gl:BuildRequires: OpenGL-devel}
%{?with_libnfs:BuildRequires: libnfs-devel >= 1.9.3}
BuildRequires: libpng-devel
%{?with_rdma:BuildRequires: librdmacm-devel}
-%{?with_seccomp:BuildRequires: libseccomp-devel >= 2.2.0}
+%{?with_seccomp:BuildRequires: libseccomp-devel >= 2.3.0}
BuildRequires: libssh2-devel >= 1.2.8
-BuildRequires: libusb-devel >= 1.0.13
+BuildRequires: libusb-devel >= 1.0.22
BuildRequires: libuuid-devel
%{?with_lttng:BuildRequires: lttng-ust-devel}
BuildRequires: lzo-devel >= 2
%{?with_snappy:BuildRequires: snappy-devel}
%if %{with spice}
BuildRequires: spice-protocol >= 0.12.3
-BuildRequires: spice-server-devel >= 0.12.0
+BuildRequires: spice-server-devel >= 0.12.5
%endif
%{?with_systemtap:BuildRequires: systemtap-sdt-devel}
BuildRequires: texi2html
BuildRequires: zlib-devel
%if %{with gtk3}
BuildRequires: gtk+3-devel >= 3.14.0
-%{?with_vte:BuildRequires: vte2.90-devel >= 0.32.0}
+%{?with_vte:BuildRequires: vte-devel >= 0.32.0}
%endif
%if %{with user_static}
BuildRequires: glib2-static
BuildRequires: pcre-static
BuildRequires: zlib-static
%endif
+BuildConflicts: libslirp-devel
Requires: %{name}-img = %{version}-%{release}
Requires: %{name}-system-aarch64 = %{version}-%{release}
Requires: %{name}-system-alpha = %{version}-%{release}
%endif \
Requires: libfdt >= 1.4.2 \
%if %{with seccomp} \
-Requires: libseccomp >= 2.2.0 \
+Requires: libseccomp >= 2.3.0 \
%endif \
-Requires: libusb >= 1.0.13 \
+Requires: libusb >= 1.0.22 \
Requires: pixman >= 0.21.8 \
%if %{with usbredir} \
Requires: usbredir >= 0.6 \
%endif \
%if %{with gtk3} \
Requires: gtk+3 >= 3.14.0 \
-%{?with_vte:Requires: vte2.90 >= 0.32.0} \
+%{?with_vte:Requires: vte >= 0.32.0} \
%endif
# don't strip/chrpath anything in there; these are boot images, roms etc
Group: Daemons
Requires: glib2 >= 1:2.22
Obsoletes: qemu-kvm-guest-agent
+Conflicts: SysVinit < 2.96-2
%description guest-agent
QEMU is a generic and open source processor emulator which achieves a
%patch2 -p1
%patch3 -p1
%patch4 -p1
-%patch5 -p1
# workaround for conflict with alsa/error.h
ln -s ../error.h qapi/error.h
%{__enable_disable ceph rbd} \
%{__enable_disable rdma} \
%{__enable_disable sdl} \
- --with-sdlabi=2.0 \
%{__enable_disable seccomp} \
%{__enable_disable spice} \
%{__enable_disable smartcard smartcard} \
%install
rm -rf $RPM_BUILD_ROOT
install -d \
- $RPM_BUILD_ROOT/etc/{qemu,sysconfig,udev/rules.d,modules-load.d} \
+ $RPM_BUILD_ROOT/etc/{qemu,sysconfig,udev/rules.d,modules-load.d,rc.d/init.d,logrotate.d} \
$RPM_BUILD_ROOT{%{_sysconfdir}/sasl,%{_sbindir}}
%if %{with user_static}
install -p %{SOURCE9} $RPM_BUILD_ROOT%{_sbindir}/ksmtuned
install -p %{SOURCE10} $RPM_BUILD_ROOT%{_sysconfdir}/ksmtuned.conf
+# service and udev rules.
+install -p %{SOURCE12} $RPM_BUILD_ROOT%{_sysconfdir}/udev/rules.d
+
+install -p %{SOURCE13} $RPM_BUILD_ROOT/etc/rc.d/init.d/qemu-ga
+install -p %{SOURCE14} $RPM_BUILD_ROOT/etc/logrotate.d/qemu-ga
+
# packaged as %doc
%{__rm} $RPM_BUILD_ROOT%{_docdir}/qemu/qemu-doc.html
: > qemu.lang
%endif
+%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/qemu
+
%clean
rm -rf $RPM_BUILD_ROOT
%groupremove kvm
fi
+%post guest-agent
+/sbin/chkconfig --add qemu-ga
+%service qemu-ga restart "qemu-ga"
+
+%preun guest-agent
+if [ "$1" = "0" ]; then
+ %service qemu-ga stop
+ /sbin/chkconfig --del qemu-ga
+fi
+
%files
%defattr(644,root,root,755)
%files common -f %{name}.lang
%defattr(644,root,root,755)
-%doc LICENSE README
+%doc LICENSE README.rst
%doc build-dynamic/qemu-doc.html
%attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/qemu-ifup
%config(noreplace) %verify(not md5 mtime size) /etc/ksmtuned.conf
%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/ksm
%dir /etc/qemu
%attr(640,root,qemu) %config(noreplace) %verify(not md5 mtime size) /etc/qemu/bridge.conf
+%attr(755,root,root) %{_bindir}/elf2dmp
%attr(755,root,root) %{_bindir}/virtfs-proxy-helper
+%attr(755,root,root) %{_bindir}/qemu-edid
%{?with_xkbcommon:%attr(755,root,root) %{_bindir}/qemu-keymap}
%attr(755,root,root) %{_bindir}/qemu-nbd
%attr(755,root,root) %{_bindir}/qemu-pr-helper
%attr(755,root,root) %{_sbindir}/ksmtuned
%{_mandir}/man1/qemu.1*
%{_mandir}/man1/virtfs-proxy-helper.1*
+%{_mandir}/man7/qemu-cpu-models.7*
%{_mandir}/man7/qemu-block-drivers.7*
%{_mandir}/man8/qemu-nbd.8*
%dir %{_datadir}/qemu
+%dir %{_datadir}/%{name}/firmware
%{_datadir}/%{name}/keymaps
-%{_datadir}/%{name}/qemu-icon.bmp
%{_datadir}/%{name}/trace-events-all
# various bios images
%{_datadir}/%{name}/petalogix-ml605.dtb
%{_datadir}/%{name}/petalogix-s3adsp1800.dtb
%{_datadir}/%{name}/ppc_rom.bin
+%{_datadir}/%{name}/pvh.bin
%{_datadir}/%{name}/pxe-e1000.rom
%{_datadir}/%{name}/pxe-eepro100.rom
%{_datadir}/%{name}/pxe-ne2k_pci.rom
%{_datadir}/%{name}/pxe-rtl8139.rom
%{_datadir}/%{name}/pxe-virtio.rom
%{_datadir}/%{name}/QEMU,cgthree.bin
-%{_datadir}/%{name}/qemu_logo_no_text.svg
%{_datadir}/%{name}/QEMU,tcx.bin
%{_datadir}/%{name}/s390-ccw.img
%{_datadir}/%{name}/sgabios.bin
%{_datadir}/%{name}/skiboot.lid
%{_datadir}/%{name}/slof.bin
-%{_datadir}/%{name}/spapr-rtas.bin
+#%{_datadir}/%{name}/spapr-rtas.bin
%{_datadir}/%{name}/vgabios.bin
+%{_datadir}/%{name}/vgabios-ati.bin
%{_datadir}/%{name}/vgabios-bochs-display.bin
%{_datadir}/%{name}/vgabios-cirrus.bin
%{_datadir}/%{name}/vgabios-qxl.bin
%attr(755,root,root) %{_libdir}/%{name}/ui-gtk.so
%endif
%{?with_sdl:%attr(755,root,root) %{_libdir}/%{name}/ui-sdl.so}
+%{?with_spice:%attr(755,root,root) %{_libdir}/%{name}/ui-spice-app.so}
%files img
%defattr(644,root,root,755)
%files system-aarch64
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/qemu-system-aarch64
+%{_datadir}/%{name}/edk2-aarch64-code.fd
+%{_datadir}/%{name}/firmware/60-edk2-aarch64.json
%files system-alpha
%defattr(644,root,root,755)
%files system-arm
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/qemu-system-arm
+%{_datadir}/%{name}/edk2-arm-code.fd
+%{_datadir}/%{name}/edk2-arm-vars.fd
+%{_datadir}/%{name}/firmware/60-edk2-arm.json
%files system-cris
%defattr(644,root,root,755)
%files system-riscv32
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/qemu-system-riscv32
+%{_datadir}/%{name}/opensbi-riscv32-virt-fw_jump.bin
%files system-riscv64
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/qemu-system-riscv64
+%{_datadir}/%{name}/opensbi-riscv64-sifive_u-fw_jump.bin
+%{_datadir}/%{name}/opensbi-riscv64-virt-fw_jump.bin
%files system-s390x
%defattr(644,root,root,755)
%endif
%{_datadir}/%{name}/bios.bin
%{_datadir}/%{name}/bios-256k.bin
+%{_datadir}/%{name}/bios-microvm.bin
+%{_datadir}/%{name}/edk2-i386-code.fd
+%{_datadir}/%{name}/edk2-i386-secure-code.fd
+%{_datadir}/%{name}/edk2-i386-vars.fd
+%{_datadir}/%{name}/edk2-x86_64-code.fd
+%{_datadir}/%{name}/edk2-x86_64-secure-code.fd
+%{_datadir}/%{name}/firmware/50-edk2-i386-secure.json
+%{_datadir}/%{name}/firmware/50-edk2-x86_64-secure.json
+%{_datadir}/%{name}/firmware/60-edk2-i386.json
+%{_datadir}/%{name}/firmware/60-edk2-x86_64.json
%files system-xtensa
%defattr(644,root,root,755)
%files guest-agent
%defattr(644,root,root,755)
%config(noreplace) %verify(not md5 mtime size) /etc/udev/rules.d/99-qemu-guest-agent.rules
+%attr(754,root,root) /etc/rc.d/init.d/qemu-ga
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/qemu-ga
%attr(755,root,root) %{_bindir}/qemu-ga
+%{_mandir}/man7/qemu-ga-ref.7*
%{_mandir}/man8/qemu-ga.8*
%files module-block-curl