From 2c7d78a4a2d54c034dc0c2ae98e1e44293ab3b20 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jan=20R=C4=99korajski?= Date: Sat, 24 Sep 2011 19:01:47 +0000 Subject: [PATCH] - rel 4 - fix build with xserver 1.11 - fix VeNCrypt authentication Changed files: tigervnc-xorg111.patch -> 1.2 tigervnc.spec -> 1.46 --- tigervnc-xorg111.patch | 177 +++++++++++++++++++++++++++++++++++++---- tigervnc.spec | 11 ++- 2 files changed, 168 insertions(+), 20 deletions(-) diff --git a/tigervnc-xorg111.patch b/tigervnc-xorg111.patch index 2588ab7..4e1b727 100644 --- a/tigervnc-xorg111.patch +++ b/tigervnc-xorg111.patch @@ -1,16 +1,131 @@ -diff -up tigervnc-1.0.90/unix/xserver/hw/vnc/Input.cc.xorg111 tigervnc-1.0.90/unix/xserver/hw/vnc/Input.cc ---- tigervnc-1.0.90/unix/xserver/hw/vnc/Input.cc.xorg111 2011-05-12 10:42:52.813229993 +0200 -+++ tigervnc-1.0.90/unix/xserver/hw/vnc/Input.cc 2011-05-12 10:52:41.036211939 +0200 -@@ -305,7 +305,7 @@ static inline void pressKey(DeviceIntPtr +diff -up tigervnc-1.1.0/unix/xserver/hw/vnc/Input.cc.xorg111 tigervnc-1.1.0/unix/xserver/hw/vnc/Input.cc +--- tigervnc-1.1.0/unix/xserver/hw/vnc/Input.cc.xorg111 2011-08-09 23:16:36.000000000 +0200 ++++ tigervnc-1.1.0/unix/xserver/hw/vnc/Input.cc 2011-09-14 13:22:19.540000049 +0200 +@@ -82,10 +82,11 @@ static KeyCode KeysymToKeycode(KeySymsPt + /* Event queue is shared between all devices. */ + #if XORG == 15 + static xEvent *eventq = NULL; +-#else ++#elif XORG < 111 + static EventList *eventq = NULL; + #endif + ++#if XORG < 111 + static void initEventq(void) + { + /* eventq is never free()-ed because it exists during server life. */ +@@ -100,7 +101,9 @@ static void initEventq(void) + #endif + } + } ++#endif /* XORG < 111 */ + ++#if XORG < 111 + static void enqueueEvents(DeviceIntPtr dev, int n) + { + int i; +@@ -122,6 +125,7 @@ static void enqueueEvents(DeviceIntPtr d + ); + } + } ++#endif /* XORG < 111 */ + + InputDevice::InputDevice(rfb::VNCServerST *_server) + : server(_server), oldButtonMask(0) +@@ -141,12 +145,17 @@ InputDevice::InputDevice(rfb::VNCServerS + keyboardProc, TRUE); + RegisterKeyboardDevice(keyboardDev); + #endif ++#if XORG < 111 + initEventq(); ++#endif + } + + void InputDevice::PointerButtonAction(int buttonMask) + { +- int i, n; ++ int i; ++#if XORG < 111 ++ int n; ++#endif + #if XORG >= 110 + ValuatorMask mask; + #endif +@@ -160,13 +169,17 @@ void InputDevice::PointerButtonAction(in + #if XORG < 110 + n = GetPointerEvents(eventq, pointerDev, action, i + 1, + POINTER_RELATIVE, 0, 0, NULL); +-#else ++ enqueueEvents(pointerDev, n); ++#elif XORG < 111 + valuator_mask_set_range(&mask, 0, 0, NULL); + n = GetPointerEvents(eventq, pointerDev, action, i + 1, + POINTER_RELATIVE, &mask); +-#endif + enqueueEvents(pointerDev, n); +- ++#else ++ valuator_mask_set_range(&mask, 0, 0, NULL); ++ QueuePointerEvents(pointerDev, action, i + 1, ++ POINTER_RELATIVE, &mask); ++#endif + } + } + +@@ -175,7 +188,10 @@ void InputDevice::PointerButtonAction(in + + void InputDevice::PointerMove(const rfb::Point &pos) + { +- int n, valuators[2]; ++ int valuators[2]; ++#if XORG < 111 ++ int n; ++#endif + #if XORG >= 110 + ValuatorMask mask; + #endif +@@ -190,12 +206,16 @@ void InputDevice::PointerMove(const rfb: + #if XORG < 110 + n = GetPointerEvents(eventq, pointerDev, MotionNotify, 0, POINTER_ABSOLUTE, 0, + 2, valuators); +-#else ++ enqueueEvents(pointerDev, n); ++#elif XORG < 111 + valuator_mask_set_range(&mask, 0, 2, valuators); + n = GetPointerEvents(eventq, pointerDev, MotionNotify, 0, POINTER_ABSOLUTE, + &mask); +-#endif + enqueueEvents(pointerDev, n); ++#else ++ valuator_mask_set_range(&mask, 0, 2, valuators); ++ QueuePointerEvents(pointerDev, MotionNotify, 0, POINTER_ABSOLUTE, &mask); ++#endif + + cursorPos = pos; + } +@@ -299,14 +319,20 @@ void InputDevice::initInputDevice(void) + static inline void pressKey(DeviceIntPtr dev, int kc, bool down, const char *msg) + { + int action; ++#if XORG < 111 + unsigned int n; ++#endif + + if (msg != NULL) vlog.debug("%s %d %s", msg, kc, down ? "down" : "up"); action = down ? KeyPress : KeyRelease; - n = GetKeyboardEvents(eventq, dev, action, kc); ++#if XORG < 111 + n = GetKeyboardEvents(eventq, dev, action, kc, NULL); enqueueEvents(dev, n); ++#else ++ QueueKeyboardEvents(dev, action, kc, NULL); ++#endif } -@@ -341,8 +341,11 @@ public: + #define IS_PRESSED(keyc, keycode) \ +@@ -341,8 +367,11 @@ public: int state, maxKeysPerMod, keycode; #if XORG >= 17 KeyCode *modmap = NULL; @@ -23,7 +138,7 @@ diff -up tigervnc-1.0.90/unix/xserver/hw/vnc/Input.cc.xorg111 tigervnc-1.0.90/un #else KeyClassPtr keyc = dev->key; state = keyc->state; -@@ -379,8 +382,10 @@ public: +@@ -379,8 +408,10 @@ public: KeyClassPtr keyc; #if XORG >= 17 KeyCode *modmap = NULL; @@ -35,7 +150,7 @@ diff -up tigervnc-1.0.90/unix/xserver/hw/vnc/Input.cc.xorg111 tigervnc-1.0.90/un state = XkbStateFieldFromRec(&keyc->xkbInfo->state); #else keyc = dev->key; -@@ -565,9 +570,7 @@ static inline int isModifier(KeySymsPtr +@@ -565,9 +596,7 @@ static inline int isModifier(KeySymsPtr void InputDevice::keyEvent(rdr::U32 keysym, bool down) { @@ -45,7 +160,7 @@ diff -up tigervnc-1.0.90/unix/xserver/hw/vnc/Input.cc.xorg111 tigervnc-1.0.90/un KeyClassPtr keyc; KeySymsPtr keymap = NULL; KeySym *map = NULL; -@@ -596,7 +599,8 @@ void InputDevice::keyEvent(rdr::U32 keys +@@ -596,7 +625,8 @@ void InputDevice::keyEvent(rdr::U32 keys } #if XORG >= 17 @@ -55,7 +170,7 @@ diff -up tigervnc-1.0.90/unix/xserver/hw/vnc/Input.cc.xorg111 tigervnc-1.0.90/un keymap = XkbGetCoreMap(keyboardDev); if (!keymap) { -@@ -753,7 +757,7 @@ ModeSwitchFound: +@@ -753,7 +783,7 @@ ModeSwitchFound: XkbApplyMappingChange(keyboardDev, keymap, minKeyCode, maxKeyCode - minKeyCode + 1, NULL, serverClient); @@ -64,9 +179,9 @@ diff -up tigervnc-1.0.90/unix/xserver/hw/vnc/Input.cc.xorg111 tigervnc-1.0.90/un #endif /* XORG < 17 */ break; } -diff -up tigervnc-1.0.90/unix/xserver/hw/vnc/xorg-version.h.xorg111 tigervnc-1.0.90/unix/xserver/hw/vnc/xorg-version.h ---- tigervnc-1.0.90/unix/xserver/hw/vnc/xorg-version.h.xorg111 2011-05-12 10:40:34.109227333 +0200 -+++ tigervnc-1.0.90/unix/xserver/hw/vnc/xorg-version.h 2011-05-12 10:41:10.970229530 +0200 +diff -up tigervnc-1.1.0/unix/xserver/hw/vnc/xorg-version.h.xorg111 tigervnc-1.1.0/unix/xserver/hw/vnc/xorg-version.h +--- tigervnc-1.1.0/unix/xserver/hw/vnc/xorg-version.h.xorg111 2011-08-09 23:16:36.000000000 +0200 ++++ tigervnc-1.1.0/unix/xserver/hw/vnc/xorg-version.h 2011-09-12 16:51:36.958000000 +0200 @@ -36,6 +36,8 @@ #define XORG 19 #elif XORG_VERSION_CURRENT < ((1 * 10000000) + (10 * 100000) + (99 * 1000)) @@ -76,10 +191,40 @@ diff -up tigervnc-1.0.90/unix/xserver/hw/vnc/xorg-version.h.xorg111 tigervnc-1.0 #else #error "X.Org newer than 1.10 is not supported" #endif -diff -up tigervnc-1.0.90/unix/xserver/hw/vnc/xvnc.cc.xorg111 tigervnc-1.0.90/unix/xserver/hw/vnc/xvnc.cc ---- tigervnc-1.0.90/unix/xserver/hw/vnc/xvnc.cc.xorg111 2011-05-12 10:54:21.068235787 +0200 -+++ tigervnc-1.0.90/unix/xserver/hw/vnc/xvnc.cc 2011-05-12 10:59:01.867225478 +0200 -@@ -670,8 +670,13 @@ vfbUninstallColormap(ColormapPtr pmap) +diff -up tigervnc-1.1.0/unix/xserver/hw/vnc/xvnc.cc.xorg111 tigervnc-1.1.0/unix/xserver/hw/vnc/xvnc.cc +--- tigervnc-1.1.0/unix/xserver/hw/vnc/xvnc.cc.xorg111 2011-08-09 23:16:36.000000000 +0200 ++++ tigervnc-1.1.0/unix/xserver/hw/vnc/xvnc.cc 2011-09-14 13:49:23.751000543 +0200 +@@ -211,7 +211,11 @@ static void vfbFreeFramebufferMemory(vfb + + extern "C" { + ++#if XORG < 111 + void ddxGiveUp() ++#else ++void ddxGiveUp(enum ExitCode error) ++#endif + { + int i; + +@@ -221,9 +225,17 @@ void ddxGiveUp() + } + + void ++#if XORG < 111 + AbortDDX() ++#else ++AbortDDX(enum ExitCode error) ++#endif + { ++#if XORG < 111 + ddxGiveUp(); ++#else ++ ddxGiveUp(error); ++#endif + } + + #ifdef __DARWIN__ +@@ -668,8 +680,13 @@ vfbUninstallColormap(ColormapPtr pmap) { if (pmap->mid != pmap->pScreen->defColormap) { diff --git a/tigervnc.spec b/tigervnc.spec index e4c8909..c68be81 100644 --- a/tigervnc.spec +++ b/tigervnc.spec @@ -1,13 +1,13 @@ # TODO: # - tigervnc.init -%define xversion 1.10.0 +%define xversion 1.11.1 Summary: A TigerVNC remote display system Summary(pl.UTF-8): System zdalnego dostępu TigerVNC Name: tigervnc Version: 1.1.0 -Release: 3.2 +Release: 4 License: GPL v2 Group: X11/Applications/Networking Source0: http://dl.sourceforge.net/tigervnc/1.1.0/%{name}-%{version}.tar.gz @@ -20,6 +20,7 @@ Patch3: %{name}-viewer-reparent.patch Patch4: %{name}-as-needed.patch Patch5: %{name}-ipv6.patch Patch6: %{name}-xorg111.patch +Patch7: %{name}-rh692048.patch URL: http://www.tigervnc.com/ BuildRequires: ImageMagick BuildRequires: ImageMagick-coder-png @@ -172,6 +173,7 @@ pozwalający na zdalny dostęp do pulpitu. %patch3 -p1 %patch4 -p1 %patch5 -p0 +%patch7 -p1 cp -a %{_usrsrc}/xorg-xserver-server-%{_xserverver}/* unix/xserver cd unix/xserver @@ -214,7 +216,7 @@ cd unix/xserver --disable-xephyr \ --disable-kdrive \ --disable-xfbdev \ - --disable-dri2 \ + --enable-dri2 \ --with-pic \ --disable-static \ --disable-xinerama \ @@ -228,7 +230,8 @@ cd unix/xserver --enable-record \ --disable-xfake \ --enable-secure-rpc \ - --with-xkb-output=/var/lib/xkb + --with-xkb-output=/var/lib/xkb \ + --disable-unit-tests %{__make} cd - -- 2.44.0