summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarkus Volk <f_l_k@t-online.de>2023-08-23 14:19:55 +0200
committerKhem Raj <raj.khem@gmail.com>2023-08-26 17:32:44 -0700
commit9320d339008a09228d4ae67716c161ce68d54e17 (patch)
tree621305dbf164c6f8e511aa87d33d996099549c7c
parent1b8c39fe9834ed7b6f8857152f369027ffd0a35e (diff)
downloadmeta-openembedded-9320d339008a09228d4ae67716c161ce68d54e17.tar.gz
spice: upgrade 0.14.2 -> 0.15.2
-switch to meson buildsystem -remove patches -update dependencies -fetch spice-common as a submodule Major Changes in 0.15.2: Really minor fix release, mainly to fix a distribution issue Add missing file to distribution Fix sound recording fix in case of buffer wrapping Major Changes in 0.15.1: Fix some compatibility issues with FreeBSD Fix some minor issue with build Improve packaging with Meson Lot of C++ improves (clang-tidy) Fix some compatibility with no-Glibc libraries (like Musl) Fix minor leaks shutting down library Add Doxygen file to distribution Fix a longstanding issue related to surface updates where wrong surfaces were possibly used Fix compatibility with OpenSSL 3 Updates and fixes for CI Use more random connection IDs to fix possible issues with proxies 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 Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Khem Raj <raj.khem@gmail.com>
-rw-r--r--meta-networking/recipes-support/spice/spice/0001-Convert-pthread_t-to-be-numeric.patch59
-rw-r--r--meta-networking/recipes-support/spice/spice/0001-Fix-compile-errors-on-Linux-32bit-system.patch96
-rw-r--r--meta-networking/recipes-support/spice/spice/0001-configure.ac-explicitly-link-to-jpeg-lib.patch48
-rw-r--r--meta-networking/recipes-support/spice/spice_git.bb37
4 files changed, 10 insertions, 230 deletions
diff --git a/meta-networking/recipes-support/spice/spice/0001-Convert-pthread_t-to-be-numeric.patch b/meta-networking/recipes-support/spice/spice/0001-Convert-pthread_t-to-be-numeric.patch
deleted file mode 100644
index e63cbe3b72..0000000000
--- a/meta-networking/recipes-support/spice/spice/0001-Convert-pthread_t-to-be-numeric.patch
+++ /dev/null
@@ -1,59 +0,0 @@
1From 0726ce6d6f52e135e28f15ca8392568c84909b1d Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Sat, 16 Jun 2018 16:21:39 -0700
4Subject: [PATCH] Convert pthread_t to be numeric
5
6typecast pthread_t to unsigned long
7pthread_t is implemented as a struct point in musl and its as per standard
8
9Signed-off-by: Khem Raj <raj.khem@gmail.com>
10---
11Upstream-Status: Pending
12
13 server/red-channel.c | 5 +++--
14 server/red-client.c | 6 +++---
15 2 files changed, 6 insertions(+), 5 deletions(-)
16
17--- a/server/red-channel.c
18+++ b/server/red-channel.c
19@@ -204,7 +204,7 @@ red_channel_constructed(GObject *object)
20 {
21 RedChannel *self = RED_CHANNEL(object);
22
23- red_channel_debug(self, "thread_id 0x%" G_GSIZE_MODIFIER "x", self->priv->thread_id);
24+ red_channel_debug(self, "thread_id 0x%" G_GSIZE_MODIFIER "x", (unsigned long)self->priv->thread_id);
25
26 RedChannelClass *klass = RED_CHANNEL_GET_CLASS(self);
27
28@@ -479,7 +479,8 @@ void red_channel_remove_client(RedChanne
29 "pthread_self (0x%" G_GSIZE_MODIFIER "x)."
30 "If one of the threads is != io-thread && != vcpu-thread, "
31 "this might be a BUG",
32- channel->priv->thread_id, pthread_self());
33+ (unsigned long)channel->priv->thread_id,
34+ (unsigned long)pthread_self());
35 }
36 spice_return_if_fail(channel);
37 link = g_list_find(channel->priv->clients, rcc);
38--- a/server/red-client.c
39+++ b/server/red-client.c
40@@ -180,7 +180,7 @@ void red_client_migrate(RedClient *clien
41 "pthread_self (0x%" G_GSIZE_MODIFIER "x)."
42 "If one of the threads is != io-thread && != vcpu-thread,"
43 " this might be a BUG",
44- client->thread_id, pthread_self());
45+ (unsigned long)client->thread_id, (unsigned long)pthread_self());
46 }
47 FOREACH_CHANNEL_CLIENT(client, rcc) {
48 if (red_channel_client_is_connected(rcc)) {
49@@ -199,8 +199,8 @@ void red_client_destroy(RedClient *clien
50 "pthread_self (0x%" G_GSIZE_MODIFIER "x)."
51 "If one of the threads is != io-thread && != vcpu-thread,"
52 " this might be a BUG",
53- client->thread_id,
54- pthread_self());
55+ (unsigned long)client->thread_id,
56+ (unsigned long)pthread_self());
57 }
58 red_client_set_disconnecting(client);
59 FOREACH_CHANNEL_CLIENT(client, rcc) {
diff --git a/meta-networking/recipes-support/spice/spice/0001-Fix-compile-errors-on-Linux-32bit-system.patch b/meta-networking/recipes-support/spice/spice/0001-Fix-compile-errors-on-Linux-32bit-system.patch
deleted file mode 100644
index d04bee95fa..0000000000
--- a/meta-networking/recipes-support/spice/spice/0001-Fix-compile-errors-on-Linux-32bit-system.patch
+++ /dev/null
@@ -1,96 +0,0 @@
1From a2af005b5d4a62839e56f42a43df793356e78f58 Mon Sep 17 00:00:00 2001
2From: "Hongzhi.Song" <hongzhi.song@windriver.com>
3Date: Tue, 4 Jun 2019 03:58:17 -0400
4Subject: [PATCH] Fix compile errors on Linux 32bit system
5
6There are folowing compile errors on Linux 32bit system:
7
8red-channel.c:207:73: error: format '%x' expects argument of type
9'unsigned int', but argument 7 has type 'long unsigned int' [-Werror=format=]
10|207| red_channel_debug(self, "thread_id 0x%" G_GSIZE_MODIFIER "x",
11 ~~~~~~~~~~~~~~~~~~~~~^
12 self->priv->thread_id);
13 ~~~~~~~~~~~~~~~~~~~~~^
14
15On 32bit system, #define G_GSIZE_MODIFIER "". But the type of
16'self->priv->thread_id' is 'unsigned long int' which should match '%lx'
17not '%x'.
18
19So we should recovery the <0x%" G_GSIZE_MODIFIER "x"> to <0x%lx">.
20And others files modification are similar to G_GSIZE_MODIFIER.
21
22Signed-off-by: Hongzhi.Song <hongzhi.song@windriver.com>
23---
24Upstream-Status: Submitted [https://lists.freedesktop.org/archives/spice-devel/2019-June/049285.html]
25
26 server/red-channel.c | 6 +++---
27 server/red-client.c | 8 ++++----
28 server/red-replay-qxl.c | 2 +-
29 3 files changed, 8 insertions(+), 8 deletions(-)
30
31diff --git a/server/red-channel.c b/server/red-channel.c
32index f81142d..6a03ec2 100644
33--- a/server/red-channel.c
34+++ b/server/red-channel.c
35@@ -202,7 +202,7 @@ red_channel_constructed(GObject *object)
36 {
37 RedChannel *self = RED_CHANNEL(object);
38
39- red_channel_debug(self, "thread_id 0x%" G_GSIZE_MODIFIER "x", (unsigned long)self->priv->thread_id);
40+ red_channel_debug(self, "thread_id 0x%lx", (unsigned long)self->priv->thread_id);
41
42 RedChannelClass *klass = RED_CHANNEL_GET_CLASS(self);
43
44@@ -473,8 +473,8 @@ void red_channel_remove_client(RedChannel *channel, RedChannelClient *rcc)
45
46 if (!pthread_equal(pthread_self(), channel->priv->thread_id)) {
47 red_channel_warning(channel,
48- "channel->thread_id (0x%" G_GSIZE_MODIFIER "x) != "
49- "pthread_self (0x%" G_GSIZE_MODIFIER "x)."
50+ "channel->thread_id (0x%lx) != "
51+ "pthread_self (0x%lx)."
52 "If one of the threads is != io-thread && != vcpu-thread, "
53 "this might be a BUG",
54 (unsigned long)channel->priv->thread_id,
55diff --git a/server/red-client.c b/server/red-client.c
56index 2b859cb..ff4da2a 100644
57--- a/server/red-client.c
58+++ b/server/red-client.c
59@@ -174,8 +174,8 @@ void red_client_migrate(RedClient *client)
60 RedChannel *channel;
61
62 if (!pthread_equal(pthread_self(), client->thread_id)) {
63- spice_warning("client->thread_id (0x%" G_GSIZE_MODIFIER "x) != "
64- "pthread_self (0x%" G_GSIZE_MODIFIER "x)."
65+ spice_warning("client->thread_id (0x%lx) != "
66+ "pthread_self (0x%lx)."
67 "If one of the threads is != io-thread && != vcpu-thread,"
68 " this might be a BUG",
69 (unsigned long)client->thread_id, (unsigned long)pthread_self());
70@@ -193,8 +193,8 @@ void red_client_destroy(RedClient *client)
71 RedChannelClient *rcc;
72
73 if (!pthread_equal(pthread_self(), client->thread_id)) {
74- spice_warning("client->thread_id (0x%" G_GSIZE_MODIFIER "x) != "
75- "pthread_self (0x%" G_GSIZE_MODIFIER "x)."
76+ spice_warning("client->thread_id (0x%lx) != "
77+ "pthread_self (0x%lx)."
78 "If one of the threads is != io-thread && != vcpu-thread,"
79 " this might be a BUG",
80 (unsigned long)client->thread_id,
81diff --git a/server/red-replay-qxl.c b/server/red-replay-qxl.c
82index 6d34818..0deb406 100644
83--- a/server/red-replay-qxl.c
84+++ b/server/red-replay-qxl.c
85@@ -264,7 +264,7 @@ static replay_t read_binary(SpiceReplay *replay, const char *prefix, size_t *siz
86 exit(1);
87 }
88 if ((ret = inflate(&strm, Z_NO_FLUSH)) != Z_STREAM_END) {
89- spice_error("inflate error %d (disc: %" G_GSSIZE_FORMAT ")",
90+ spice_error("inflate error %d (disc: %li)",
91 ret, *size - strm.total_out);
92 if (ret == Z_DATA_ERROR) {
93 /* last operation may be wrong. since we do the recording
94--
952.8.1
96
diff --git a/meta-networking/recipes-support/spice/spice/0001-configure.ac-explicitly-link-to-jpeg-lib.patch b/meta-networking/recipes-support/spice/spice/0001-configure.ac-explicitly-link-to-jpeg-lib.patch
deleted file mode 100644
index 2d05143dbf..0000000000
--- a/meta-networking/recipes-support/spice/spice/0001-configure.ac-explicitly-link-to-jpeg-lib.patch
+++ /dev/null
@@ -1,48 +0,0 @@
1From 6ffd9db8e02e411bda2f421abf7951dab6cf0e38 Mon Sep 17 00:00:00 2001
2From: Hongxu Jia <hongxu.jia@windriver.com>
3Date: Fri, 5 Feb 2021 01:43:44 -0800
4Subject: [PATCH] configure.ac: explicitly link to jpeg lib
5
6Since oe has added lib jpeg to the depends, explicitly link to jpeg lib
7to workaround build failure with autoconf 2.7
8
9Upstream-Status: Inappropriate [oe specific]
10
11Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
12---
13 configure.ac | 14 +-------------
14 1 file changed, 1 insertion(+), 13 deletions(-)
15
16diff --git a/configure.ac b/configure.ac
17index 1ce81f91..8bbb50de 100644
18--- a/configure.ac
19+++ b/configure.ac
20@@ -191,24 +191,12 @@ AC_SUBST(SSL_CFLAGS)
21 AC_SUBST(SSL_LIBS)
22 AS_VAR_APPEND([SPICE_REQUIRES], [" openssl"])
23
24-AC_CHECK_LIB(jpeg, jpeg_destroy_decompress,
25- AC_MSG_CHECKING([for jpeglib.h])
26- AC_TRY_CPP(
27-[#include <stdio.h>
28-#undef PACKAGE
29-#undef VERSION
30-#undef HAVE_STDLIB_H
31-#include <jpeglib.h>],
32- JPEG_LIBS='-ljpeg'
33- AC_MSG_RESULT($jpeg_ok),
34- AC_MSG_ERROR([jpeglib.h not found])),
35- AC_MSG_ERROR([libjpeg not found]))
36+JPEG_LIBS='-ljpeg'
37 AC_SUBST(JPEG_LIBS)
38
39 AC_CHECK_LIB(z, deflate, Z_LIBS='-lz', AC_MSG_ERROR([zlib not found]))
40 AC_SUBST(Z_LIBS)
41
42-
43 AC_ARG_ENABLE([manual],
44 AS_HELP_STRING([--enable-manual=@<:@auto/yes/no@:>@],
45 [Build SPICE manual]),
46--
472.29.2
48
diff --git a/meta-networking/recipes-support/spice/spice_git.bb b/meta-networking/recipes-support/spice/spice_git.bb
index 5732f509b1..78e3b0d88d 100644
--- a/meta-networking/recipes-support/spice/spice_git.bb
+++ b/meta-networking/recipes-support/spice/spice_git.bb
@@ -13,49 +13,32 @@ architectures."
13LICENSE = "LGPL-2.1-or-later" 13LICENSE = "LGPL-2.1-or-later"
14LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" 14LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
15 15
16PV = "0.14.2+git${SRCPV}" 16PV = "0.15.2"
17 17
18SRCREV_spice = "7cbd70b931db76c69c89c2d9d5d704f67381a81b" 18SRCREV = "0c2c1413a8b387ea597a95b6c867470a7c56c8ab"
19SRCREV_spice-common = "4fc4c2db36c7f07b906e9a326a9d3dc0ae6a2671"
20 19
21SRCREV_FORMAT = "spice_spice-common" 20SRC_URI = "gitsm://gitlab.freedesktop.org/spice/spice;branch=master;protocol=https"
22
23SRC_URI = " \
24 git://anongit.freedesktop.org/spice/spice;name=spice;branch=master \
25 git://anongit.freedesktop.org/spice/spice-common;destsuffix=git/subprojects/spice-common;name=spice-common;branch=master \
26 file://0001-Convert-pthread_t-to-be-numeric.patch \
27 file://0001-Fix-compile-errors-on-Linux-32bit-system.patch \
28 file://0001-configure.ac-explicitly-link-to-jpeg-lib.patch \
29"
30 21
31S = "${WORKDIR}/git" 22S = "${WORKDIR}/git"
32 23
33CVE_STATUS[CVE-2018-10893] = "fixed-version: patched already, caused by inaccurate CPE in the NVD database." 24CVE_STATUS[CVE-2018-10893] = "fixed-version: patched already, caused by inaccurate CPE in the NVD database."
34 25
35inherit autotools gettext python3native python3-dir pkgconfig 26inherit meson gettext python3native python3-dir pkgconfig
36 27
37DEPENDS += "spice-protocol jpeg pixman alsa-lib glib-2.0 python3-pyparsing-native python3-six-native glib-2.0-native" 28DEPENDS = "spice-protocol jpeg pixman alsa-lib glib-2.0 gdk-pixbuf lz4 python3-pyparsing-native python3-six-native glib-2.0-native zlib"
38DEPENDS:append:class-nativesdk = " nativesdk-openssl" 29DEPENDS:append:class-nativesdk = " nativesdk-openssl"
39 30
40export PYTHON="${STAGING_BINDIR_NATIVE}/python3-native/python3" 31export PYTHON="${STAGING_BINDIR_NATIVE}/python3-native/python3"
41 32
42CFLAGS:append = " -Wno-error"
43
44PACKAGECONFIG:class-native = "" 33PACKAGECONFIG:class-native = ""
45PACKAGECONFIG:class-nativesdk = "" 34PACKAGECONFIG:class-nativesdk = ""
46PACKAGECONFIG ?= "sasl" 35PACKAGECONFIG ?= "sasl opus smartcard gstreamer"
47 36
48PACKAGECONFIG[celt051] = "--enable-celt051,--disable-celt051,celt051" 37PACKAGECONFIG[gstreamer] = "-Dgstreamer=1.0,-Dgstreamer=no,gstreamer1.0 gstreamer1.0-plugins-base"
49PACKAGECONFIG[smartcard] = "--enable-smartcard,--disable-smartcard,libcacard," 38PACKAGECONFIG[smartcard] = "-Dsmartcard=enabled,-Dsmartcard=disabled,libcacard,libcacard"
50PACKAGECONFIG[sasl] = "--with-sasl,--without-sasl,cyrus-sasl," 39PACKAGECONFIG[sasl] = "-Dsasl=true,-Dsasl=false,cyrus-sasl,"
51PACKAGECONFIG[client] = "--enable-client,--disable-client,," 40PACKAGECONFIG[opus] = "-Dopus=enabled,-Dopus=disabled,libopus,"
52PACKAGECONFIG[gui] = "--enable-gui,--disable-gui,,"
53PACKAGECONFIG[opus] = "--enable-opus,--disable-opus,libopus,"
54PACKAGECONFIG[opengl] = "--enable-opengl,--disable-opengl,,"
55PACKAGECONFIG[xinerama] = "--enable-xinerama,--disable-xinerama,libxinerama,"
56 41
57COMPATIBLE_HOST = '(x86_64|i.86|aarch64).*-linux' 42COMPATIBLE_HOST = '(x86_64|i.86|aarch64).*-linux'
58 43
59BBCLASSEXTEND = "native nativesdk" 44BBCLASSEXTEND = "native nativesdk"
60
61EXTRA_OECONF:append:toolchain-clang = " --disable-werror"