]> git.pld-linux.org Git - packages/tigervnc.git/commitdiff
- up to 1.10.1
authorJan Rękorajski <baggins@pld-linux.org>
Sun, 19 Jan 2020 14:48:45 +0000 (15:48 +0100)
committerJan Rękorajski <baggins@pld-linux.org>
Sun, 19 Jan 2020 14:48:45 +0000 (15:48 +0100)
- fixed building with xserver 1.20.7 (missing ddxInputThreadInit)
- added other fixes from fedora

tigervnc-getmaster.patch
tigervnc-manpages.patch [new file with mode: 0644]
tigervnc-passwd-crash-with-malloc-checks.patch [new file with mode: 0644]
tigervnc-shebang.patch [new file with mode: 0644]
tigervnc-support-xorg120.patch [deleted file]
tigervnc.spec
xserver.patch

index 66ce121de7ae3f7df1a6af5a34ebf980e5961da6..6ef99b4d15e0ef72330970fb46ae0911179cbfa8 100644 (file)
@@ -1,8 +1,9 @@
-diff -up tigervnc-1.4.2/unix/xserver/hw/vnc/c.getmaster tigervnc-1.4.2/unix/xserver/hw/vnc/InputXKB.c
---- tigervnc-1.4.2/unix/xserver/hw/vnc/InputXKB.c.getmaster    2015-01-23 23:37:23.000000000 +0000
-+++ tigervnc-1.4.2/unix/xserver/hw/vnc/InputXKB.c      2015-02-13 12:32:54.398502082 +0000
-@@ -210,10 +210,7 @@ void vncPrepareInputDevices(void)
-
+diff --git a/unix/xserver/hw/vnc/InputXKB.c b/unix/xserver/hw/vnc/InputXKB.c
+index f84a6e4..4eac939 100644
+--- a/unix/xserver/hw/vnc/InputXKB.c
++++ b/unix/xserver/hw/vnc/InputXKB.c
+@@ -226,10 +226,7 @@ void vncPrepareInputDevices(void)
  unsigned vncGetKeyboardState(void)
  {
 -      DeviceIntPtr master;
@@ -11,84 +12,75 @@ diff -up tigervnc-1.4.2/unix/xserver/hw/vnc/c.getmaster tigervnc-1.4.2/unix/xser
 -      return XkbStateFieldFromRec(&master->key->xkbInfo->state);
 +      return XkbStateFieldFromRec(&vncKeyboardDev->master->key->xkbInfo->state);
  }
-
  unsigned vncGetLevelThreeMask(void)
-@@ -232,7 +229,7 @@ unsigned InputDevice::vncGetLevelThreeMask(
+@@ -250,7 +247,7 @@ unsigned vncGetLevelThreeMask(void)
                        return 0;
        }
-
 -      xkb = GetMaster(vncKeyboardDev, KEYBOARD_OR_FLOAT)->key->xkbInfo->desc;
 +      xkb = vncKeyboardDev->master->key->xkbInfo->desc;
-
        act = XkbKeyActionPtr(xkb, keycode, state);
        if (act == NULL)
-@@ -257,7 +254,7 @@ KeyCode InputDevice::vncPressShift(void)
+@@ -275,7 +272,7 @@ KeyCode vncPressShift(void)
        if (state & ShiftMask)
                return 0;
-
 -      xkb = GetMaster(vncKeyboardDev, KEYBOARD_OR_FLOAT)->key->xkbInfo->desc;
 +      xkb = vncKeyboardDev->master->key->xkbInfo->desc;
        for (key = xkb->min_key_code; key <= xkb->max_key_code; key++) {
                XkbAction *act;
                unsigned char mask;
-@@ -299,7 +296,7 @@ size_t vncReleaseShift(KeyCode *keys, size_t maxKeys)
-
+@@ -315,7 +312,7 @@ size_t vncReleaseShift(KeyCode *keys, size_t maxKeys)
        count = 0;
-
 -      master = GetMaster(vncKeyboardDev, KEYBOARD_OR_FLOAT);
 +      master = vncKeyboardDev->master;
        xkb = master->key->xkbInfo->desc;
        for (key = xkb->min_key_code; key <= xkb->max_key_code; key++) {
                XkbAction *act;
-@@ -347,7 +344,7 @@ KeyCode InputDevice::vncPressLevelThree(voi
+@@ -371,7 +368,7 @@ KeyCode vncPressLevelThree(void)
                        return 0;
        }
-
 -      xkb = GetMaster(vncKeyboardDev, KEYBOARD_OR_FLOAT)->key->xkbInfo->desc;
 +      xkb = vncKeyboardDev->master->key->xkbInfo->desc;
-
        act = XkbKeyActionPtr(xkb, keycode, state);
        if (act == NULL)
-@@ -386,7 +383,7 @@ size_t vncReleaseLevelThree(KeyCode *keys, size_t maxKeys)
-
+@@ -402,7 +399,7 @@ size_t vncReleaseLevelThree(KeyCode *keys, size_t maxKeys)
        count = 0;
-
 -      master = GetMaster(vncKeyboardDev, KEYBOARD_OR_FLOAT);
 +      master = vncKeyboardDev->master;
        xkb = master->key->xkbInfo->desc;
        for (key = xkb->min_key_code; key <= xkb->max_key_code; key++) {
                XkbAction *act;
-@@ -416,7 +413,7 @@ KeyCode InputDevice::vncKeysymToKeycode(Key
-       if (new_state != NULL)
+@@ -447,7 +444,7 @@ KeyCode vncKeysymToKeycode(KeySym keysym, unsigned state, unsigned *new_state)
                *new_state = state;
-
+       fallback = 0;
 -      xkb = GetMaster(vncKeyboardDev, KEYBOARD_OR_FLOAT)->key->xkbInfo->desc;
 +      xkb = vncKeyboardDev->master->key->xkbInfo->desc;
        for (key = xkb->min_key_code; key <= xkb->max_key_code; key++) {
                unsigned int state_out;
                KeySym dummy;
-@@ -473,7 +470,7 @@ bool InputDevice::vncIsLockModifier(KeyCode
-       XkbDescPtr xkb;
-       XkbAction *act;
-
--      xkb = GetMaster(vncKeyboardDev, KEYBOARD_OR_FLOAT)->key->xkbInfo->desc;
-+      xkb = vncKeyboardDev->master->key->xkbInfo->desc;
-
-       act = XkbKeyActionPtr(xkb, keycode, state);
-       if (act == NULL)
-@@ -524,7 +521,7 @@ int vncIsAffectedByNumLock(KeyCode keycode)
+@@ -551,7 +548,7 @@ int vncIsAffectedByNumLock(KeyCode keycode)
        if (numlock_keycode == 0)
                return 0;
-
 -      xkb = GetMaster(vncKeyboardDev, KEYBOARD_OR_FLOAT)->key->xkbInfo->desc;
 +      xkb = vncKeyboardDev->master->key->xkbInfo->desc;
-
        act = XkbKeyActionPtr(xkb, numlock_keycode, state);
        if (act == NULL)
-@@ -545,7 +542,7 @@ KeyCode InputDevice::vncAddKeysym(KeySym ke
+@@ -585,7 +582,7 @@ KeyCode vncAddKeysym(KeySym keysym, unsigned state)
        KeySym *syms;
        KeySym upper, lower;
-
 -      master = GetMaster(vncKeyboardDev, KEYBOARD_OR_FLOAT);
 +      master = vncKeyboardDev->master;
        xkb = master->key->xkbInfo->desc;
diff --git a/tigervnc-manpages.patch b/tigervnc-manpages.patch
new file mode 100644 (file)
index 0000000..30c9b55
--- /dev/null
@@ -0,0 +1,12 @@
+diff --git a/unix/vncserver b/unix/vncserver
+index 68be032..ac0e993 100755
+--- a/unix/vncserver
++++ b/unix/vncserver
+@@ -678,6 +678,7 @@ sub Usage
+       "                 [-geometry <width>x<height>]\n".
+       "                 [-pixelformat rgbNNN|bgrNNN]\n".
+       "                 [-fp <font-path>]\n".
++      "                 [-cc <visual>]\n".
+       "                 [-fg]\n".
+       "                 [-autokill]\n".
+       "                 [-noxstartup]\n".
diff --git a/tigervnc-passwd-crash-with-malloc-checks.patch b/tigervnc-passwd-crash-with-malloc-checks.patch
new file mode 100644 (file)
index 0000000..7377822
--- /dev/null
@@ -0,0 +1,41 @@
+diff --git a/common/rfb/Password.cxx b/common/rfb/Password.cxx
+index e4a508c..f555c57 100644
+--- a/common/rfb/Password.cxx
++++ b/common/rfb/Password.cxx
+@@ -55,7 +55,7 @@ PlainPasswd::~PlainPasswd() {
+ void PlainPasswd::replaceBuf(char* b) {
+   if (buf)
+-    memset(buf, 0, strlen(buf));
++    memset(buf, 0, length ? length : strlen(buf));
+   CharArray::replaceBuf(b);
+ }
+diff --git a/common/rfb/util.h b/common/rfb/util.h
+index 3100f90..764692a 100644
+--- a/common/rfb/util.h
++++ b/common/rfb/util.h
+@@ -51,16 +51,21 @@ namespace rfb {
+     CharArray() : buf(0) {}
+     CharArray(char* str) : buf(str) {} // note: assumes ownership
+     CharArray(size_t len) {
++      length = len;
+       buf = new char[len]();
+     }
+     ~CharArray() {
+-      delete [] buf;
++      if (buf) {
++        delete [] buf;
++        buf = nullptr;
++      }
+     }
+     void format(const char *fmt, ...) __printf_attr(2, 3);
+     // Get the buffer pointer & clear it (i.e. caller takes ownership)
+     char* takeBuf() {char* tmp = buf; buf = 0; return tmp;}
+-    void replaceBuf(char* b) {delete [] buf; buf = b;}
++    void replaceBuf(char* b) {if (buf) delete [] buf; buf = b;}
+     char* buf;
++    size_t length = 0;
+   private:
+     CharArray(const CharArray&);
+     CharArray& operator=(const CharArray&);
diff --git a/tigervnc-shebang.patch b/tigervnc-shebang.patch
new file mode 100644 (file)
index 0000000..f76af87
--- /dev/null
@@ -0,0 +1,9 @@
+diff -up tigervnc-1.3.0/unix/vncserver.shebang tigervnc-1.3.0/unix/vncserver
+--- tigervnc-1.3.0/unix/vncserver.shebang      2013-07-24 12:22:34.962158378 +0100
++++ tigervnc-1.3.0/unix/vncserver      2013-07-24 12:22:41.593188190 +0100
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env perl
++#!/usr/bin/perl
+ #
+ #  Copyright (C) 2009-2010 D. R. Commander.  All Rights Reserved.
+ #  Copyright (C) 2005-2006 Sun Microsystems, Inc.  All Rights Reserved.
diff --git a/tigervnc-support-xorg120.patch b/tigervnc-support-xorg120.patch
deleted file mode 100644 (file)
index dcb50db..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-diff --git a/unix/xserver/hw/vnc/xorg-version.h b/unix/xserver/hw/vnc/xorg-version.h
-index 9d1c0eb..79ff79a 100644
---- a/unix/xserver/hw/vnc/xorg-version.h
-+++ b/unix/xserver/hw/vnc/xorg-version.h
-@@ -52,8 +52,10 @@
- #define XORG 118
- #elif XORG_VERSION_CURRENT < ((1 * 10000000) + (19 * 100000) + (99 * 1000))
- #define XORG 119
-+#elif XORG_VERSION_CURRENT < ((1 * 10000000) + (20 * 100000) + (99 * 1000))
-+#define XORG 120
- #else
--#error "X.Org newer than 1.19 is not supported"
-+#error "X.Org newer than 1.20 is not supported"
- #endif
-
- #endif
-diff --git a/unix/xserver/hw/vnc/xvnc.c b/unix/xserver/hw/vnc/xvnc.c
-index 93d8af4..1517809 100644
---- a/unix/xserver/hw/vnc/xvnc.c
-+++ b/unix/xserver/hw/vnc/xvnc.c
-@@ -202,6 +202,7 @@ vfbBitsPerPixel(int depth)
-
- static void vfbFreeFramebufferMemory(vfbFramebufferInfoPtr pfb);
-
-+#if XORG < 120
- #ifdef DPMSExtension
-     /* Why support DPMS? Because stupid modern desktop environments
-        such as Unity 2D on Ubuntu 11.10 crashes if DPMS is not
-@@ -219,6 +220,7 @@ Bool DPMSSupported(void)
-     return FALSE;
- }
- #endif
-+#endif
-
- #if XORG < 111
- void ddxGiveUp()
-@@ -1491,6 +1491,12 @@ vfbCloseScreen(ScreenPtr pScreen)
- #endif
- }
-
-+#if XORG >= 120
-+static void vncDPMS(ScreenPtr pScreen, int level)
-+{
-+}
-+#endif
-+
- static Bool
- #if XORG < 113
- vfbScreenInit(int index, ScreenPtr pScreen, int argc, char **argv)
-@@ -1661,6 +1667,9 @@ vfbScreenInit(ScreenPtr pScreen, int arg
-     if (!ret) return FALSE;
- #endif
-
-+#if XORG >= 120
-+    pScreen->DPMS = vncDPMS;
-+#endif
-
-   return TRUE;
index 0dd98efb0aa40febae45a7e8d6bc155a730f89d7..d99a4a29bb03448a013b05a90cee60f9e3bf92bd 100644 (file)
@@ -3,21 +3,23 @@
 Summary:       A TigerVNC remote display system
 Summary(pl.UTF-8):     System zdalnego dostępu TigerVNC
 Name:          tigervnc
-Version:       1.8.0
-Release:       9
+Version:       1.10.1
+Release:       1
 License:       GPL v2
 Group:         X11/Applications/Networking
-Source0:       https://github.com/TigerVNC/tigervnc/archive/v%{version}.tar.gz?/%{name}-%{version}.tar.gz
-# Source0-md5: 5c9a80dd4b99b4eb19f535db5ce5830f
+Source0:       https://github.com/TigerVNC/tigervnc/archive/v%{version}/%{name}-%{version}.tar.gz
+# Source0-md5: 0c38334c7a52d304c30fac7802125a49
 Source1:       %{name}.desktop
 Source2:       vncserver.init
 Source3:       vncserver.sysconfig
 Source4:       vncserver.target
 Source5:       vncserver-service-generator
+Patch0:                %{name}-manpages.patch
+Patch1:                %{name}-passwd-crash-with-malloc-checks.patch
 Patch2:                %{name}-getmaster.patch
 Patch3:                %{name}-utilize-system-crypto-policies.patch
 Patch4:                %{name}-xstartup.patch
-Patch5:                tigervnc-support-xorg120.patch
+Patch5:                %{name}-shebang.patch
 Patch100:      xserver.patch
 URL:           http://www.tigervnc.com/
 BuildRequires: ImageMagick
@@ -176,6 +178,8 @@ zdalny dostęp do pulpitu.
 
 %prep
 %setup -q
+%patch0 -p1
+%patch1 -p1
 %patch2 -p1
 %patch3 -p1
 %patch4 -p1
@@ -187,7 +191,7 @@ cd unix/xserver
 
 %build
 %cmake .
-%{__make} -j1
+%{__make}
 
 cd unix/xserver
 %{__aclocal} -I m4
@@ -219,11 +223,11 @@ cd unix/xserver
        --with-xkb-output=/var/lib/xkb \
        --disable-unit-tests
 
-%{__make} -j1
+%{__make}
 cd -
 
 cd media
-%{__make} -j1
+%{__make}
 
 %install
 rm -rf $RPM_BUILD_ROOT
@@ -297,7 +301,7 @@ fi
 
 %files -f %{name}.lang
 %defattr(644,root,root,755)
-%doc README.txt doc/*
+%doc README.rst doc/*
 %attr(755,root,root) %{_bindir}/vncviewer
 %{_mandir}/man1/vncviewer.1*
 %{_desktopdir}/tigervnc.desktop
index 54cad17e97f8ea147eaa0f6c4a5fafea23b73dba..7d79e9a203ba0acdd47400d6e6fc0a9aa8fc019f 100644 (file)
@@ -88,3 +88,18 @@ diff -up xserver/mi/miinitext.c.xserver116-rebased xserver/mi/miinitext.c
  extern _X_EXPORT void
  LogVWrite(int verb, const char *f, va_list args)
  _X_ATTRIBUTE_PRINTF(2, 0);
+--- xserver/hw/vnc/xvnc.c~     2019-12-20 08:02:02.000000000 +0100
++++ xserver/hw/vnc/xvnc.c      2020-01-19 15:32:59.189145946 +0100
+@@ -1855,3 +1855,12 @@
+     GiveUp(0);
+   }
+ }
++
++#if INPUTTHREAD
++/** This function is called in Xserver/os/inputthread.c when starting
++    the input thread. */
++void
++ddxInputThreadInit(void)
++{
++}
++#endif
This page took 0.199677 seconds and 4 git commands to generate.