From 2f5bc69c3413b20414829b375b3f3dd75541f408faaf32b7af2464fbc8b09493 Mon Sep 17 00:00:00 2001 From: Bruce Rogers Date: Wed, 29 Nov 2017 21:55:00 +0000 Subject: [PATCH] Accepting request 546543 from home:bfrogers:branches:Virtualization Remove SDL support for SLE15 usage (still supported for openSUSE, for now) - see fate#324465. Fix skiboot.lib build issue Address python compatibility issue. OBS-URL: https://build.opensuse.org/request/show/546543 OBS-URL: https://build.opensuse.org/package/show/Virtualization/qemu?expand=0&rev=376 --- ...-scripts-avoid-usr-bin-python-refere.patch | 21 +++++++++++ qemu-linux-user.changes | 7 ++++ qemu-linux-user.spec | 4 ++- qemu-linux-user.spec.in | 2 +- qemu-testsuite.changes | 19 ++++++++++ qemu-testsuite.spec | 16 ++++++++- qemu.changes | 19 ++++++++++ qemu.spec | 16 ++++++++- qemu.spec.in | 14 +++++++- ...FLAGS-pass-pie-flag-explicitly-to-ld.patch | 36 +++++++++++++++++++ supported.arm.txt | 8 +++-- supported.ppc.txt | 8 +++-- supported.s390.txt | 8 +++-- supported.x86.txt | 8 +++-- 14 files changed, 169 insertions(+), 17 deletions(-) create mode 100644 0043-scripts-avoid-usr-bin-python-refere.patch create mode 100644 skiboot-build-LDFLAGS-pass-pie-flag-explicitly-to-ld.patch diff --git a/0043-scripts-avoid-usr-bin-python-refere.patch b/0043-scripts-avoid-usr-bin-python-refere.patch new file mode 100644 index 0000000..82253fe --- /dev/null +++ b/0043-scripts-avoid-usr-bin-python-refere.patch @@ -0,0 +1,21 @@ +From 4cb98f80ab51823101ee0e387d24d441b0257f0e Mon Sep 17 00:00:00 2001 +From: Bruce Rogers +Date: Wed, 29 Nov 2017 10:30:02 -0700 +Subject: [PATCH] scripts: avoid /usr/bin/python reference in + vmstate-static-checker.py + +Signed-off-by: Bruce Rogers +--- + scripts/vmstate-static-checker.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/scripts/vmstate-static-checker.py b/scripts/vmstate-static-checker.py +index bcef7ee28e..c1653ea173 100755 +--- a/scripts/vmstate-static-checker.py ++++ b/scripts/vmstate-static-checker.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/python ++#!/usr/bin/env python + # + # Compares vmstate information stored in JSON format, obtained from + # the -dump-vmstate QEMU command. diff --git a/qemu-linux-user.changes b/qemu-linux-user.changes index 3e97ad0..6f6cefc 100644 --- a/qemu-linux-user.changes +++ b/qemu-linux-user.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Wed Nov 29 17:31:29 UTC 2017 - brogers@suse.com + +- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.10 +* Patches added: + 0043-scripts-avoid-usr-bin-python-refere.patch + ------------------------------------------------------------------- Thu Oct 19 21:58:01 UTC 2017 - brogers@suse.com diff --git a/qemu-linux-user.spec b/qemu-linux-user.spec index aee4438..e0362a4 100644 --- a/qemu-linux-user.spec +++ b/qemu-linux-user.spec @@ -19,7 +19,7 @@ Name: qemu-linux-user Url: http://www.qemu.org/ Summary: Universal CPU emulator -License: BSD-3-Clause and GPL-2.0 and GPL-2.0+ and LGPL-2.1+ and MIT +License: BSD-3-Clause AND GPL-2.0 AND GPL-2.0+ AND LGPL-2.1+ AND MIT Group: System/Emulators/PC Version: 2.10.1 Release: 0 @@ -68,6 +68,7 @@ Patch0039: 0039-vhost-user-disable-the-broken-subpr.patch Patch0040: 0040-io-monitor-encoutput-buffer-size-fr.patch Patch0041: 0041-cirrus-fix-oob-access-in-mode4and5-.patch Patch0042: 0042-9pfs-use-g_malloc0-to-allocate-spac.patch +Patch0043: 0043-scripts-avoid-usr-bin-python-refere.patch # Please do not add QEMU patches manually here. # Run update_git.sh to regenerate this queue. Source400: update_git.sh @@ -163,6 +164,7 @@ run cross-architecture builds. %patch0040 -p1 %patch0041 -p1 %patch0042 -p1 +%patch0043 -p1 %build ./configure \ diff --git a/qemu-linux-user.spec.in b/qemu-linux-user.spec.in index 5730379..839dd85 100644 --- a/qemu-linux-user.spec.in +++ b/qemu-linux-user.spec.in @@ -19,7 +19,7 @@ Name: qemu-linux-user Url: http://www.qemu.org/ Summary: Universal CPU emulator -License: BSD-3-Clause and GPL-2.0 and GPL-2.0+ and LGPL-2.1+ and MIT +License: BSD-3-Clause AND GPL-2.0 AND GPL-2.0+ AND LGPL-2.1+ AND MIT Group: System/Emulators/PC QEMU_VERSION Release: 0 diff --git a/qemu-testsuite.changes b/qemu-testsuite.changes index fab13e1..8b52f00 100644 --- a/qemu-testsuite.changes +++ b/qemu-testsuite.changes @@ -1,3 +1,22 @@ +------------------------------------------------------------------- +Wed Nov 29 17:31:26 UTC 2017 - brogers@suse.com + +- Avoid ref to /usr/bin/python in vmstate-static-checker.py script + 0043-scripts-avoid-usr-bin-python-refere.patch +- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.10 + +------------------------------------------------------------------- +Tue Nov 28 17:55:42 UTC 2017 - brogers@suse.com + +- For SLE15, it's been decided to stop providing SDL based graphics + due to packaging constraints. Long ago GTK became the default, + and there is little benefit to providing both. For now, keep it + enabled for openSUSE (Tumblweed and Leap), but consider it marked + deprecated there and if no one complains it will be removed for + openSUSE as well in the near future. (fate#324465) +- Fix problem building skiboot.lid + skiboot-build-LDFLAGS-pass-pie-flag-explicitly-to-ld.patch + ------------------------------------------------------------------- Thu Oct 26 15:25:01 UTC 2017 - lyan@suse.com diff --git a/qemu-testsuite.spec b/qemu-testsuite.spec index ed79c21..85beaf0 100644 --- a/qemu-testsuite.spec +++ b/qemu-testsuite.spec @@ -121,7 +121,7 @@ Name: qemu-testsuite Url: http://www.qemu.org/ Summary: Universal CPU emulator -License: BSD-3-Clause and GPL-2.0 and GPL-2.0+ and LGPL-2.1+ and MIT +License: BSD-3-Clause AND GPL-2.0 AND GPL-2.0+ AND LGPL-2.1+ AND MIT Group: System/Emulators/PC Version: 2.10.1 Release: 0 @@ -187,6 +187,7 @@ Patch0039: 0039-vhost-user-disable-the-broken-subpr.patch Patch0040: 0040-io-monitor-encoutput-buffer-size-fr.patch Patch0041: 0041-cirrus-fix-oob-access-in-mode4and5-.patch Patch0042: 0042-9pfs-use-g_malloc0-to-allocate-spac.patch +Patch0043: 0043-scripts-avoid-usr-bin-python-refere.patch # Please do not add QEMU patches manually here. # Run update_git.sh to regenerate this queue. @@ -206,6 +207,7 @@ Patch1200: sgabios-stable-buildid.patch # skiboot Patch1400: skiboot-GCC7-fixes-for-Wimplicit-fallthr.patch Patch1401: skiboot-libc-stdio-vsnprintf.c-add-expli.patch +Patch1402: skiboot-build-LDFLAGS-pass-pie-flag-explicitly-to-ld.patch # this is to make lint happy Source300: qemu-rpmlintrc @@ -218,10 +220,12 @@ ExcludeArch: s390x %endif BuildRoot: %{_tmppath}/%{name}-%{version}-build #!BuildIgnore: gcc-PIE +%if 0%{?is_opensuse} BuildRequires: SDL-devel %if 0%{?suse_version} >= 1320 BuildRequires: SDL2-devel %endif +%endif BuildRequires: alsa-devel %if %{build_x86_firmware_from_source} BuildRequires: binutils-devel @@ -894,6 +898,7 @@ This package provides a service file for starting and stopping KSM. %patch0040 -p1 %patch0041 -p1 %patch0042 -p1 +%patch0043 -p1 pushd roms/ipxe %patch1100 -p1 @@ -912,6 +917,7 @@ popd pushd roms/skiboot %patch1400 -p1 %patch1401 -p1 +%patch1402 -p1 popd # as a safeguard, delete the firmware files that we intend to build @@ -938,7 +944,11 @@ echo '%{version}' > roms/seabios/.version --enable-modules \ --enable-pie \ --enable-docs \ +%if 0%{?is_opensuse} --audio-drv-list="pa alsa sdl oss" \ +%else + --audio-drv-list="pa alsa oss" \ +%endif --enable-attr \ --enable-bluez \ %if 0%{?suse_version} >= 1130 @@ -1031,12 +1041,16 @@ echo '%{version}' > roms/seabios/.version --disable-rdma \ %endif --enable-replication \ +%if 0%{?is_opensuse} --enable-sdl \ %if 0%{?suse_version} >= 1320 --with-sdlabi=2.0 \ %else --with-sdlabi=1.2 \ %endif +%else + --disable-sdl \ +%endif %if 0%{?with_seccomp} --enable-seccomp \ %else diff --git a/qemu.changes b/qemu.changes index fab13e1..8b52f00 100644 --- a/qemu.changes +++ b/qemu.changes @@ -1,3 +1,22 @@ +------------------------------------------------------------------- +Wed Nov 29 17:31:26 UTC 2017 - brogers@suse.com + +- Avoid ref to /usr/bin/python in vmstate-static-checker.py script + 0043-scripts-avoid-usr-bin-python-refere.patch +- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.10 + +------------------------------------------------------------------- +Tue Nov 28 17:55:42 UTC 2017 - brogers@suse.com + +- For SLE15, it's been decided to stop providing SDL based graphics + due to packaging constraints. Long ago GTK became the default, + and there is little benefit to providing both. For now, keep it + enabled for openSUSE (Tumblweed and Leap), but consider it marked + deprecated there and if no one complains it will be removed for + openSUSE as well in the near future. (fate#324465) +- Fix problem building skiboot.lid + skiboot-build-LDFLAGS-pass-pie-flag-explicitly-to-ld.patch + ------------------------------------------------------------------- Thu Oct 26 15:25:01 UTC 2017 - lyan@suse.com diff --git a/qemu.spec b/qemu.spec index 4ae4815..035634c 100644 --- a/qemu.spec +++ b/qemu.spec @@ -121,7 +121,7 @@ Name: qemu Url: http://www.qemu.org/ Summary: Universal CPU emulator -License: BSD-3-Clause and GPL-2.0 and GPL-2.0+ and LGPL-2.1+ and MIT +License: BSD-3-Clause AND GPL-2.0 AND GPL-2.0+ AND LGPL-2.1+ AND MIT Group: System/Emulators/PC Version: 2.10.1 Release: 0 @@ -187,6 +187,7 @@ Patch0039: 0039-vhost-user-disable-the-broken-subpr.patch Patch0040: 0040-io-monitor-encoutput-buffer-size-fr.patch Patch0041: 0041-cirrus-fix-oob-access-in-mode4and5-.patch Patch0042: 0042-9pfs-use-g_malloc0-to-allocate-spac.patch +Patch0043: 0043-scripts-avoid-usr-bin-python-refere.patch # Please do not add QEMU patches manually here. # Run update_git.sh to regenerate this queue. @@ -206,6 +207,7 @@ Patch1200: sgabios-stable-buildid.patch # skiboot Patch1400: skiboot-GCC7-fixes-for-Wimplicit-fallthr.patch Patch1401: skiboot-libc-stdio-vsnprintf.c-add-expli.patch +Patch1402: skiboot-build-LDFLAGS-pass-pie-flag-explicitly-to-ld.patch # this is to make lint happy Source300: qemu-rpmlintrc @@ -218,10 +220,12 @@ ExcludeArch: s390x %endif BuildRoot: %{_tmppath}/%{name}-%{version}-build #!BuildIgnore: gcc-PIE +%if 0%{?is_opensuse} BuildRequires: SDL-devel %if 0%{?suse_version} >= 1320 BuildRequires: SDL2-devel %endif +%endif BuildRequires: alsa-devel %if %{build_x86_firmware_from_source} BuildRequires: binutils-devel @@ -894,6 +898,7 @@ This package provides a service file for starting and stopping KSM. %patch0040 -p1 %patch0041 -p1 %patch0042 -p1 +%patch0043 -p1 pushd roms/ipxe %patch1100 -p1 @@ -912,6 +917,7 @@ popd pushd roms/skiboot %patch1400 -p1 %patch1401 -p1 +%patch1402 -p1 popd # as a safeguard, delete the firmware files that we intend to build @@ -938,7 +944,11 @@ echo '%{version}' > roms/seabios/.version --enable-modules \ --enable-pie \ --enable-docs \ +%if 0%{?is_opensuse} --audio-drv-list="pa alsa sdl oss" \ +%else + --audio-drv-list="pa alsa oss" \ +%endif --enable-attr \ --enable-bluez \ %if 0%{?suse_version} >= 1130 @@ -1031,12 +1041,16 @@ echo '%{version}' > roms/seabios/.version --disable-rdma \ %endif --enable-replication \ +%if 0%{?is_opensuse} --enable-sdl \ %if 0%{?suse_version} >= 1320 --with-sdlabi=2.0 \ %else --with-sdlabi=1.2 \ %endif +%else + --disable-sdl \ +%endif %if 0%{?with_seccomp} --enable-seccomp \ %else diff --git a/qemu.spec.in b/qemu.spec.in index 8f30838..ed81fcc 100644 --- a/qemu.spec.in +++ b/qemu.spec.in @@ -121,7 +121,7 @@ Name: qemu Url: http://www.qemu.org/ Summary: Universal CPU emulator -License: BSD-3-Clause and GPL-2.0 and GPL-2.0+ and LGPL-2.1+ and MIT +License: BSD-3-Clause AND GPL-2.0 AND GPL-2.0+ AND LGPL-2.1+ AND MIT Group: System/Emulators/PC QEMU_VERSION Release: 0 @@ -165,6 +165,7 @@ Patch1200: sgabios-stable-buildid.patch # skiboot Patch1400: skiboot-GCC7-fixes-for-Wimplicit-fallthr.patch Patch1401: skiboot-libc-stdio-vsnprintf.c-add-expli.patch +Patch1402: skiboot-build-LDFLAGS-pass-pie-flag-explicitly-to-ld.patch # this is to make lint happy Source300: qemu-rpmlintrc @@ -177,10 +178,12 @@ ExcludeArch: s390x %endif BuildRoot: %{_tmppath}/%{name}-%{version}-build #!BuildIgnore: gcc-PIE +%if 0%{?is_opensuse} BuildRequires: SDL-devel %if 0%{?suse_version} >= 1320 BuildRequires: SDL2-devel %endif +%endif BuildRequires: alsa-devel %if %{build_x86_firmware_from_source} BuildRequires: binutils-devel @@ -830,6 +833,7 @@ popd pushd roms/skiboot %patch1400 -p1 %patch1401 -p1 +%patch1402 -p1 popd # as a safeguard, delete the firmware files that we intend to build @@ -856,7 +860,11 @@ echo '%{version}' > roms/seabios/.version --enable-modules \ --enable-pie \ --enable-docs \ +%if 0%{?is_opensuse} --audio-drv-list="pa alsa sdl oss" \ +%else + --audio-drv-list="pa alsa oss" \ +%endif --enable-attr \ --enable-bluez \ %if 0%{?suse_version} >= 1130 @@ -949,12 +957,16 @@ echo '%{version}' > roms/seabios/.version --disable-rdma \ %endif --enable-replication \ +%if 0%{?is_opensuse} --enable-sdl \ %if 0%{?suse_version} >= 1320 --with-sdlabi=2.0 \ %else --with-sdlabi=1.2 \ %endif +%else + --disable-sdl \ +%endif %if 0%{?with_seccomp} --enable-seccomp \ %else diff --git a/skiboot-build-LDFLAGS-pass-pie-flag-explicitly-to-ld.patch b/skiboot-build-LDFLAGS-pass-pie-flag-explicitly-to-ld.patch new file mode 100644 index 0000000..080e58d --- /dev/null +++ b/skiboot-build-LDFLAGS-pass-pie-flag-explicitly-to-ld.patch @@ -0,0 +1,36 @@ +From d150a119e3721e634ca31f0ec255add7b955a56d Mon Sep 17 00:00:00 2001 +From: Nicholas Piggin +Date: Tue, 18 Jul 2017 20:40:06 +1000 +Subject: [PATCH] build: LDFLAGS pass -pie flag explicitly to ld + +When building with some toolchains, the gcc -pie option does not +enable the linker pie without explicitly passing it to ld, +resulting in a non-PIE binary that silently fails (due to +relocation failure). This was observed with the powerpc64le +cross compiler for Debian. + +Pass -Wl,-pie explicitly, which allows the powerpc64le toolchain +to create a position independnet binary that boots. + +Signed-off-by: Nicholas Piggin +Signed-off-by: Stewart Smith +Signed-off-by: Bruce Rogers +--- + Makefile.main | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/Makefile.main b/Makefile.main +index 35d16095..07e143fd 100644 +--- a/Makefile.main ++++ b/Makefile.main +@@ -85,6 +85,7 @@ CFLAGS += $(call try-cflag,$(CC),-Wjump-misses-init) \ + CFLAGS += $(CWARNS) $(OPTS) $(DBG) + + LDFLAGS := -m64 -static -nostdlib -pie ++LDFLAGS += -Wl,-pie + LDFLAGS += -Wl,-Ttext-segment,$(LD_TEXT) -Wl,-N -Wl,--build-id=none + LDFLAGS += -Wl,--no-multi-toc + LDFLAGS += -mbig-endian -Wl,--oformat,elf64-powerpc +-- +2.15.0 + diff --git a/supported.arm.txt b/supported.arm.txt index b677d3f..740ef83 100644 --- a/supported.arm.txt +++ b/supported.arm.txt @@ -95,8 +95,8 @@ Major QEMU/KVM Supported Features direct hugetlb usage. Physical PCI and USB devices may also be passed through to the guest, including SR-IOV VF's. -- The guest UI is accessable via GTK, SDL, VNC, Spice, and serial (including - curses TUI) interfaces. +- The guest UI is accessable via GTK, VNC, Spice, and serial (including curses + TUI) interfaces. - Guest timekeeping is supported in a variety of ways, including a paravirtual clocksource, and options for the various guest clocks for how to handle the @@ -172,6 +172,8 @@ Deprecated, Superseded, Modified and Dropped Features - These previously supported command line options are no longer recognized: -device pc-sysfw (no longer needed) + -display sdl + -sdl - Specifying a cpu feature with both "+feature/-feature" and "feature=on/off" will now cause a warning. The current behavior for this combination where @@ -292,7 +294,6 @@ QEMU Command-Line and Monitor Syntax and Support -s -S -sandbox ... - -sdl -serial ... -show-cursor -smbios ... @@ -644,6 +645,7 @@ QEMU Command-Line and Monitor Syntax and Support -qtest-log ... -rotate -sd file + -sdl -set ... -singlestep -snapshot diff --git a/supported.ppc.txt b/supported.ppc.txt index 514e3be..eedd5ff 100644 --- a/supported.ppc.txt +++ b/supported.ppc.txt @@ -95,8 +95,8 @@ Major QEMU/KVM Supported Features direct hugetlb usage. Physical PCI and USB devices may also be passed through to the guest, including SR-IOV VF's. -- The guest UI is accessable via GTK, SDL, VNC, Spice, and serial (including - curses TUI) interfaces. +- The guest UI is accessable via GTK, VNC, Spice, and serial (including curses + TUI) interfaces. - Guest timekeeping is supported in a variety of ways, including a paravirtual clocksource, and options for the various guest clocks for how to handle the @@ -172,6 +172,8 @@ Deprecated, Superseded, Modified and Dropped Features - These previously supported command line options are no longer recognized: -device pc-sysfw (no longer needed) + -display sdl + -sdl - Specifying a cpu feature with both "+feature/-feature" and "feature=on/off" will now cause a warning. The current behavior for this combination where @@ -291,7 +293,6 @@ QEMU Command-Line and Monitor Syntax and Support -s -S -sandbox ... - -sdl -serial ... -show-cursor -smbios ... @@ -587,6 +588,7 @@ QEMU Command-Line and Monitor Syntax and Support -qtest-log ... -rotate -sd file + -sdl -set ... -singlestep -snapshot diff --git a/supported.s390.txt b/supported.s390.txt index eaf45f6..dae3576 100644 --- a/supported.s390.txt +++ b/supported.s390.txt @@ -96,8 +96,8 @@ Major QEMU/KVM Supported Features direct hugetlb usage. Physical PCI devices may also be passed through to the guest, including SR-IOV VF's. -- The guest UI is accessable via GTK, SDL, VNC, Spice, and serial (including - curses TUI) interfaces. +- The guest UI is accessable via GTK, VNC, Spice, and serial (including curses + TUI) interfaces. - Guest timekeeping is supported in a variety of ways, including a paravirtual clocksource, and options for the various guest clocks for how to handle the @@ -173,6 +173,8 @@ Deprecated, Superseded, Modified and Dropped Features - These previously supported command line options are no longer recognized: -device pc-sysfw (no longer needed) + -display sdl + -sdl - Specifying a cpu feature with both "+feature/-feature" and "feature=on/off" will now cause a warning. The current behavior for this combination where @@ -287,7 +289,6 @@ QEMU Command-Line and Monitor Syntax and Support -s -S -sandbox ... - -sdl -serial ... -show-cursor -smp ... @@ -597,6 +598,7 @@ QEMU Command-Line and Monitor Syntax and Support -qtest-log ... -rotate -sd file + -sdl -set ... -singlestep -smbios ... diff --git a/supported.x86.txt b/supported.x86.txt index 9f86c0f..91da8f0 100644 --- a/supported.x86.txt +++ b/supported.x86.txt @@ -109,8 +109,8 @@ Major QEMU/KVM Supported Features direct hugetlb usage. Physical PCI and USB devices may also be passed through to the guest, including SR-IOV VF's. -- The guest UI is accessable via GTK, SDL, VNC, Spice, and serial (including - curses TUI) interfaces. +- The guest UI is accessable via GTK, VNC, Spice, and serial (including curses + TUI) interfaces. - Guest timekeeping is supported in a variety of ways, including a paravirtual clocksource, and options for the various guest clocks for how to handle the @@ -213,6 +213,8 @@ Deprecated, Superseded, Modified and Dropped Features - These previously supported command line options are no longer recognized: -device pc-sysfw (no longer needed) + -display sdl + -sdl - Specifying a cpu feature with both "+feature/-feature" and "feature=on/off" will now cause a warning. The current behavior for this combination where @@ -401,7 +403,6 @@ QEMU Command-Line and Monitor Syntax and Support -s -S -sandbox ... - -sdl -serial ... -show-cursor -smbios ... @@ -708,6 +709,7 @@ QEMU Command-Line and Monitor Syntax and Support -qtest-log ... -rotate -sd file + -sdl -set ... -singlestep -snapshot