[spice-vdagent/el5] Initial EPEL5 spice-vdagent package
Hans de Goede
jwrdegoede at fedoraproject.org
Tue Jan 10 14:01:04 UTC 2012
commit 204875dc3e501b1ab41b7d300d29dbb310417f53
Author: Hans de Goede <hdegoede at redhat.com>
Date: Tue Jan 10 15:02:12 2012 +0100
Initial EPEL5 spice-vdagent package
spice-vdagent-0.8.1-no-spice-protocol.patch | 376 +++++++++++++++++++++++++++
spice-vdagent.spec | 3 +
2 files changed, 379 insertions(+), 0 deletions(-)
---
diff --git a/spice-vdagent-0.8.1-no-spice-protocol.patch b/spice-vdagent-0.8.1-no-spice-protocol.patch
new file mode 100644
index 0000000..aa132be
--- /dev/null
+++ b/spice-vdagent-0.8.1-no-spice-protocol.patch
@@ -0,0 +1,376 @@
+diff -up spice-vdagent-0.8.1/configure.ac~ spice-vdagent-0.8.1/configure.ac
+--- spice-vdagent-0.8.1/configure.ac~ 2012-01-10 14:54:26.000000000 +0100
++++ spice-vdagent-0.8.1/configure.ac 2012-01-10 14:54:50.956370655 +0100
+@@ -31,7 +31,6 @@ AC_ARG_ENABLE([static-uinput],
+
+ PKG_PROG_PKG_CONFIG
+ PKG_CHECK_MODULES(X, [xfixes xrandr xinerama x11])
+-PKG_CHECK_MODULES(SPICE, [spice-protocol >= 0.8.0])
+
+ if test x"$enable_console_kit" = "xyes" ; then
+ PKG_CHECK_MODULES(DBUS, [dbus-1])
+diff -up spice-vdagent-0.8.1/src/spice/end-packed.h~ spice-vdagent-0.8.1/src/spice/end-packed.h
+--- spice-vdagent-0.8.1/src/spice/end-packed.h~ 2012-01-10 14:59:11.614367163 +0100
++++ spice-vdagent-0.8.1/src/spice/end-packed.h 2012-01-10 14:56:12.381369564 +0100
+@@ -0,0 +1,38 @@
++/* -*- Mode: C; tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- */
++/*
++ Copyright (C) 2009 Red Hat, Inc.
++
++ Redistribution and use in source and binary forms, with or without
++ modification, are permitted provided that the following conditions are
++ met:
++
++ * Redistributions of source code must retain the above copyright
++ notice, this list of conditions and the following disclaimer.
++ * Redistributions in binary form must reproduce the above copyright
++ notice, this list of conditions and the following disclaimer in
++ the documentation and/or other materials provided with the
++ distribution.
++ * Neither the name of the copyright holder nor the names of its
++ contributors may be used to endorse or promote products derived
++ from this software without specific prior written permission.
++
++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS "AS
++ IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
++ TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
++ PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
++ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
++*/
++
++/* See start-packed.h for details */
++
++#undef SPICE_ATTR_PACKED
++
++#if defined(__MINGW32__) || !defined(__GNUC__)
++#pragma pack(pop)
++#endif
+diff -up spice-vdagent-0.8.1/src/spice/start-packed.h~ spice-vdagent-0.8.1/src/spice/start-packed.h
+--- spice-vdagent-0.8.1/src/spice/start-packed.h~ 2012-01-10 14:59:11.615367163 +0100
++++ spice-vdagent-0.8.1/src/spice/start-packed.h 2012-01-10 14:56:12.381369564 +0100
+@@ -0,0 +1,64 @@
++/* -*- Mode: C; tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- */
++/*
++ Copyright (C) 2009 Red Hat, Inc.
++
++ Redistribution and use in source and binary forms, with or without
++ modification, are permitted provided that the following conditions are
++ met:
++
++ * Redistributions of source code must retain the above copyright
++ notice, this list of conditions and the following disclaimer.
++ * Redistributions in binary form must reproduce the above copyright
++ notice, this list of conditions and the following disclaimer in
++ the documentation and/or other materials provided with the
++ distribution.
++ * Neither the name of the copyright holder nor the names of its
++ contributors may be used to endorse or promote products derived
++ from this software without specific prior written permission.
++
++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS "AS
++ IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
++ TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
++ PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
++ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
++*/
++
++/* Ideally this should all have been macros in a common headers, but
++ * its not possible to put pragmas into header files, so we have
++ * to use include magic.
++ *
++ * Use it like this:
++ *
++ * #include <spice/start-packed.h>
++ *
++ * typedef struct SPICE_ATTR_PACKED {
++ * ...
++ * } Type;
++ *
++ * #include <spice/end-packed.h>
++ *
++ */
++
++#ifdef __GNUC__
++
++#define SPICE_ATTR_PACKED __attribute__ ((__packed__))
++
++#ifdef __MINGW32__
++#pragma pack(push,1)
++#endif
++
++#else
++
++#pragma pack(push)
++#pragma pack(1)
++#define SPICE_ATTR_PACKED
++#pragma warning(disable:4200)
++#pragma warning(disable:4103)
++
++#endif
+diff -up spice-vdagent-0.8.1/src/spice/types.h~ spice-vdagent-0.8.1/src/spice/types.h
+--- spice-vdagent-0.8.1/src/spice/types.h~ 2012-01-10 14:59:11.616367163 +0100
++++ spice-vdagent-0.8.1/src/spice/types.h 2012-01-10 14:56:19.581369467 +0100
+@@ -0,0 +1,41 @@
++/* -*- Mode: C; tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- */
++/*
++ Copyright (C) 2009 Red Hat, Inc.
++
++ Redistribution and use in source and binary forms, with or without
++ modification, are permitted provided that the following conditions are
++ met:
++
++ * Redistributions of source code must retain the above copyright
++ notice, this list of conditions and the following disclaimer.
++ * Redistributions in binary form must reproduce the above copyright
++ notice, this list of conditions and the following disclaimer in
++ the documentation and/or other materials provided with the
++ distribution.
++ * Neither the name of the copyright holder nor the names of its
++ contributors may be used to endorse or promote products derived
++ from this software without specific prior written permission.
++
++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS "AS
++ IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
++ TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
++ PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
++ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
++*/
++
++#ifndef _H_SPICE_TYPES
++#define _H_SPICE_TYPES
++
++/* We always want the standard int types
++ * If they are not in stdint.h on your system,
++ * include the right one here. */
++#include <stdint.h>
++#include <limits.h>
++
++#endif /* _H_SPICE_TYPES */
+diff -up spice-vdagent-0.8.1/src/spice/vd_agent.h~ spice-vdagent-0.8.1/src/spice/vd_agent.h
+--- spice-vdagent-0.8.1/src/spice/vd_agent.h~ 2012-01-10 14:59:11.617367163 +0100
++++ spice-vdagent-0.8.1/src/spice/vd_agent.h 2012-01-10 14:56:01.229369714 +0100
+@@ -0,0 +1,206 @@
++/*
++ Copyright (C) 2009 Red Hat, Inc.
++
++ Redistribution and use in source and binary forms, with or without
++ modification, are permitted provided that the following conditions are
++ met:
++
++ * Redistributions of source code must retain the above copyright
++ notice, this list of conditions and the following disclaimer.
++ * Redistributions in binary form must reproduce the above copyright
++ notice, this list of conditions and the following disclaimer in
++ the documentation and/or other materials provided with the
++ distribution.
++ * Neither the name of the copyright holder nor the names of its
++ contributors may be used to endorse or promote products derived
++ from this software without specific prior written permission.
++
++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS "AS
++ IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
++ TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
++ PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
++ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
++*/
++
++#ifndef _H_VD_AGENT
++#define _H_VD_AGENT
++
++#include <spice/types.h>
++
++#include <spice/start-packed.h>
++
++enum {
++ VDP_CLIENT_PORT = 1,
++ VDP_SERVER_PORT,
++ VDP_END_PORT
++};
++
++typedef struct SPICE_ATTR_PACKED VDIChunkHeader {
++ uint32_t port;
++ uint32_t size;
++} VDIChunkHeader;
++
++typedef struct SPICE_ATTR_PACKED VDAgentMessage {
++ uint32_t protocol;
++ uint32_t type;
++ uint64_t opaque;
++ uint32_t size;
++ uint8_t data[0];
++} VDAgentMessage;
++
++#define VD_AGENT_PROTOCOL 1
++#define VD_AGENT_MAX_DATA_SIZE 2048
++#define VD_AGENT_CLIPBOARD_MAX_SIZE_DEFAULT 1024
++#define VD_AGENT_CLIPBOARD_MAX_SIZE_ENV "SPICE_CLIPBOARD_MAX_SIZE"
++
++enum {
++ VD_AGENT_MOUSE_STATE = 1,
++ VD_AGENT_MONITORS_CONFIG,
++ VD_AGENT_REPLY,
++ VD_AGENT_CLIPBOARD,
++ VD_AGENT_DISPLAY_CONFIG,
++ VD_AGENT_ANNOUNCE_CAPABILITIES,
++ VD_AGENT_CLIPBOARD_GRAB,
++ VD_AGENT_CLIPBOARD_REQUEST,
++ VD_AGENT_CLIPBOARD_RELEASE,
++ VD_AGENT_END_MESSAGE,
++};
++
++typedef struct SPICE_ATTR_PACKED VDAgentMonConfig {
++ uint32_t height;
++ uint32_t width;
++ uint32_t depth;
++ int32_t x;
++ int32_t y;
++} VDAgentMonConfig;
++
++enum {
++ VD_AGENT_CONFIG_MONITORS_FLAG_USE_POS = (1 << 0),
++};
++
++typedef struct SPICE_ATTR_PACKED VDAgentMonitorsConfig {
++ uint32_t num_of_monitors;
++ uint32_t flags;
++ VDAgentMonConfig monitors[0];
++} VDAgentMonitorsConfig;
++
++enum {
++ VD_AGENT_DISPLAY_CONFIG_FLAG_DISABLE_WALLPAPER = (1 << 0),
++ VD_AGENT_DISPLAY_CONFIG_FLAG_DISABLE_FONT_SMOOTH = (1 << 1),
++ VD_AGENT_DISPLAY_CONFIG_FLAG_DISABLE_ANIMATION = (1 << 2),
++ VD_AGENT_DISPLAY_CONFIG_FLAG_SET_COLOR_DEPTH = (1 << 3),
++};
++
++typedef struct SPICE_ATTR_PACKED VDAgentDisplayConfig {
++ uint32_t flags;
++ uint32_t depth;
++} VDAgentDisplayConfig;
++
++#define VD_AGENT_LBUTTON_MASK (1 << 1)
++#define VD_AGENT_MBUTTON_MASK (1 << 2)
++#define VD_AGENT_RBUTTON_MASK (1 << 3)
++#define VD_AGENT_UBUTTON_MASK (1 << 4)
++#define VD_AGENT_DBUTTON_MASK (1 << 5)
++
++typedef struct SPICE_ATTR_PACKED VDAgentMouseState {
++ uint32_t x;
++ uint32_t y;
++ uint32_t buttons;
++ uint8_t display_id;
++} VDAgentMouseState;
++
++typedef struct SPICE_ATTR_PACKED VDAgentReply {
++ uint32_t type;
++ uint32_t error;
++} VDAgentReply;
++
++enum {
++ VD_AGENT_SUCCESS = 1,
++ VD_AGENT_ERROR,
++};
++
++typedef struct SPICE_ATTR_PACKED VDAgentClipboard {
++#if 0 /* VD_AGENT_CAP_CLIPBOARD_SELECTION */
++ uint8_t selection;
++ uint8_t __reserved[sizeof(uint32_t) - 1 * sizeof(uint8_t)];
++#endif
++ uint32_t type;
++ uint8_t data[0];
++} VDAgentClipboard;
++
++enum {
++ VD_AGENT_CLIPBOARD_NONE = 0,
++ VD_AGENT_CLIPBOARD_UTF8_TEXT,
++ VD_AGENT_CLIPBOARD_IMAGE_PNG, /* All clients with image support should support this one */
++ VD_AGENT_CLIPBOARD_IMAGE_BMP, /* optional */
++ VD_AGENT_CLIPBOARD_IMAGE_TIFF, /* optional */
++ VD_AGENT_CLIPBOARD_IMAGE_JPG, /* optional */
++};
++
++typedef struct SPICE_ATTR_PACKED VDAgentClipboardGrab {
++#if 0 /* VD_AGENT_CAP_CLIPBOARD_SELECTION */
++ uint8_t selection;
++ uint8_t __reserved[sizeof(uint32_t) - 1 * sizeof(uint8_t)];
++#endif
++ uint32_t types[0];
++} VDAgentClipboardGrab;
++
++typedef struct SPICE_ATTR_PACKED VDAgentClipboardRequest {
++#if 0 /* VD_AGENT_CAP_CLIPBOARD_SELECTION */
++ uint8_t selection;
++ uint8_t __reserved[sizeof(uint32_t) - 1 * sizeof(uint8_t)];
++#endif
++ uint32_t type;
++} VDAgentClipboardRequest;
++
++typedef struct SPICE_ATTR_PACKED VDAgentClipboardRelease {
++#if 0 /* VD_AGENT_CAP_CLIPBOARD_SELECTION */
++ uint8_t selection;
++ uint8_t __reserved[sizeof(uint32_t) - 1 * sizeof(uint8_t)];
++#endif
++} VDAgentClipboardRelease;
++
++enum {
++ VD_AGENT_CAP_MOUSE_STATE = 0,
++ VD_AGENT_CAP_MONITORS_CONFIG,
++ VD_AGENT_CAP_REPLY,
++ VD_AGENT_CAP_CLIPBOARD,
++ VD_AGENT_CAP_DISPLAY_CONFIG,
++ VD_AGENT_CAP_CLIPBOARD_BY_DEMAND,
++ VD_AGENT_CAP_CLIPBOARD_SELECTION,
++ VD_AGENT_END_CAP,
++};
++
++enum {
++ VD_AGENT_CLIPBOARD_SELECTION_CLIPBOARD = 0,
++ VD_AGENT_CLIPBOARD_SELECTION_PRIMARY,
++ VD_AGENT_CLIPBOARD_SELECTION_SECONDARY,
++};
++
++typedef struct SPICE_ATTR_PACKED VDAgentAnnounceCapabilities {
++ uint32_t request;
++ uint32_t caps[0];
++} VDAgentAnnounceCapabilities;
++
++#define VD_AGENT_CAPS_SIZE_FROM_MSG_SIZE(msg_size) \
++ (((msg_size) - sizeof(VDAgentAnnounceCapabilities)) / sizeof(uint32_t))
++
++#define VD_AGENT_CAPS_SIZE ((VD_AGENT_END_CAP + 31) / 32)
++
++#define VD_AGENT_CAPS_BYTES (((VD_AGENT_END_CAP + 31) / 8) & ~3)
++
++#define VD_AGENT_HAS_CAPABILITY(caps, caps_size, index) \
++ ((index) < (caps_size * 32) && ((caps)[(index) / 32] & (1 << ((index) % 32))))
++
++#define VD_AGENT_SET_CAPABILITY(caps, index) \
++ { (caps)[(index) / 32] |= (1 << ((index) % 32)); }
++
++#include <spice/end-packed.h>
++
++#endif /* _H_VD_AGENT */
diff --git a/spice-vdagent.spec b/spice-vdagent.spec
index 50174f3..a88c1e0 100644
--- a/spice-vdagent.spec
+++ b/spice-vdagent.spec
@@ -21,6 +21,8 @@ Patch10: 0010-Add-a-enable-static-uinput-option.patch
Patch11: 0011-vdagentd-uinput-Correct-interpretation-of-coordinate.patch
Patch12: 0012-vdagentd-Close-the-virtio-port-when-the-active-vdage.patch
Patch13: 0013-Add-a-RHEL-5-README-and-xorg.conf-example-file.patch
+# HACK: there is no spice-protocol in the el5 build repository
+Patch14: spice-vdagent-0.8.1-no-spice-protocol.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: spice-protocol libpciaccess-devel dbus-devel
BuildRequires: libXrandr-devel libXinerama-devel libXfixes-devel libtool
@@ -60,6 +62,7 @@ After installation please see README.RHEL-5 for some RHEL-5 specific notes!
%patch11 -p1
%patch12 -p1
%patch13 -p1
+%patch14 -p1
autoreconf -f -i
More information about the scm-commits
mailing list