- v2 version of series to add $(MAKETUNING) variable to ninja in spice-protocol - Update from 0.14.0 to 0.15.0 - Update rootfile - Version 0.15.0 of spice requires version 0.14.3 or higher of spice-protocol - Changelog Major Changes in 0.15: This is the first release in the new 0.15.x stable series. This release should be ready for production use. * Minor updates to CI * Some compatibility with OpenSSL * Change the behavior of handle_dev_start ignoring multiple start requests * Ignore multiple calls to handle_dev_stop * Pick up newer spice-common to fix a buffer overflow issue Major Changes in 0.14.91: **IMPORTANT** 0.14.91 is the first release candidate for the stable 0.15.x series. While some bugs might still be present, it should be reasonably stable. If you are looking for stability for daily use, please keep using the latest 0.14.x release. * Support UNIX abstract sockets * Fix some potential thread race condition in RedClient * Many cleanups in the code * Improve migration test script * Update in protocol documentation * Improve Meson build * Removed CELT support * Update CI * Removed QXLWorker definition, it was deprecated 6 years ago * Fix some compatibility with MacOS * Fix some compatibility with Windows * Move the project to C++ * Some fixes for SASL dealing with WebDAV * Fix minor Coverity reports * Add Doxygen support, manually built with "make doxy" * Support more mouse buttons (up to 16 buttons) * CVE-2020-14355 multiple buffer overflow vulnerabilities in QUIC decoding code Major Changes in 0.14.3: Main changes are WebSocket and support for Windows. * Add support for WebSocket, this will allow to use spice-html5 without proxy * Support Windows, now Qemu Windows can be build enabling Spice * Fix some alignment problem * Converted some documentation to Asciidoc format to make easier to update, updated some * Minor compatibility fix for PPC64EL and ARMHF * Minor fixes for big endian machines like MIPS * Avoid some crashes with some buggy guest drivers, simply ignore the invalid request * Fix for old OpenSSL versions * Minor fix for Windows clients and brushes, fixed an issue with Photoshop under Windows 7 * Add ability to query video-codecs * Small use-after-free fix * Fix for debugging recording/replaying using QUIC images * Fix a regression where spice reported no monitors to the client * Fix DoS in spicevmc if WebDAV used * Updated and improved test migration script * Some minor fixes to smartcard support * Avoid possible disconnection using proxies using a in-flow keepalive mechanism Major Changes in 0.14.2: Main changes are support for Meson build and graphic device info messages allowing to better support multi-monitor configurations. * CVE-2019-3813: fix off-by-one error in group/slot boundary check * support H265 in stream-channel * add support for building with meson/ninja * minor tests fixes improving CI * set char device state for smartcard, allowing Qemu optimization * improve red-parse-qxl.c interface making it more consistent * add some instrumentation for streaming device * QXL interface: add a function to identify monitors in the guest (spice_qxl_set_device_info) * add support for GraphicsDeviceInfo messages * video-stream: prevent crash on stream reattach * make channel client callbacks virtual functions * bumped minimum required glib version to 2.38 * attempt to have a reliable led state for keyboard modifiers Major Changes in 0.14.1: The main change in this release is the addition of a new protocol extension in order to support streaming the remote display as a video stream rather than going through the QXL protocol. Together with spice-streaming-agent, and/or with more work on the qemu/spice-server side, this should allow streaming of 3D accelerated VMs in the future. At this point, this part of spice-server is still a work in progress (multi-monitor support and various features are missing). * add new org.spice-space.stream.0 channel used for passing an encoded video stream from the guest to the client * add support for TCP_CORK to reduce the amount of packets that we send * fix CVE-2018-10873 * fix cursor related migration crash * fix regression causing sound recording to be muted after client disconnection/reconnection (introduced in 0.13.90) * fix regression in corner cases where images could be sent uncompressed when they used to be compressed with QUIC * disable TLS 1.0 support * CELT 0.5.1 support is now disabled by default. If celt051-devel is installed at build-time, --enable-celt051/--disable-celt051 must be explicitly specified * drop support for unsupported OpenSSL version. OpenSSL 1.0.0 or newer is now required * bumped minimum required glib version to 2.32 * endianness fixes * (small) leak fixes * usual round of code cleanups * not directly related to this release, but the upstream git repository is now hosted on gitlab.freedesktop.org
Signed-off-by: Adolf Belka adolf.belka@ipfire.org --- config/rootfiles/packages/spice | 3 +-- lfs/spice | 6 +++--- 2 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/config/rootfiles/packages/spice b/config/rootfiles/packages/spice index 9ee1f9179..b56a90329 100644 --- a/config/rootfiles/packages/spice +++ b/config/rootfiles/packages/spice @@ -2,7 +2,6 @@ #usr/include/spice-server/spice-audio.h #usr/include/spice-server/spice-char.h #usr/include/spice-server/spice-core.h -#usr/include/spice-server/spice-experimental.h #usr/include/spice-server/spice-input.h #usr/include/spice-server/spice-migration.h #usr/include/spice-server/spice-qxl.h @@ -13,5 +12,5 @@ #usr/lib/libspice-server.la #usr/lib/libspice-server.so usr/lib/libspice-server.so.1 -usr/lib/libspice-server.so.1.12.4 +usr/lib/libspice-server.so.1.14.1 #usr/lib/pkgconfig/spice-server.pc diff --git a/lfs/spice b/lfs/spice index d1f56e708..72b132ebd 100644 --- a/lfs/spice +++ b/lfs/spice @@ -24,7 +24,7 @@
include Config
-VER = 0.14.0 +VER = 0.15.0
THISAPP = spice-$(VER) DL_FILE = $(THISAPP).tar.bz2 @@ -32,7 +32,7 @@ DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) PROG = spice -PAK_VER = 5 +PAK_VER = 6
DEPS = opus
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 6622aa7dfb5cd026a4d0d7e659216d26 +$(DL_FILE)_MD5 = 840c5284ebc78c15fc7c3a146931bc01
install : $(TARGET)
- v2 version adds $(MAKETUNING) variable to ninja build command - Update from 0.12.13 to 0.14.3 - Update rootfile - Remove automake py-compile line from lfs. This only works with python2 Not clear why this line was put into the lfs. Searched the documentation of spice and qemu and could not find any reference to needing any of the python modules in spice to be installed either as modules or compiled in. The only references found in general searches were to modules such as python-virtinst, python-spice-client-gtk or python-websockify, none of which are in the python modules in spice. - Removing the automake py-compile line from the lfs enables spice-protocol, spice and qemu to build without python2 being present.
Signed-off-by: Adolf Belka adolf.belka@ipfire.org --- config/rootfiles/common/spice-protocol | 6 +----- lfs/spice-protocol | 17 ++++++++--------- 2 files changed, 9 insertions(+), 14 deletions(-)
diff --git a/config/rootfiles/common/spice-protocol b/config/rootfiles/common/spice-protocol index 26cdc2102..d7d6e7470 100644 --- a/config/rootfiles/common/spice-protocol +++ b/config/rootfiles/common/spice-protocol @@ -1,11 +1,8 @@ #usr/include/spice-1 #usr/include/spice-1/spice #usr/include/spice-1/spice/barrier.h -#usr/include/spice-1/spice/controller_prot.h #usr/include/spice-1/spice/end-packed.h #usr/include/spice-1/spice/enums.h -#usr/include/spice-1/spice/error_codes.h -#usr/include/spice-1/spice/foreign_menu_prot.h #usr/include/spice-1/spice/ipc_ring.h #usr/include/spice-1/spice/macros.h #usr/include/spice-1/spice/protocol.h @@ -13,8 +10,7 @@ #usr/include/spice-1/spice/qxl_windows.h #usr/include/spice-1/spice/start-packed.h #usr/include/spice-1/spice/stats.h +#usr/include/spice-1/spice/stream-device.h #usr/include/spice-1/spice/types.h #usr/include/spice-1/spice/vd_agent.h -#usr/include/spice-1/spice/vdi_dev.h -#usr/share/pkgconfig #usr/share/pkgconfig/spice-protocol.pc diff --git a/lfs/spice-protocol b/lfs/spice-protocol index 00f2e57b3..ead597438 100644 --- a/lfs/spice-protocol +++ b/lfs/spice-protocol @@ -24,15 +24,15 @@
include Config
-VER = 0.12.13 +VER = 0.14.3
THISAPP = spice-protocol-$(VER) -DL_FILE = $(THISAPP).tar.bz2 +DL_FILE = $(THISAPP).tar.xz DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) PROG = spice-protocol -PAK_VER = 3 +PAK_VER = 4
DEPS =
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 50a1d951d1fa96d1478ff0cc7f3b1442 +$(DL_FILE)_MD5 = 950e08044497ca9cf64e368cb3ceb395
install : $(TARGET)
@@ -76,10 +76,9 @@ $(subst %,%_MD5,$(objects)) :
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) @$(PREBUILD) - @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE) - cd $(DIR_APP) && ./configure --prefix=/usr - cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE) - cd $(DIR_APP) && make install - /usr/share/automake-*/py-compile /usr/lib/spice-protocol/python_modules/* + @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE) + cd $(DIR_APP) && meson --prefix=/usr builddir/ + cd $(DIR_APP) && ninja -C builddir/ $(MAKETUNING) + cd $(DIR_APP) && ninja -C builddir/ install @rm -rf $(DIR_APP) @$(POSTBUILD)