From 5be7fc906a994eadd305b119101c76a35beacd32 Mon Sep 17 00:00:00 2001 From: Alon Levy Date: Oct 14 2013 13:20:37 +0000 Subject: New upstream release 0.15.0 Adds Xspice support plus a bunch of small fixes. --- diff --git a/.gitignore b/.gitignore index 71160c6..d399c80 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ /spice-vdagent-0.12.0.tar.bz2 /spice-vdagent-0.12.1.tar.bz2 /spice-vdagent-0.14.0.tar.bz2 +/spice-vdagent-0.15.0.tar.bz2 diff --git a/0001-vdagent-d-Add-printing-of-version-to-h-output.patch b/0001-vdagent-d-Add-printing-of-version-to-h-output.patch deleted file mode 100644 index 211c0fc..0000000 --- a/0001-vdagent-d-Add-printing-of-version-to-h-output.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 256e01c8c7b0c386525a0fac71537bb7bb05d271 Mon Sep 17 00:00:00 2001 -From: Hans de Goede -Date: Thu, 6 Jun 2013 17:00:22 +0200 -Subject: [linux-vdagent PATCH 1/3] vdagent[d]: Add printing of version to -h - output - -Signed-off-by: Hans de Goede ---- - src/vdagent.c | 6 +++--- - src/vdagentd.c | 4 ++-- - 2 files changed, 5 insertions(+), 5 deletions(-) - -diff --git a/src/vdagent.c b/src/vdagent.c -index 7e1b474..9e238d3 100644 ---- a/src/vdagent.c -+++ b/src/vdagent.c -@@ -132,15 +132,15 @@ static void usage(FILE *fp) - { - fprintf(fp, - "Usage: spice-vdagent [OPTIONS]\n\n" -- "Spice guest agent X11 session agent.\n\n" -+ "Spice guest agent X11 session agent, version %s.\n\n" - "Options:\n" - " -h print this text\n" - " -d log debug messages\n" - " -s set virtio serial port\n" - " -x don't daemonize\n" - " -f file xfer save dir\n" -- " -o <0|1> open dir on file xfer completion\n" -- ); -+ " -o <0|1> open dir on file xfer completion\n", -+ VERSION); - } - - static void quit_handler(int sig) -diff --git a/src/vdagentd.c b/src/vdagentd.c -index 888a80a..da25329 100644 ---- a/src/vdagentd.c -+++ b/src/vdagentd.c -@@ -718,7 +718,7 @@ static void usage(FILE *fp) - { - fprintf(fp, - "Usage: spice-vdagentd [OPTIONS]\n\n" -- "Spice guest agent daemon.\n\n" -+ "Spice guest agent daemon, version %s.\n\n" - "Options:\n" - " -h print this text\n" - " -d log debug messages (use twice for extra info)\n" -@@ -731,7 +731,7 @@ static void usage(FILE *fp) - #ifdef HAVE_LIBSYSTEMD_LOGIN - " -X Disable systemd-logind integration\n" - #endif -- ,portdev, uinput_device); -+ ,VERSION, portdev, uinput_device); - } - - void daemonize(void) --- -1.8.3.1 - diff --git a/0002-vdagentd-Advertise-VD_AGENT_CAP_GUEST_LINEEND_LF.patch b/0002-vdagentd-Advertise-VD_AGENT_CAP_GUEST_LINEEND_LF.patch deleted file mode 100644 index da04db7..0000000 --- a/0002-vdagentd-Advertise-VD_AGENT_CAP_GUEST_LINEEND_LF.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 43cde1cbedc56138a857100f634e7cb644477e7e Mon Sep 17 00:00:00 2001 -From: Hans de Goede -Date: Mon, 24 Jun 2013 10:34:27 +0200 -Subject: [linux-vdagent PATCH 2/3] vdagentd: Advertise - VD_AGENT_CAP_GUEST_LINEEND_LF - -Signed-off-by: Hans de Goede ---- - src/vdagentd.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/vdagentd.c b/src/vdagentd.c -index da25329..f4cea44 100644 ---- a/src/vdagentd.c -+++ b/src/vdagentd.c -@@ -95,6 +95,7 @@ static void send_capabilities(struct vdagent_virtio_port *vport, - VD_AGENT_SET_CAPABILITY(caps->caps, VD_AGENT_CAP_CLIPBOARD_BY_DEMAND); - VD_AGENT_SET_CAPABILITY(caps->caps, VD_AGENT_CAP_CLIPBOARD_SELECTION); - VD_AGENT_SET_CAPABILITY(caps->caps, VD_AGENT_CAP_SPARSE_MONITORS_CONFIG); -+ VD_AGENT_SET_CAPABILITY(caps->caps, VD_AGENT_CAP_GUEST_LINEEND_LF); - - vdagent_virtio_port_write(vport, VDP_CLIENT_PORT, - VD_AGENT_ANNOUNCE_CAPABILITIES, 0, --- -1.8.3.1 - diff --git a/0003-buildsys-Build-vdagentd-as-pie-relro-when-possible.patch b/0003-buildsys-Build-vdagentd-as-pie-relro-when-possible.patch deleted file mode 100644 index 9c38452..0000000 --- a/0003-buildsys-Build-vdagentd-as-pie-relro-when-possible.patch +++ /dev/null @@ -1,82 +0,0 @@ -From 71b8e75c6f1bc6c482d28cf29b82643d6b38cf34 Mon Sep 17 00:00:00 2001 -From: Hans de Goede -Date: Wed, 3 Jul 2013 11:16:20 +0200 -Subject: [linux-vdagent PATCH 3/3] buildsys: Build vdagentd as pie + relro - when possible - -Signed-off-by: Hans de Goede ---- - Makefile.am | 6 ++++-- - configure.ac | 32 ++++++++++++++++++++++++++++++++ - 2 files changed, 36 insertions(+), 2 deletions(-) - -diff --git a/Makefile.am b/Makefile.am -index fa2803a..74cc313 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -8,8 +8,10 @@ src_spice_vdagent_CFLAGS = $(X_CFLAGS) $(SPICE_CFLAGS) $(GLIB2_CFLAGS) - src_spice_vdagent_LDADD = $(X_LIBS) $(SPICE_LIBS) $(GLIB2_LIBS) - src_spice_vdagent_SOURCES = src/vdagent.c src/vdagent-x11.c src/vdagent-x11-randr.c src/vdagent-file-xfers.c src/udscs.c - --src_spice_vdagentd_CFLAGS = $(DBUS_CFLAGS) $(LIBSYSTEMD_LOGIN_CFLAGS) $(PCIACCESS_CFLAGS) $(SPICE_CFLAGS) $(GLIB2_CFLAGS) --src_spice_vdagentd_LDADD = $(DBUS_LIBS) $(LIBSYSTEMD_LOGIN_LIBS) $(PCIACCESS_LIBS) $(SPICE_LIBS) $(GLIB2_LIBS) -+src_spice_vdagentd_CFLAGS = $(DBUS_CFLAGS) $(LIBSYSTEMD_LOGIN_CFLAGS) \ -+ $(PCIACCESS_CFLAGS) $(SPICE_CFLAGS) $(GLIB2_CFLAGS) $(PIE_CFLAGS) -+src_spice_vdagentd_LDADD = $(DBUS_LIBS) $(LIBSYSTEMD_LOGIN_LIBS) \ -+ $(PCIACCESS_LIBS) $(SPICE_LIBS) $(GLIB2_LIBS) $(PIE_LDFLAGS) - src_spice_vdagentd_SOURCES = src/vdagentd.c \ - src/vdagentd-uinput.c \ - src/vdagentd-xorg-conf.c \ -diff --git a/configure.ac b/configure.ac -index 91a24ff..a1ce6c0 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -141,6 +141,37 @@ if test "$ac_test_CFLAGS" != set; then - done - fi - -+AC_ARG_ENABLE([pie], -+ AS_HELP_STRING([--enable-pie=@<:@auto/yes/no@:>@], -+ [Enable position-independent-executable support (for spice-vdagentd)@<:@default=auto@:>@]), -+ [], -+ [enable_pie="auto"]) -+ -+if test "x$enable_pie" != "xno"; then -+ save_CFLAGS="$CFLAGS" -+ save_LDFLAGS="$LDFLAGS" -+ CFLAGS="$CFLAGS -fPIE" -+ LDFLAGS="$LDFLAGS -pie -Wl,-z,relro -Wl,-z,now" -+ AC_MSG_CHECKING([for PIE support]) -+ AC_LINK_IFELSE([AC_LANG_SOURCE([int main () { return 0; }])], -+ [have_pie=yes], -+ [have_pie=no]) -+ AC_MSG_RESULT([$have_pie]) -+ if test "x$have_pie" = "xno" && test "x$enable_pie" = "xyes"; then -+ AC_MSG_ERROR([pie support explicitly requested, but your toolchain does not support it]) -+ fi -+ if test "x$have_pie" = "xyes"; then -+ PIE_CFLAGS="-fPIE" -+ PIE_LDFLAGS="-pie -Wl,-z,relro -Wl,-z,now" -+ AC_SUBST(PIE_CFLAGS) -+ AC_SUBST(PIE_LDFLAGS) -+ fi -+ CFLAGS="$save_CFLAGS" -+ LDFLAGS="$save_LDFLAGS" -+else -+ have_pie=no -+fi -+ - AC_CONFIG_FILES([ - Makefile - data/spice-vdagent.1 -@@ -160,6 +191,7 @@ AC_MSG_NOTICE([ - session-info: ${with_session_info} - pciaccess: ${enable_pciaccess} - static uinput: ${enable_static_uinput} -+ vdagentd pie + relro: ${have_pie} - - install RH initscript: ${init_redhat} - install systemd service: ${init_systemd} --- -1.8.3.1 - diff --git a/0004-Not-having-the-virtio-channel-is-not-an-error-instea.patch b/0004-Not-having-the-virtio-channel-is-not-an-error-instea.patch deleted file mode 100644 index c72822d..0000000 --- a/0004-Not-having-the-virtio-channel-is-not-an-error-instea.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 99a2628b0ff04e0aadd130e45aa2598c4df64690 Mon Sep 17 00:00:00 2001 -From: Colin Walters -Date: Tue, 11 Jun 2013 15:21:13 -0400 -Subject: [linux-vdagent PATCH 04/12] Not having the virtio channel is not an - error; instead silently do nothing - -Fedora for example bundles the SPICE agent by default; however, we -don't want to spew an error when running non-virtualized, or with -plain VNC. - -Let's just silently exit; while we could change LOG_ERR -> LOG_INFO -or something, that's still pointless noise in most people's syslog. - -Someone who was debugging a misconfigured SPICE setup would pretty -quickly notice that they were missing the virtio port. - -(This patch is part of a larger initiative to reduce error - spew on default startup in common deployment scenarios such as - KVM+VNC.) - -Signed-off-by: Hans de Goede ---- - src/vdagent.c | 4 +--- - 1 file changed, 1 insertion(+), 3 deletions(-) - -diff --git a/src/vdagent.c b/src/vdagent.c -index 9e238d3..10ebf6e 100644 ---- a/src/vdagent.c -+++ b/src/vdagent.c -@@ -226,9 +226,7 @@ int main(int argc, char *argv[]) - LOG_USER); - - if (file_test(portdev) != 0) { -- syslog(LOG_ERR, "Missing virtio device '%s': %s", -- portdev, strerror(errno)); -- return 1; -+ return 0; - } - - if (do_daemonize) --- -1.8.3.1 - diff --git a/0005-vdagent-x11-Release-clipboard-on-client-disconnect-i.patch b/0005-vdagent-x11-Release-clipboard-on-client-disconnect-i.patch deleted file mode 100644 index 8ef6b7b..0000000 --- a/0005-vdagent-x11-Release-clipboard-on-client-disconnect-i.patch +++ /dev/null @@ -1,64 +0,0 @@ -From ad6ea7594a11d8a35be84a8ae2e8403ea3344a3b Mon Sep 17 00:00:00 2001 -From: Hans de Goede -Date: Mon, 9 Sep 2013 15:50:39 +0200 -Subject: [linux-vdagent PATCH 5/5] vdagent-x11: Release clipboard on client - disconnect if owned by client - -https://bugzilla.redhat.com/show_bug.cgi?id=1003977 - -Signed-off-by: Hans de Goede ---- - src/vdagent-x11.c | 10 ++++++++++ - src/vdagent-x11.h | 2 ++ - src/vdagent.c | 1 + - 3 files changed, 13 insertions(+) - -diff --git a/src/vdagent-x11.c b/src/vdagent-x11.c -index 4588b3d..5ce6000 100644 ---- a/src/vdagent-x11.c -+++ b/src/vdagent-x11.c -@@ -1305,6 +1305,16 @@ void vdagent_x11_clipboard_release(struct vdagent_x11 *x11, uint8_t selection) - vdagent_x11_do_read(x11); - } - -+void vdagent_x11_client_disconnected(struct vdagent_x11 *x11) -+{ -+ int sel; -+ -+ for (sel = 0; sel < VD_AGENT_CLIPBOARD_SELECTION_SECONDARY; sel++) { -+ if (x11->clipboard_owner[sel] == owner_client) -+ vdagent_x11_clipboard_release(x11, sel); -+ } -+} -+ - /* Function used to determine the default location to save file-xfers, - xdg desktop dir or xdg download dir. We error on the save side and use a - whitelist approach, so any unknown desktops will end up with saving -diff --git a/src/vdagent-x11.h b/src/vdagent-x11.h -index a2a2485..d64a42a 100644 ---- a/src/vdagent-x11.h -+++ b/src/vdagent-x11.h -@@ -46,6 +46,8 @@ void vdagent_x11_clipboard_data(struct vdagent_x11 *x11, uint8_t selection, - uint32_t type, uint8_t *data, uint32_t size); - void vdagent_x11_clipboard_release(struct vdagent_x11 *x11, uint8_t selection); - -+void vdagent_x11_client_disconnected(struct vdagent_x11 *x11); -+ - int vdagent_x11_has_icons_on_desktop(struct vdagent_x11 *x11); - - #endif -diff --git a/src/vdagent.c b/src/vdagent.c -index f270615..d7f7aba 100644 ---- a/src/vdagent.c -+++ b/src/vdagent.c -@@ -104,6 +104,7 @@ void daemon_read_complete(struct udscs_connection **connp, - free(data); - break; - case VDAGENTD_CLIENT_DISCONNECTED: -+ vdagent_x11_client_disconnected(x11); - vdagent_file_xfers_destroy(vdagent_file_xfers); - vdagent_file_xfers = vdagent_file_xfers_create(client, fx_dir, - fx_open_dir, debug); --- -1.8.3.1 - diff --git a/sources b/sources index 54c8e9c..f2a275f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -da6575e1de5562ef853443eaba5bd1dc spice-vdagent-0.14.0.tar.bz2 +2919ac7a4195b0b4b2588fae90a9241c spice-vdagent-0.15.0.tar.bz2 diff --git a/spice-vdagent.spec b/spice-vdagent.spec index b30a7bc..d04d110 100644 --- a/spice-vdagent.spec +++ b/spice-vdagent.spec @@ -1,17 +1,12 @@ Name: spice-vdagent -Version: 0.14.0 -Release: 5%{?dist} +Version: 0.15.0 +Release: 1%{?dist} Summary: Agent for Spice guests Group: Applications/System License: GPLv3+ URL: http://spice-space.org/ Source0: http://spice-space.org/download/releases/%{name}-%{version}.tar.bz2 # Fixes from upstream git -Patch1: 0001-vdagent-d-Add-printing-of-version-to-h-output.patch -Patch2: 0002-vdagentd-Advertise-VD_AGENT_CAP_GUEST_LINEEND_LF.patch -Patch3: 0003-buildsys-Build-vdagentd-as-pie-relro-when-possible.patch -Patch4: 0004-Not-having-the-virtio-channel-is-not-an-error-instea.patch -Patch5: 0005-vdagent-x11-Release-clipboard-on-client-disconnect-i.patch BuildRequires: systemd-devel glib2-devel spice-protocol >= 0.12.6 BuildRequires: libpciaccess-devel libXrandr-devel libXinerama-devel BuildRequires: libXfixes-devel systemd-units desktop-file-utils libtool @@ -34,11 +29,6 @@ Features: %prep %setup -q -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 -%patch4 -p1 -%patch5 -p1 autoreconf -fi @@ -49,8 +39,6 @@ make %{?_smp_mflags} V=2 %install make install DESTDIR=$RPM_BUILD_ROOT V=2 -# rhbz#963201 -rm $RPM_BUILD_ROOT%{_sysconfdir}/modules-load.d/spice-vdagentd.conf %post @@ -81,6 +69,9 @@ rm $RPM_BUILD_ROOT%{_sysconfdir}/modules-load.d/spice-vdagentd.conf %changelog +* Mon Oct 14 2013 Alon Levy - 0.15.0-1 +- New upstream release 0.15.0 + * Tue Sep 10 2013 Hans de Goede - 0.14.0-5 - Silence session agent error logging when not running in a vm (rhbz#999804) - Release guest clipboard ownership on client disconnect (rhbz#1003977)