From aa166ca60ff79c72f5a4933f465459ce212785be1a90369c55b08828cb60e3ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20F=C3=A4rber?= Date: Fri, 15 Jul 2016 15:50:58 +0000 Subject: [PATCH] Accepting request 408598 from home:bfrogers:branches:Virtualization Improve the spec file and conditionals used to maximize feature availability. Work is done with an eye toward syncing more closely with the IBS qemu spec file. More passes are needed but this was some of the low hanging fruit. OBS-URL: https://build.opensuse.org/request/show/408598 OBS-URL: https://build.opensuse.org/package/show/Virtualization/qemu?expand=0&rev=306 --- 0061-configure-add-echo_version-helper.patch | 61 +++++++++++++++++ 0062-configure-support-vte-2.91.patch | 70 ++++++++++++++++++++ kvm.conf | 3 + qemu-linux-user.changes | 8 +++ qemu-linux-user.spec | 4 ++ qemu-testsuite.changes | 17 +++++ qemu-testsuite.spec | 68 ++++++++++++++----- qemu.changes | 17 +++++ qemu.spec | 68 ++++++++++++++----- qemu.spec.in | 58 +++++++++++----- 10 files changed, 320 insertions(+), 54 deletions(-) create mode 100644 0061-configure-add-echo_version-helper.patch create mode 100644 0062-configure-support-vte-2.91.patch create mode 100644 kvm.conf diff --git a/0061-configure-add-echo_version-helper.patch b/0061-configure-add-echo_version-helper.patch new file mode 100644 index 0000000..d568597 --- /dev/null +++ b/0061-configure-add-echo_version-helper.patch @@ -0,0 +1,61 @@ +From 79607d09f8670a92feb8e63455f6be59842f985a Mon Sep 17 00:00:00 2001 +From: Cole Robinson +Date: Fri, 6 May 2016 14:03:09 -0400 +Subject: [PATCH] configure: add echo_version helper + +Simplifies printing library versions, dependent on if the library +was even found + +Signed-off-by: Cole Robinson +Message-id: 3c9ab16123e06bb4109771ef6ee8acd82d449ba0.1462557436.git.crobinso@redhat.com +Signed-off-by: Gerd Hoffmann +(cherry picked from commit 02d34f62fdecb54637e5a66d254bd68fcbfa397f) +[BR: BSC#988855] +Signed-off-by: Bruce Rogers +--- + configure | 18 ++++++++---------- + 1 file changed, 8 insertions(+), 10 deletions(-) + +diff --git a/configure b/configure +index b455035..767658e 100755 +--- a/configure ++++ b/configure +@@ -4748,6 +4748,12 @@ EOF + fi + fi + ++echo_version() { ++ if test "$1" = "yes" ; then ++ echo "($2)" ++ fi ++} ++ + # prepend pixman and ftd flags after all config tests are done + QEMU_CFLAGS="$pixman_cflags $fdt_cflags $QEMU_CFLAGS" + libs_softmmu="$pixman_libs $libs_softmmu" +@@ -4805,11 +4811,7 @@ echo "GNUTLS hash $gnutls_hash" + echo "GNUTLS rnd $gnutls_rnd" + echo "libgcrypt $gcrypt" + echo "libgcrypt kdf $gcrypt_kdf" +-if test "$nettle" = "yes"; then +- echo "nettle $nettle ($nettle_version)" +-else +- echo "nettle $nettle" +-fi ++echo "nettle $nettle `echo_version $nettle $nettle_version`" + echo "nettle kdf $nettle_kdf" + echo "libtasn1 $tasn1" + echo "VTE support $vte" +@@ -4861,11 +4863,7 @@ echo "Trace backends $trace_backends" + if have_backend "simple"; then + echo "Trace output file $trace_file-" + fi +-if test "$spice" = "yes"; then +-echo "spice support $spice ($spice_protocol_version/$spice_server_version)" +-else +-echo "spice support $spice" +-fi ++echo "spice support $spice `echo_version $spice $spice_protocol_version/$spice_server_version`" + echo "rbd support $rbd" + echo "xfsctl support $xfs" + echo "smartcard support $smartcard" diff --git a/0062-configure-support-vte-2.91.patch b/0062-configure-support-vte-2.91.patch new file mode 100644 index 0000000..a39dfe5 --- /dev/null +++ b/0062-configure-support-vte-2.91.patch @@ -0,0 +1,70 @@ +From 8c4afe82d5eb1cfd33d64fa9b1a3f7fd92bc02f3 Mon Sep 17 00:00:00 2001 +From: Cole Robinson +Date: Fri, 6 May 2016 14:03:12 -0400 +Subject: [PATCH] configure: support vte-2.91 + +vte >= 0.37 expores API version 2.91, which is where all the active +development is. qemu builds and runs fine with that version, so use it +if it's available. + +Signed-off-by: Cole Robinson +Message-id: b4f0375647f7b368d3dbd3834aee58cb0253566a.1462557436.git.crobinso@redhat.com +Signed-off-by: Gerd Hoffmann +(cherry picked from commit c6feff9e09aa999b77a37f532adbb89682ecb1b6) +[BR: BSC#988855] +Signed-off-by: Bruce Rogers +--- + configure | 17 +++++++++++------ + 1 file changed, 11 insertions(+), 6 deletions(-) + +diff --git a/configure b/configure +index 767658e..f32cff5 100755 +--- a/configure ++++ b/configure +@@ -2395,20 +2395,25 @@ fi + + if test "$vte" != "no"; then + if test "$gtkabi" = "3.0"; then +- vtepackage="vte-2.90" +- vteversion="0.32.0" ++ vteminversion="0.32.0" ++ if $pkg_config --exists "vte-2.91"; then ++ vtepackage="vte-2.91" ++ else ++ vtepackage="vte-2.90" ++ fi + else + vtepackage="vte" +- vteversion="0.24.0" ++ vteminversion="0.24.0" + fi +- if $pkg_config --exists "$vtepackage >= $vteversion"; then ++ if $pkg_config --exists "$vtepackage >= $vteminversion"; then + vte_cflags=`$pkg_config --cflags $vtepackage` + vte_libs=`$pkg_config --libs $vtepackage` ++ vteversion=`$pkg_config --modversion $vtepackage` + libs_softmmu="$vte_libs $libs_softmmu" + vte="yes" + elif test "$vte" = "yes"; then + if test "$gtkabi" = "3.0"; then +- feature_not_found "vte" "Install libvte-2.90 devel" ++ feature_not_found "vte" "Install libvte-2.90/2.91 devel" + else + feature_not_found "vte" "Install libvte devel" + fi +@@ -4806,6 +4811,7 @@ echo "pixman $pixman" + echo "SDL support $sdl" + echo "GTK support $gtk" + echo "GTK GL support $gtk_gl" ++echo "VTE support $vte `echo_version $vte $vteversion`" + echo "GNUTLS support $gnutls" + echo "GNUTLS hash $gnutls_hash" + echo "GNUTLS rnd $gnutls_rnd" +@@ -4814,7 +4820,6 @@ echo "libgcrypt kdf $gcrypt_kdf" + echo "nettle $nettle `echo_version $nettle $nettle_version`" + echo "nettle kdf $nettle_kdf" + echo "libtasn1 $tasn1" +-echo "VTE support $vte" + echo "curses support $curses" + echo "virgl support $virglrenderer" + echo "curl support $curl" diff --git a/kvm.conf b/kvm.conf new file mode 100644 index 0000000..835d125 --- /dev/null +++ b/kvm.conf @@ -0,0 +1,3 @@ +# load kvm module at boot time +kvm + diff --git a/qemu-linux-user.changes b/qemu-linux-user.changes index 9479401..b894f8f 100644 --- a/qemu-linux-user.changes +++ b/qemu-linux-user.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Thu Jul 14 19:38:39 UTC 2016 - brogers@suse.com + +- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.6 +* Patches added: + 0061-configure-add-echo_version-helper.patch + 0062-configure-support-vte-2.91.patch + ------------------------------------------------------------------- Thu Jul 7 16:16:40 UTC 2016 - agraf@suse.com diff --git a/qemu-linux-user.spec b/qemu-linux-user.spec index 934db72..3db5cfe 100644 --- a/qemu-linux-user.spec +++ b/qemu-linux-user.spec @@ -85,6 +85,8 @@ Patch0057: 0057-xen-add-pvUSB-backend.patch Patch0058: 0058-usb-Fix-conditions-that-xen-usb.c-i.patch Patch0059: 0059-vnc-add-configurable-keyboard-delay.patch Patch0060: 0060-scsi-megasas-initialise-local-confi.patch +Patch0061: 0061-configure-add-echo_version-helper.patch +Patch0062: 0062-configure-support-vte-2.91.patch # Please do not add patches manually here, run update_git.sh. # this is to make lint happy Source300: qemu-rpmlintrc @@ -198,6 +200,8 @@ run cross-architecture builds. %patch0058 -p1 %patch0059 -p1 %patch0060 -p1 +%patch0061 -p1 +%patch0062 -p1 %build ./configure --prefix=%_prefix --sysconfdir=%_sysconfdir \ diff --git a/qemu-testsuite.changes b/qemu-testsuite.changes index 3ac6554..42d9543 100644 --- a/qemu-testsuite.changes +++ b/qemu-testsuite.changes @@ -1,3 +1,20 @@ +------------------------------------------------------------------- +Thu Jul 14 19:38:39 UTC 2016 - brogers@suse.com + +- Build SLOF for SLE12 now that we have gcc fix (bsc#949000) +- Add script for loading kvm module on s390x +- Enable seccomp and iscsi support in more configurations +- Enable more support for virtio-gpu +- Fix /dev/kvm permissions problem with package install and no + reboot (bnc#867867) +- Remove libtool dependency +- Disable more aggressive stack protector for performance reasons +- Enable vte to be used again in more configurations (bsc#988855) +- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.6 +* Patches added: + 0061-configure-add-echo_version-helper.patch + 0062-configure-support-vte-2.91.patch + ------------------------------------------------------------------- Thu Jul 14 14:59:37 UTC 2016 - agraf@suse.com diff --git a/qemu-testsuite.spec b/qemu-testsuite.spec index 0d1ae60..fa67f90 100644 --- a/qemu-testsuite.spec +++ b/qemu-testsuite.spec @@ -28,9 +28,7 @@ %define build_slof_from_source 1 %endif %ifarch ppc64le -# Needs a compatible gcc (bsc#949000) -# TODO: include 1315 for SLE12 once possible -%if 0%{?suse_version} > 1320 +%if 0%{?suse_version} > 1320 || 0%{?suse_version} == 1315 %define build_slof_from_source 1 %endif %endif @@ -47,11 +45,25 @@ %define noarch_supported 1110 %ifarch x86_64 -%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && ( 0%{?is_opensuse} == 0 || 0%{?sle_version} == 120200 ) ) +%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && ( 0%{?is_opensuse} == 0 || 0%{?sle_version} > 120100 ) ) %define with_rbd 1 %endif %endif +%ifarch aarch64 +%if 0%{?suse_version} > 1320 || ( 0%{?is_opensuse} == 0 && 0%{?sle_version} > 120100 ) +%define with_rbd 1 +%endif +%endif + +%if 0%{?suse_version} > 1320 +%define with_seccomp 1 +%endif + +%ifarch %ix86 x86_64 +%define with_seccomp 1 +%endif + Name: qemu-testsuite Url: http://www.qemu.org/ Summary: Universal CPU emulator @@ -70,6 +82,7 @@ Source6: ksm.service Source7: 60-kvm.x86.rules Source8: 80-qemu-ga.rules Source9: qemu-ga.service +Source10: kvm.conf # Upstream First -- http://wiki.qemu-project.org/Contribute/SubmitAPatch # This patch queue is auto-generated from https://github.com/openSUSE/qemu Patch0001: 0001-XXX-dont-dump-core-on-sigabort.patch @@ -132,6 +145,8 @@ Patch0057: 0057-xen-add-pvUSB-backend.patch Patch0058: 0058-usb-Fix-conditions-that-xen-usb.c-i.patch Patch0059: 0059-vnc-add-configurable-keyboard-delay.patch Patch0060: 0060-scsi-megasas-initialise-local-confi.patch +Patch0061: 0061-configure-add-echo_version-helper.patch +Patch0062: 0062-configure-support-vte-2.91.patch # Please do not add QEMU patches manually here. # Run update_git.sh to regenerate this queue. @@ -194,7 +209,7 @@ BuildRequires: libcacard-devel BuildRequires: libcap-devel BuildRequires: libcap-ng-devel BuildRequires: libdrm-devel -%if 0%{?suse_version} >= 1320 +%if 0%{?suse_version} >= 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 ) BuildRequires: libepoxy-devel %endif %if 0%{?suse_version} >= 1310 @@ -214,7 +229,7 @@ BuildRequires: librbd-devel BuildRequires: ceph-devel %endif %endif -%if 0%{?suse_version} > 1320 +%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 ) BuildRequires: libiscsi-devel %endif BuildRequires: libjpeg-devel @@ -237,13 +252,12 @@ BuildRequires: libpulse-devel %if 0%{?suse_version} >= 1315 BuildRequires: librdmacm-devel %endif -%if 0%{?suse_version} > 1320 +%if 0%{?with_seccomp} BuildRequires: libseccomp-devel %endif %if 0%{?suse_version} > 1140 BuildRequires: libssh2-devel %endif -BuildRequires: libtool %if 0%{?suse_version} > 1310 BuildRequires: libusb-1_0-devel %endif @@ -252,6 +266,7 @@ BuildRequires: lzo-devel %if 0%{?suse_version} > 1220 BuildRequires: makeinfo %endif +BuildRequires: Mesa-devel BuildRequires: mozilla-nss-devel BuildRequires: ncurses-devel %if 0%{?build_x86_fw_from_source} @@ -279,7 +294,7 @@ BuildRequires: pkgconfig(udev) %if 0%{?sles_version} != 11 BuildRequires: usbredir-devel %endif -%if 0%{?suse_version} >= 1320 +%if 0%{?suse_version} >= 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 ) BuildRequires: virglrenderer-devel >= 0.4.1 %endif %if 0%{?suse_version} >= 1210 @@ -344,7 +359,7 @@ Suggests: qemu-block-dmg %if 0%{?suse_version} >= 1310 && 0%{?suse_version} != 1315 Suggests: qemu-block-gluster %endif -%if 0%{?suse_version} > 1320 +%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 ) Suggests: qemu-block-iscsi %endif %if 0%{?with_rbd} @@ -548,7 +563,7 @@ This sub-package contains a module for accessing network-based image files over a GlusterFS network connection from qemu-img tool and QEMU system emulation. %endif -%if 0%{?suse_version} > 1320 +%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 ) %package block-iscsi Summary: Universal CPU emulator -- iSCSI block support Group: System/Emulators/PC @@ -772,6 +787,8 @@ This package provides a service file for starting and stopping KSM. %patch0058 -p1 %patch0059 -p1 %patch0060 -p1 +%patch0061 -p1 +%patch0062 -p1 %if %{build_x86_fw_from_source} pushd roms/seabios @@ -808,6 +825,7 @@ rm -f pc-bios/slof.bin --libexecdir=%_libexecdir \ --localstatedir=%_localstatedir \ --extra-cflags="%{optflags}" \ + --disable-stack-protector \ --disable-strip \ --with-pkgversion="%(echo '%{distribution}' | sed 's/ (.*)//')" \ --enable-system --disable-linux-user \ @@ -852,7 +870,7 @@ rm -f pc-bios/slof.bin %else --disable-kvm \ %endif -%if 0%{?suse_version} > 1320 +%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 ) --enable-libiscsi \ %else --disable-libiscsi \ @@ -884,6 +902,9 @@ rm -f pc-bios/slof.bin --enable-numa \ %endif %endif +%if 0%{?suse_version} >= 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 ) + --enable-opengl \ +%endif %if 0%{?with_rbd} --enable-rbd \ %else @@ -900,7 +921,7 @@ rm -f pc-bios/slof.bin %else --with-sdlabi=1.2 \ %endif -%if 0%{?suse_version} > 1320 +%if 0%{?with_seccomp} --enable-seccomp \ %else --disable-seccomp \ @@ -930,15 +951,17 @@ rm -f pc-bios/slof.bin --enable-vde \ --enable-vhdx \ --enable-vhost-net \ -%if 0%{?suse_version} >= 1320 - --enable-virglrenderer \ +%if 0%{?suse_version} >= 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 ) + --enable-virglrenderer \ %endif --enable-virtfs \ --enable-vnc \ --enable-vnc-jpeg \ --enable-vnc-png \ --enable-vnc-sasl \ -%if 0%{?suse_version} == 1310 || (0%{?suse_version} == 1315 && 0%{?is_opensuse} == 0) +%if 0%{?suse_version} == 1320 + --disable-vte \ +%else --enable-vte \ %endif %ifarch x86_64 @@ -948,7 +971,7 @@ rm -f pc-bios/slof.bin %else --disable-xen \ %endif - --enable-xfsctl \ + --enable-xfsctl \ %if "%{name}" != "qemu-testsuite" @@ -1087,6 +1110,9 @@ install -D -p -m 0644 %{SOURCE8} %{buildroot}%{_udevrulesdir}/80-qemu-ga.rules %if 0%{?with_systemd} install -D -p -m 0644 %{SOURCE6} %{buildroot}%{_unitdir}/ksm.service install -D -p -m 0644 %{SOURCE9} %{buildroot}%{_unitdir}/qemu-ga.service +%ifarch s390x +install -D -m 0644 %{SOURCE10} %{buildroot}%{_libexecdir}/modules-load.d/kvm.conf +%endif %endif %fdupes -s $RPM_BUILD_ROOT @@ -1110,6 +1136,9 @@ install -D -m 644 check-report.xml %{buildroot}%{_datadir}/qemu/check-report.xml %if %{kvm_available} %post +if [ "$(readlink -f /proc/1/root)" = "/" ]; then + setfacl --remove-all /dev/kvm &> /dev/null || : +fi %if 0%{?with_systemd} %udev_rules_update %else @@ -1184,6 +1213,9 @@ fi %endif %ifarch s390x %{_sysconfdir}/sysctl.d/50-allow-kvm-on-s390x +%if 0%{?with_systemd} +%_libexecdir/modules-load.d/kvm.conf +%endif %endif %endif @@ -1270,7 +1302,7 @@ fi %_libdir/%name/block-gluster.so %endif -%if 0%{?suse_version} > 1320 +%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 ) %files block-iscsi %defattr(-, root, root) %_libdir/%name/block-iscsi.so diff --git a/qemu.changes b/qemu.changes index 3ac6554..42d9543 100644 --- a/qemu.changes +++ b/qemu.changes @@ -1,3 +1,20 @@ +------------------------------------------------------------------- +Thu Jul 14 19:38:39 UTC 2016 - brogers@suse.com + +- Build SLOF for SLE12 now that we have gcc fix (bsc#949000) +- Add script for loading kvm module on s390x +- Enable seccomp and iscsi support in more configurations +- Enable more support for virtio-gpu +- Fix /dev/kvm permissions problem with package install and no + reboot (bnc#867867) +- Remove libtool dependency +- Disable more aggressive stack protector for performance reasons +- Enable vte to be used again in more configurations (bsc#988855) +- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.6 +* Patches added: + 0061-configure-add-echo_version-helper.patch + 0062-configure-support-vte-2.91.patch + ------------------------------------------------------------------- Thu Jul 14 14:59:37 UTC 2016 - agraf@suse.com diff --git a/qemu.spec b/qemu.spec index f994453..d4a833d 100644 --- a/qemu.spec +++ b/qemu.spec @@ -28,9 +28,7 @@ %define build_slof_from_source 1 %endif %ifarch ppc64le -# Needs a compatible gcc (bsc#949000) -# TODO: include 1315 for SLE12 once possible -%if 0%{?suse_version} > 1320 +%if 0%{?suse_version} > 1320 || 0%{?suse_version} == 1315 %define build_slof_from_source 1 %endif %endif @@ -47,11 +45,25 @@ %define noarch_supported 1110 %ifarch x86_64 -%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && ( 0%{?is_opensuse} == 0 || 0%{?sle_version} == 120200 ) ) +%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && ( 0%{?is_opensuse} == 0 || 0%{?sle_version} > 120100 ) ) %define with_rbd 1 %endif %endif +%ifarch aarch64 +%if 0%{?suse_version} > 1320 || ( 0%{?is_opensuse} == 0 && 0%{?sle_version} > 120100 ) +%define with_rbd 1 +%endif +%endif + +%if 0%{?suse_version} > 1320 +%define with_seccomp 1 +%endif + +%ifarch %ix86 x86_64 +%define with_seccomp 1 +%endif + Name: qemu Url: http://www.qemu.org/ Summary: Universal CPU emulator @@ -70,6 +82,7 @@ Source6: ksm.service Source7: 60-kvm.x86.rules Source8: 80-qemu-ga.rules Source9: qemu-ga.service +Source10: kvm.conf # Upstream First -- http://wiki.qemu-project.org/Contribute/SubmitAPatch # This patch queue is auto-generated from https://github.com/openSUSE/qemu Patch0001: 0001-XXX-dont-dump-core-on-sigabort.patch @@ -132,6 +145,8 @@ Patch0057: 0057-xen-add-pvUSB-backend.patch Patch0058: 0058-usb-Fix-conditions-that-xen-usb.c-i.patch Patch0059: 0059-vnc-add-configurable-keyboard-delay.patch Patch0060: 0060-scsi-megasas-initialise-local-confi.patch +Patch0061: 0061-configure-add-echo_version-helper.patch +Patch0062: 0062-configure-support-vte-2.91.patch # Please do not add QEMU patches manually here. # Run update_git.sh to regenerate this queue. @@ -194,7 +209,7 @@ BuildRequires: libcacard-devel BuildRequires: libcap-devel BuildRequires: libcap-ng-devel BuildRequires: libdrm-devel -%if 0%{?suse_version} >= 1320 +%if 0%{?suse_version} >= 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 ) BuildRequires: libepoxy-devel %endif %if 0%{?suse_version} >= 1310 @@ -214,7 +229,7 @@ BuildRequires: librbd-devel BuildRequires: ceph-devel %endif %endif -%if 0%{?suse_version} > 1320 +%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 ) BuildRequires: libiscsi-devel %endif BuildRequires: libjpeg-devel @@ -237,13 +252,12 @@ BuildRequires: libpulse-devel %if 0%{?suse_version} >= 1315 BuildRequires: librdmacm-devel %endif -%if 0%{?suse_version} > 1320 +%if 0%{?with_seccomp} BuildRequires: libseccomp-devel %endif %if 0%{?suse_version} > 1140 BuildRequires: libssh2-devel %endif -BuildRequires: libtool %if 0%{?suse_version} > 1310 BuildRequires: libusb-1_0-devel %endif @@ -252,6 +266,7 @@ BuildRequires: lzo-devel %if 0%{?suse_version} > 1220 BuildRequires: makeinfo %endif +BuildRequires: Mesa-devel BuildRequires: mozilla-nss-devel BuildRequires: ncurses-devel %if 0%{?build_x86_fw_from_source} @@ -279,7 +294,7 @@ BuildRequires: pkgconfig(udev) %if 0%{?sles_version} != 11 BuildRequires: usbredir-devel %endif -%if 0%{?suse_version} >= 1320 +%if 0%{?suse_version} >= 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 ) BuildRequires: virglrenderer-devel >= 0.4.1 %endif %if 0%{?suse_version} >= 1210 @@ -344,7 +359,7 @@ Suggests: qemu-block-dmg %if 0%{?suse_version} >= 1310 && 0%{?suse_version} != 1315 Suggests: qemu-block-gluster %endif -%if 0%{?suse_version} > 1320 +%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 ) Suggests: qemu-block-iscsi %endif %if 0%{?with_rbd} @@ -548,7 +563,7 @@ This sub-package contains a module for accessing network-based image files over a GlusterFS network connection from qemu-img tool and QEMU system emulation. %endif -%if 0%{?suse_version} > 1320 +%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 ) %package block-iscsi Summary: Universal CPU emulator -- iSCSI block support Group: System/Emulators/PC @@ -772,6 +787,8 @@ This package provides a service file for starting and stopping KSM. %patch0058 -p1 %patch0059 -p1 %patch0060 -p1 +%patch0061 -p1 +%patch0062 -p1 %if %{build_x86_fw_from_source} pushd roms/seabios @@ -808,6 +825,7 @@ rm -f pc-bios/slof.bin --libexecdir=%_libexecdir \ --localstatedir=%_localstatedir \ --extra-cflags="%{optflags}" \ + --disable-stack-protector \ --disable-strip \ --with-pkgversion="%(echo '%{distribution}' | sed 's/ (.*)//')" \ --enable-system --disable-linux-user \ @@ -852,7 +870,7 @@ rm -f pc-bios/slof.bin %else --disable-kvm \ %endif -%if 0%{?suse_version} > 1320 +%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 ) --enable-libiscsi \ %else --disable-libiscsi \ @@ -884,6 +902,9 @@ rm -f pc-bios/slof.bin --enable-numa \ %endif %endif +%if 0%{?suse_version} >= 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 ) + --enable-opengl \ +%endif %if 0%{?with_rbd} --enable-rbd \ %else @@ -900,7 +921,7 @@ rm -f pc-bios/slof.bin %else --with-sdlabi=1.2 \ %endif -%if 0%{?suse_version} > 1320 +%if 0%{?with_seccomp} --enable-seccomp \ %else --disable-seccomp \ @@ -930,15 +951,17 @@ rm -f pc-bios/slof.bin --enable-vde \ --enable-vhdx \ --enable-vhost-net \ -%if 0%{?suse_version} >= 1320 - --enable-virglrenderer \ +%if 0%{?suse_version} >= 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 ) + --enable-virglrenderer \ %endif --enable-virtfs \ --enable-vnc \ --enable-vnc-jpeg \ --enable-vnc-png \ --enable-vnc-sasl \ -%if 0%{?suse_version} == 1310 || (0%{?suse_version} == 1315 && 0%{?is_opensuse} == 0) +%if 0%{?suse_version} == 1320 + --disable-vte \ +%else --enable-vte \ %endif %ifarch x86_64 @@ -948,7 +971,7 @@ rm -f pc-bios/slof.bin %else --disable-xen \ %endif - --enable-xfsctl \ + --enable-xfsctl \ %if "%{name}" != "qemu-testsuite" @@ -1087,6 +1110,9 @@ install -D -p -m 0644 %{SOURCE8} %{buildroot}%{_udevrulesdir}/80-qemu-ga.rules %if 0%{?with_systemd} install -D -p -m 0644 %{SOURCE6} %{buildroot}%{_unitdir}/ksm.service install -D -p -m 0644 %{SOURCE9} %{buildroot}%{_unitdir}/qemu-ga.service +%ifarch s390x +install -D -m 0644 %{SOURCE10} %{buildroot}%{_libexecdir}/modules-load.d/kvm.conf +%endif %endif %fdupes -s $RPM_BUILD_ROOT @@ -1110,6 +1136,9 @@ install -D -m 644 check-report.xml %{buildroot}%{_datadir}/qemu/check-report.xml %if %{kvm_available} %post +if [ "$(readlink -f /proc/1/root)" = "/" ]; then + setfacl --remove-all /dev/kvm &> /dev/null || : +fi %if 0%{?with_systemd} %udev_rules_update %else @@ -1184,6 +1213,9 @@ fi %endif %ifarch s390x %{_sysconfdir}/sysctl.d/50-allow-kvm-on-s390x +%if 0%{?with_systemd} +%_libexecdir/modules-load.d/kvm.conf +%endif %endif %endif @@ -1270,7 +1302,7 @@ fi %_libdir/%name/block-gluster.so %endif -%if 0%{?suse_version} > 1320 +%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 ) %files block-iscsi %defattr(-, root, root) %_libdir/%name/block-iscsi.so diff --git a/qemu.spec.in b/qemu.spec.in index 069b27a..ef14f6d 100644 --- a/qemu.spec.in +++ b/qemu.spec.in @@ -28,9 +28,7 @@ %define build_slof_from_source 1 %endif %ifarch ppc64le -# Needs a compatible gcc (bsc#949000) -# TODO: include 1315 for SLE12 once possible -%if 0%{?suse_version} > 1320 +%if 0%{?suse_version} > 1320 || 0%{?suse_version} == 1315 %define build_slof_from_source 1 %endif %endif @@ -47,7 +45,7 @@ %define noarch_supported 1110 %ifarch x86_64 -%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && ( 0%{?is_opensuse} == 0 || 0%{?sle_version} == 120200 ) ) +%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && ( 0%{?is_opensuse} == 0 || 0%{?sle_version} > 120100 ) ) %define with_rbd 1 %endif %endif @@ -58,6 +56,14 @@ %endif %endif +%if 0%{?suse_version} > 1320 +%define with_seccomp 1 +%endif + +%ifarch %ix86 x86_64 +%define with_seccomp 1 +%endif + Name: qemu Url: http://www.qemu.org/ Summary: Universal CPU emulator @@ -76,6 +82,7 @@ Source6: ksm.service Source7: 60-kvm.x86.rules Source8: 80-qemu-ga.rules Source9: qemu-ga.service +Source10: kvm.conf # Upstream First -- http://wiki.qemu-project.org/Contribute/SubmitAPatch # This patch queue is auto-generated from https://github.com/openSUSE/qemu PATCH_FILES @@ -141,7 +148,7 @@ BuildRequires: libcacard-devel BuildRequires: libcap-devel BuildRequires: libcap-ng-devel BuildRequires: libdrm-devel -%if 0%{?suse_version} >= 1320 +%if 0%{?suse_version} >= 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 ) BuildRequires: libepoxy-devel %endif %if 0%{?suse_version} >= 1310 @@ -161,7 +168,7 @@ BuildRequires: librbd-devel BuildRequires: ceph-devel %endif %endif -%if 0%{?suse_version} > 1320 +%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 ) BuildRequires: libiscsi-devel %endif BuildRequires: libjpeg-devel @@ -184,13 +191,12 @@ BuildRequires: libpulse-devel %if 0%{?suse_version} >= 1315 BuildRequires: librdmacm-devel %endif -%if 0%{?suse_version} > 1320 +%if 0%{?with_seccomp} BuildRequires: libseccomp-devel %endif %if 0%{?suse_version} > 1140 BuildRequires: libssh2-devel %endif -BuildRequires: libtool %if 0%{?suse_version} > 1310 BuildRequires: libusb-1_0-devel %endif @@ -199,6 +205,7 @@ BuildRequires: lzo-devel %if 0%{?suse_version} > 1220 BuildRequires: makeinfo %endif +BuildRequires: Mesa-devel BuildRequires: mozilla-nss-devel BuildRequires: ncurses-devel %if 0%{?build_x86_fw_from_source} @@ -226,7 +233,7 @@ BuildRequires: pkgconfig(udev) %if 0%{?sles_version} != 11 BuildRequires: usbredir-devel %endif -%if 0%{?suse_version} >= 1320 +%if 0%{?suse_version} >= 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 ) BuildRequires: virglrenderer-devel >= 0.4.1 %endif %if 0%{?suse_version} >= 1210 @@ -291,7 +298,7 @@ Suggests: qemu-block-dmg %if 0%{?suse_version} >= 1310 && 0%{?suse_version} != 1315 Suggests: qemu-block-gluster %endif -%if 0%{?suse_version} > 1320 +%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 ) Suggests: qemu-block-iscsi %endif %if 0%{?with_rbd} @@ -495,7 +502,7 @@ This sub-package contains a module for accessing network-based image files over a GlusterFS network connection from qemu-img tool and QEMU system emulation. %endif -%if 0%{?suse_version} > 1320 +%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 ) %package block-iscsi Summary: Universal CPU emulator -- iSCSI block support Group: System/Emulators/PC @@ -697,6 +704,7 @@ rm -f pc-bios/slof.bin --libexecdir=%_libexecdir \ --localstatedir=%_localstatedir \ --extra-cflags="%{optflags}" \ + --disable-stack-protector \ --disable-strip \ --with-pkgversion="%(echo '%{distribution}' | sed 's/ (.*)//')" \ --enable-system --disable-linux-user \ @@ -741,7 +749,7 @@ rm -f pc-bios/slof.bin %else --disable-kvm \ %endif -%if 0%{?suse_version} > 1320 +%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 ) --enable-libiscsi \ %else --disable-libiscsi \ @@ -773,6 +781,9 @@ rm -f pc-bios/slof.bin --enable-numa \ %endif %endif +%if 0%{?suse_version} >= 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 ) + --enable-opengl \ +%endif %if 0%{?with_rbd} --enable-rbd \ %else @@ -789,7 +800,7 @@ rm -f pc-bios/slof.bin %else --with-sdlabi=1.2 \ %endif -%if 0%{?suse_version} > 1320 +%if 0%{?with_seccomp} --enable-seccomp \ %else --disable-seccomp \ @@ -819,15 +830,17 @@ rm -f pc-bios/slof.bin --enable-vde \ --enable-vhdx \ --enable-vhost-net \ -%if 0%{?suse_version} >= 1320 - --enable-virglrenderer \ +%if 0%{?suse_version} >= 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 ) + --enable-virglrenderer \ %endif --enable-virtfs \ --enable-vnc \ --enable-vnc-jpeg \ --enable-vnc-png \ --enable-vnc-sasl \ -%if 0%{?suse_version} == 1310 || (0%{?suse_version} == 1315 && 0%{?is_opensuse} == 0) +%if 0%{?suse_version} == 1320 + --disable-vte \ +%else --enable-vte \ %endif %ifarch x86_64 @@ -837,7 +850,7 @@ rm -f pc-bios/slof.bin %else --disable-xen \ %endif - --enable-xfsctl \ + --enable-xfsctl \ %if "%{name}" != "qemu-testsuite" @@ -977,6 +990,9 @@ install -D -p -m 0644 %{SOURCE8} %{buildroot}%{_udevrulesdir}/80-qemu-ga.rules %if 0%{?with_systemd} install -D -p -m 0644 %{SOURCE6} %{buildroot}%{_unitdir}/ksm.service install -D -p -m 0644 %{SOURCE9} %{buildroot}%{_unitdir}/qemu-ga.service +%ifarch s390x +install -D -m 0644 %{SOURCE10} %{buildroot}%{_libexecdir}/modules-load.d/kvm.conf +%endif %endif %fdupes -s $RPM_BUILD_ROOT @@ -1001,6 +1017,9 @@ install -D -m 644 check-report.xml %{buildroot}%{_datadir}/qemu/check-report.xml %if %{kvm_available} %post +if [ "$(readlink -f /proc/1/root)" = "/" ]; then + setfacl --remove-all /dev/kvm &> /dev/null || : +fi %if 0%{?with_systemd} %udev_rules_update %else @@ -1075,6 +1094,9 @@ fi %endif %ifarch s390x %{_sysconfdir}/sysctl.d/50-allow-kvm-on-s390x +%if 0%{?with_systemd} +%_libexecdir/modules-load.d/kvm.conf +%endif %endif %endif @@ -1161,7 +1183,7 @@ fi %_libdir/%name/block-gluster.so %endif -%if 0%{?suse_version} > 1320 +%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && 0%{?sle_version} > 120100 ) %files block-iscsi %defattr(-, root, root) %_libdir/%name/block-iscsi.so