Workaround spice-protocol 0.12.8 regression

spice-protocol 0.12.8 in combination with spice-server 0.12.5 or older
causes compilation breakage. This does not happen upstream as
spice-server code was changed to avoid that. In particular, this bug
causes QEMU to be built without SPICE support.

A new spice-protocol release will be needed to fix that regression, in
the mean time I backported the upstream spice-server patch which should
resolve the compilation issues for spice-server users.

Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1239102
This commit is contained in:
Christophe Fergeau 2015-07-03 17:09:19 +02:00
parent 61c163c991
commit 682c6d0b34
3 changed files with 12 additions and 9 deletions

View File

@ -1,4 +1,4 @@
From 288cf77f804187a3e77ae2a5a21d108d101d22ce Mon Sep 17 00:00:00 2001 From a6e29ce42fff526ab59096634d721254d6bcfc16 Mon Sep 17 00:00:00 2001
From: Christophe Fergeau <cfergeau@redhat.com> From: Christophe Fergeau <cfergeau@redhat.com>
Date: Tue, 19 Aug 2014 11:09:05 +0200 Date: Tue, 19 Aug 2014 11:09:05 +0200
Subject: [PATCH] spice.h: Don't use 48kHz for playback/recording rates Subject: [PATCH] spice.h: Don't use 48kHz for playback/recording rates
@ -51,6 +51,3 @@ index c648a1d..58700d1 100644
#define SPICE_INTERFACE_RECORD_CHAN 2 #define SPICE_INTERFACE_RECORD_CHAN 2
#define SPICE_INTERFACE_RECORD_FMT SPICE_INTERFACE_AUDIO_FMT_S16 #define SPICE_INTERFACE_RECORD_FMT SPICE_INTERFACE_AUDIO_FMT_S16
--
1.9.3

View File

@ -1,4 +1,4 @@
From 2d1c00a659cd1b3998f5d1f90fc5ee6abb7519bb Mon Sep 17 00:00:00 2001 From d6381c21c7076d9adbaa10ee0ddf119691a864a1 Mon Sep 17 00:00:00 2001
From: Uri Lublin <uril@redhat.com> From: Uri Lublin <uril@redhat.com>
Date: Wed, 16 Jul 2014 17:02:04 +0300 Date: Wed, 16 Jul 2014 17:02:04 +0300
Subject: [PATCH] migration: Don't assert() if MIGRATE_DATA comes before Subject: [PATCH] migration: Don't assert() if MIGRATE_DATA comes before
@ -81,7 +81,7 @@ Based-on-a-patch-by: Christophe Fergeau <cfergeau@redhat.com>
1 file changed, 28 insertions(+), 11 deletions(-) 1 file changed, 28 insertions(+), 11 deletions(-)
diff --git a/server/reds.c b/server/reds.c diff --git a/server/reds.c b/server/reds.c
index 6864d36..ef7ff62 100644 index 2c437ac..ed142ec 100644
--- a/server/reds.c --- a/server/reds.c
+++ b/server/reds.c +++ b/server/reds.c
@@ -1274,6 +1274,7 @@ int reds_handle_migrate_data(MainChannelClient *mcc, SpiceMigrateDataMain *mig_d @@ -1274,6 +1274,7 @@ int reds_handle_migrate_data(MainChannelClient *mcc, SpiceMigrateDataMain *mig_d
@ -111,7 +111,7 @@ index 6864d36..ef7ff62 100644
if (vdagent) { if (vdagent) {
/* spice_char_device_client_remove disables waiting for migration data */ /* spice_char_device_client_remove disables waiting for migration data */
spice_char_device_client_remove(agent_state->base, spice_char_device_client_remove(agent_state->base,
@@ -2853,17 +2857,15 @@ static SpiceCharDeviceState *attach_to_red_agent(SpiceCharDeviceInstance *sin) @@ -2857,17 +2861,15 @@ static SpiceCharDeviceState *attach_to_red_agent(SpiceCharDeviceInstance *sin)
state->read_filter.discard_all = FALSE; state->read_filter.discard_all = FALSE;
reds->agent_state.plug_generation++; reds->agent_state.plug_generation++;
@ -138,7 +138,7 @@ index 6864d36..ef7ff62 100644
if (!spice_char_device_client_exists(reds->agent_state.base, reds_get_client())) { if (!spice_char_device_client_exists(reds->agent_state.base, reds_get_client())) {
int client_added; int client_added;
@@ -2879,9 +2881,24 @@ static SpiceCharDeviceState *attach_to_red_agent(SpiceCharDeviceInstance *sin) @@ -2883,9 +2885,24 @@ static SpiceCharDeviceState *attach_to_red_agent(SpiceCharDeviceInstance *sin)
spice_warning("failed to add client to agent"); spice_warning("failed to add client to agent");
reds_disconnect(); reds_disconnect();
} }

View File

@ -1,6 +1,6 @@
Name: spice Name: spice
Version: 0.12.5 Version: 0.12.5
Release: 7%{?dist} Release: 8%{?dist}
Summary: Implements the SPICE protocol Summary: Implements the SPICE protocol
Group: User Interface/Desktops Group: User Interface/Desktops
License: LGPLv2+ License: LGPLv2+
@ -8,6 +8,7 @@ URL: http://www.spice-space.org/
Source0: http://www.spice-space.org/download/releases/%{name}-%{version}.tar.bz2 Source0: http://www.spice-space.org/download/releases/%{name}-%{version}.tar.bz2
Patch0: 0001-spice.h-Don-t-use-48kHz-for-playback-recording-rates.patch Patch0: 0001-spice.h-Don-t-use-48kHz-for-playback-recording-rates.patch
Patch1: 0002-migration-Don-t-assert-if-MIGRATE_DATA-comes-before-.patch Patch1: 0002-migration-Don-t-assert-if-MIGRATE_DATA-comes-before-.patch
Patch2: 0003-Use-image-compress-constants-from-spice-protocol.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=613529 # https://bugzilla.redhat.com/show_bug.cgi?id=613529
%if 0%{?rhel} %if 0%{?rhel}
@ -65,6 +66,7 @@ using spice-server, you will need to install spice-server-devel.
%setup -q %setup -q
%patch0 -p1 %patch0 -p1
%patch1 -p1 %patch1 -p1
%patch2 -p1
%build %build
@ -95,6 +97,10 @@ mkdir -p %{buildroot}%{_libexecdir}
%changelog %changelog
* Fri Jul 03 2015 Christophe Fergeau <cfergeau@redhat.com> 0.12.5-8
- Add upstream patch avoiding a regression in spice-protocol 0.12.8 which
breaks SPICE support in QEMU
* Thu Jul 02 2015 Christophe Fergeau <cfergeau@redhat.com> 0.12.5-7 * Thu Jul 02 2015 Christophe Fergeau <cfergeau@redhat.com> 0.12.5-7
- Fix migration race condition which causes a crash when triggered - Fix migration race condition which causes a crash when triggered
Resolves: rhbz#1238212 Resolves: rhbz#1238212