mirror of
https://github.com/qemu/qemu.git
synced 2024-12-18 09:43:38 +08:00
configure: bump spice-server required version to 0.12.5
Looking at chardev/spice.c code, I realize compilation was broken for a while with spice-server < 0.12.3. Let's bump required version to 0.12.5, released May 19 2014, instead of adding more #ifdef. (this patch combines changes from an early version and some of Frediano "[PATCH 2/2] spice: Bump required spice-server version to 0.12.6") According to repology, all the distros that are build target platforms for QEMU include it: RHEL-7: 0.14.0 Debian (Stretch): 0.12.8 Debian (Jessie): 0.12.5 FreeBSD (ports): 0.14.0 OpenSUSE Leap 15: 0.14.0 Ubuntu (Xenial): 0.12.6 Note that a previous version of this patch was bumping version to 0.12.6. Unfortunately, Debian Jessie (oldstable) is stuck with spice server 0.12.5, and QEMU should keep building until after 2y of current stable (Stretch), which will be around June 17th 2019. Qemu 4.1 should thus be free of bumping to spice-server 0.12.6 during 4.1 development cycle. Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Message-id: 20181128155932.16171-1-marcandre.lureau@redhat.com Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
parent
952e5d584f
commit
1b63665c2c
@ -77,7 +77,6 @@ static int vmc_read(SpiceCharDeviceInstance *sin, uint8_t *buf, int len)
|
|||||||
return bytes;
|
return bytes;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if SPICE_SERVER_VERSION >= 0x000c02
|
|
||||||
static void vmc_event(SpiceCharDeviceInstance *sin, uint8_t event)
|
static void vmc_event(SpiceCharDeviceInstance *sin, uint8_t event)
|
||||||
{
|
{
|
||||||
SpiceChardev *scd = container_of(sin, SpiceChardev, sin);
|
SpiceChardev *scd = container_of(sin, SpiceChardev, sin);
|
||||||
@ -95,7 +94,6 @@ static void vmc_event(SpiceCharDeviceInstance *sin, uint8_t event)
|
|||||||
trace_spice_vmc_event(chr_event);
|
trace_spice_vmc_event(chr_event);
|
||||||
qemu_chr_be_event(chr, chr_event);
|
qemu_chr_be_event(chr, chr_event);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
static void vmc_state(SpiceCharDeviceInstance *sin, int connected)
|
static void vmc_state(SpiceCharDeviceInstance *sin, int connected)
|
||||||
{
|
{
|
||||||
@ -119,9 +117,7 @@ static SpiceCharDeviceInterface vmc_interface = {
|
|||||||
.state = vmc_state,
|
.state = vmc_state,
|
||||||
.write = vmc_write,
|
.write = vmc_write,
|
||||||
.read = vmc_read,
|
.read = vmc_read,
|
||||||
#if SPICE_SERVER_VERSION >= 0x000c02
|
|
||||||
.event = vmc_event,
|
.event = vmc_event,
|
||||||
#endif
|
|
||||||
#if SPICE_SERVER_VERSION >= 0x000c06
|
#if SPICE_SERVER_VERSION >= 0x000c06
|
||||||
.flags = SPICE_CHAR_DEVICE_NOTIFY_WRITABLE,
|
.flags = SPICE_CHAR_DEVICE_NOTIFY_WRITABLE,
|
||||||
#endif
|
#endif
|
||||||
@ -223,9 +219,7 @@ static void char_spice_finalize(Object *obj)
|
|||||||
}
|
}
|
||||||
|
|
||||||
g_free((char *)s->sin.subtype);
|
g_free((char *)s->sin.subtype);
|
||||||
#if SPICE_SERVER_VERSION >= 0x000c02
|
|
||||||
g_free((char *)s->sin.portname);
|
g_free((char *)s->sin.portname);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void spice_vmc_set_fe_open(struct Chardev *chr, int fe_open)
|
static void spice_vmc_set_fe_open(struct Chardev *chr, int fe_open)
|
||||||
@ -240,7 +234,6 @@ static void spice_vmc_set_fe_open(struct Chardev *chr, int fe_open)
|
|||||||
|
|
||||||
static void spice_port_set_fe_open(struct Chardev *chr, int fe_open)
|
static void spice_port_set_fe_open(struct Chardev *chr, int fe_open)
|
||||||
{
|
{
|
||||||
#if SPICE_SERVER_VERSION >= 0x000c02
|
|
||||||
SpiceChardev *s = SPICE_CHARDEV(chr);
|
SpiceChardev *s = SPICE_CHARDEV(chr);
|
||||||
|
|
||||||
if (fe_open) {
|
if (fe_open) {
|
||||||
@ -248,7 +241,6 @@ static void spice_port_set_fe_open(struct Chardev *chr, int fe_open)
|
|||||||
} else {
|
} else {
|
||||||
spice_server_port_event(&s->sin, SPICE_PORT_EVENT_CLOSED);
|
spice_server_port_event(&s->sin, SPICE_PORT_EVENT_CLOSED);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void spice_chr_accept_input(struct Chardev *chr)
|
static void spice_chr_accept_input(struct Chardev *chr)
|
||||||
@ -298,7 +290,6 @@ static void qemu_chr_open_spice_vmc(Chardev *chr,
|
|||||||
chr_open(chr, type);
|
chr_open(chr, type);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if SPICE_SERVER_VERSION >= 0x000c02
|
|
||||||
static void qemu_chr_open_spice_port(Chardev *chr,
|
static void qemu_chr_open_spice_port(Chardev *chr,
|
||||||
ChardevBackend *backend,
|
ChardevBackend *backend,
|
||||||
bool *be_opened,
|
bool *be_opened,
|
||||||
@ -331,7 +322,6 @@ void qemu_spice_register_ports(void)
|
|||||||
vmc_register_interface(s);
|
vmc_register_interface(s);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
static void qemu_chr_parse_spice_vmc(QemuOpts *opts, ChardevBackend *backend,
|
static void qemu_chr_parse_spice_vmc(QemuOpts *opts, ChardevBackend *backend,
|
||||||
Error **errp)
|
Error **errp)
|
||||||
|
4
configure
vendored
4
configure
vendored
@ -4605,7 +4605,7 @@ int main(void) { spice_server_new(); return 0; }
|
|||||||
EOF
|
EOF
|
||||||
spice_cflags=$($pkg_config --cflags spice-protocol spice-server 2>/dev/null)
|
spice_cflags=$($pkg_config --cflags spice-protocol spice-server 2>/dev/null)
|
||||||
spice_libs=$($pkg_config --libs spice-protocol spice-server 2>/dev/null)
|
spice_libs=$($pkg_config --libs spice-protocol spice-server 2>/dev/null)
|
||||||
if $pkg_config --atleast-version=0.12.0 spice-server && \
|
if $pkg_config --atleast-version=0.12.5 spice-server && \
|
||||||
$pkg_config --atleast-version=0.12.3 spice-protocol && \
|
$pkg_config --atleast-version=0.12.3 spice-protocol && \
|
||||||
compile_prog "$spice_cflags" "$spice_libs" ; then
|
compile_prog "$spice_cflags" "$spice_libs" ; then
|
||||||
spice="yes"
|
spice="yes"
|
||||||
@ -4616,7 +4616,7 @@ EOF
|
|||||||
else
|
else
|
||||||
if test "$spice" = "yes" ; then
|
if test "$spice" = "yes" ; then
|
||||||
feature_not_found "spice" \
|
feature_not_found "spice" \
|
||||||
"Install spice-server(>=0.12.0) and spice-protocol(>=0.12.3) devel"
|
"Install spice-server(>=0.12.5) and spice-protocol(>=0.12.3) devel"
|
||||||
fi
|
fi
|
||||||
spice="no"
|
spice="no"
|
||||||
fi
|
fi
|
||||||
|
@ -1189,9 +1189,7 @@ static void qxl_enter_vga_mode(PCIQXLDevice *d)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
trace_qxl_enter_vga_mode(d->id);
|
trace_qxl_enter_vga_mode(d->id);
|
||||||
#if SPICE_SERVER_VERSION >= 0x000c03 /* release 0.12.3 */
|
|
||||||
spice_qxl_driver_unload(&d->ssd.qxl);
|
spice_qxl_driver_unload(&d->ssd.qxl);
|
||||||
#endif
|
|
||||||
graphic_console_set_hwops(d->ssd.dcl.con, d->vga.hw_ops, &d->vga);
|
graphic_console_set_hwops(d->ssd.dcl.con, d->vga.hw_ops, &d->vga);
|
||||||
update_displaychangelistener(&d->ssd.dcl, GUI_REFRESH_INTERVAL_DEFAULT);
|
update_displaychangelistener(&d->ssd.dcl, GUI_REFRESH_INTERVAL_DEFAULT);
|
||||||
qemu_spice_create_host_primary(&d->ssd);
|
qemu_spice_create_host_primary(&d->ssd);
|
||||||
|
@ -46,13 +46,7 @@ int qemu_spice_migrate_info(const char *hostname, int port, int tls_port,
|
|||||||
#else
|
#else
|
||||||
#define SPICE_NEEDS_SET_MM_TIME 0
|
#define SPICE_NEEDS_SET_MM_TIME 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if SPICE_SERVER_VERSION >= 0x000c02
|
|
||||||
void qemu_spice_register_ports(void);
|
void qemu_spice_register_ports(void);
|
||||||
#else
|
|
||||||
static inline Chardev *qemu_chr_open_spice_port(const char *name)
|
|
||||||
{ return NULL; }
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#else /* CONFIG_SPICE */
|
#else /* CONFIG_SPICE */
|
||||||
|
|
||||||
|
@ -745,13 +745,7 @@ void qemu_spice_init(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (qemu_opt_get_bool(opts, "disable-agent-file-xfer", 0)) {
|
if (qemu_opt_get_bool(opts, "disable-agent-file-xfer", 0)) {
|
||||||
#if SPICE_SERVER_VERSION >= 0x000c04
|
|
||||||
spice_server_set_agent_file_xfer(spice_server, false);
|
spice_server_set_agent_file_xfer(spice_server, false);
|
||||||
#else
|
|
||||||
error_report("this qemu build does not support the "
|
|
||||||
"\"disable-agent-file-xfer\" option");
|
|
||||||
exit(1);
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
compression = SPICE_IMAGE_COMPRESS_AUTO_GLZ;
|
compression = SPICE_IMAGE_COMPRESS_AUTO_GLZ;
|
||||||
@ -817,9 +811,7 @@ void qemu_spice_init(void)
|
|||||||
g_free(x509_cert_file);
|
g_free(x509_cert_file);
|
||||||
g_free(x509_cacert_file);
|
g_free(x509_cacert_file);
|
||||||
|
|
||||||
#if SPICE_SERVER_VERSION >= 0x000c02
|
|
||||||
qemu_spice_register_ports();
|
qemu_spice_register_ports();
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef HAVE_SPICE_GL
|
#ifdef HAVE_SPICE_GL
|
||||||
if (qemu_opt_get_bool(opts, "gl", 0)) {
|
if (qemu_opt_get_bool(opts, "gl", 0)) {
|
||||||
|
Loading…
Reference in New Issue
Block a user