- up to 1.8.0 auto/th/tigervnc-1.8.0-1
authorJan Rękorajski <baggins@pld-linux.org>
Tue, 26 Dec 2017 21:34:22 +0000 (22:34 +0100)
committerJan Rękorajski <baggins@pld-linux.org>
Tue, 26 Dec 2017 21:34:22 +0000 (22:34 +0100)
tigervnc-libvnc-os.patch [deleted file]
tigervnc-xserver.patch [deleted file]
tigervnc.spec

diff --git a/tigervnc-libvnc-os.patch b/tigervnc-libvnc-os.patch
deleted file mode 100644 (file)
index 0c66755..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-diff --git a/unix/xserver/hw/vnc/Makefile.am b/unix/xserver/hw/vnc/Makefile.am
-index d7ab259..fb477c5 100644
---- a/unix/xserver/hw/vnc/Makefile.am
-+++ b/unix/xserver/hw/vnc/Makefile.am
-@@ -5,6 +5,7 @@ RFB_LIB=$(LIB_DIR)/rfb/librfb.la
- RDR_LIB=$(LIB_DIR)/rdr/librdr.la
- NETWORK_LIB=$(LIB_DIR)/network/libnetwork.la
- XREGION_LIB=$(LIB_DIR)/Xregion/libXregion.la
-+OS_LIB=$(LIB_DIR)/os/libos.la
- COMMON_LIBS=$(NETWORK_LIB) $(RFB_LIB) $(RDR_LIB) $(XREGION_LIB)
-
- noinst_LTLIBRARIES = libvnccommon.la
-@@ -64,6 +65,6 @@ libvnc_la_CPPFLAGS = $(XVNC_CPPFLAGS) -I$(TIGERVNC_SRCDIR)/common -UHAVE_CONFIG_
-
- libvnc_la_LDFLAGS = -module -avoid-version -Wl,-z,now
-
--libvnc_la_LIBADD = libvnccommon.la $(COMMON_LIBS)
-+libvnc_la_LIBADD = libvnccommon.la $(COMMON_LIBS) $(OS_LIB)
-
- EXTRA_DIST = Xvnc.man
diff --git a/tigervnc-xserver.patch b/tigervnc-xserver.patch
deleted file mode 100644 (file)
index 067960b..0000000
+++ /dev/null
@@ -1,422 +0,0 @@
-diff -up tigervnc-1.7.0/unix/xserver/hw/vnc/vncBlockHandler.c.xserver119 tigervnc-1.7.0/unix/xserver/hw/vnc/vncBlockHandler.c
---- tigervnc-1.7.0/unix/xserver/hw/vnc/vncBlockHandler.c.xserver119    2016-09-08 12:31:18.000000000 +0200
-+++ tigervnc-1.7.0/unix/xserver/hw/vnc/vncBlockHandler.c       2016-10-04 17:17:35.618889747 +0200
-@@ -30,6 +30,23 @@
- #include "vncExtInit.h"
- #include "vncBlockHandler.h"
-+#include "xorg-version.h"
-+
-+#if XORG >= 119
-+
-+static void vncBlockHandler(void* data, void* timeout)
-+{
-+  vncCallBlockHandlers(timeout);
-+}
-+
-+void vncRegisterBlockHandlers(void)
-+{
-+  if (!RegisterBlockAndWakeupHandlers(vncBlockHandler,
-+                                      (ServerWakeupHandlerProcPtr)NoopDDA, 0))
-+    FatalError("RegisterBlockAndWakeupHandlers() failed\n");
-+}
-+
-+#else
- static void vncBlockHandler(void * data, OSTimePtr t, void * readmask);
- static void vncWakeupHandler(void * data, int nfds, void * readmask);
-@@ -144,3 +161,5 @@ static void vncWriteWakeupHandlerFallbac
-   vncWriteWakeupHandler(ret, &fallbackFds);
- }
-+
-+#endif
-diff -up tigervnc-1.7.0/unix/xserver/hw/vnc/vncExtInit.cc.xserver119 tigervnc-1.7.0/unix/xserver/hw/vnc/vncExtInit.cc
---- tigervnc-1.7.0/unix/xserver/hw/vnc/vncExtInit.cc.xserver119        2016-09-08 12:31:18.000000000 +0200
-+++ tigervnc-1.7.0/unix/xserver/hw/vnc/vncExtInit.cc   2016-10-04 17:17:35.618889747 +0200
-@@ -241,6 +241,17 @@ int vncExtensionIsActive(int scrIdx)
-   return (desktop[scrIdx] != NULL);
- }
-+#if XORG >= 119
-+
-+void vncCallBlockHandlers(int* timeout)
-+{
-+  for (int scr = 0; scr < vncGetScreenCount(); scr++)
-+    if (desktop[scr])
-+      desktop[scr]->blockHandler(timeout);
-+}
-+
-+#else
-+
- void vncCallReadBlockHandlers(fd_set * fds, struct timeval ** timeout)
- {
-   for (int scr = 0; scr < vncGetScreenCount(); scr++)
-@@ -269,6 +280,8 @@ void vncCallWriteWakeupHandlers(fd_set *
-       desktop[scr]->writeWakeupHandler(fds, nfds);
- }
-+#endif
-+
- int vncGetAvoidShiftNumLock(void)
- {
-   return (bool)avoidShiftNumLock;
-diff -up tigervnc-1.7.0/unix/xserver/hw/vnc/vncExtInit.h.xserver119 tigervnc-1.7.0/unix/xserver/hw/vnc/vncExtInit.h
---- tigervnc-1.7.0/unix/xserver/hw/vnc/vncExtInit.h.xserver119 2016-09-08 12:31:18.000000000 +0200
-+++ tigervnc-1.7.0/unix/xserver/hw/vnc/vncExtInit.h    2016-10-04 17:17:35.618889747 +0200
-@@ -22,6 +22,7 @@
- #include <stdint.h>
- #include <stddef.h>
- #include <sys/select.h>
-+#include "xorg-version.h"
- // Only from C++
- #ifdef __cplusplus
-@@ -52,10 +53,14 @@ extern int vncInetdSock;
- void vncExtensionInit(void);
- int vncExtensionIsActive(int scrIdx);
-+#if XORG >= 119
-+void vncCallBlockHandlers(int* timeout);
-+#else
- void vncCallReadBlockHandlers(fd_set * fds, struct timeval ** timeout);
- void vncCallReadWakeupHandlers(fd_set * fds, int nfds);
- void vncCallWriteBlockHandlers(fd_set * fds, struct timeval ** timeout);
- void vncCallWriteWakeupHandlers(fd_set * fds, int nfds);
-+#endif
- int vncGetAvoidShiftNumLock(void);
-diff -up tigervnc-1.7.0/unix/xserver/hw/vnc/vncHooks.c.xserver119 tigervnc-1.7.0/unix/xserver/hw/vnc/vncHooks.c
---- tigervnc-1.7.0/unix/xserver/hw/vnc/vncHooks.c.xserver119   2016-09-08 12:31:18.000000000 +0200
-+++ tigervnc-1.7.0/unix/xserver/hw/vnc/vncHooks.c      2016-10-04 17:17:35.618889747 +0200
-@@ -128,9 +128,11 @@ static Bool vncHooksDisplayCursor(Device
- #if XORG <= 112
- static void vncHooksBlockHandler(int i, pointer blockData, pointer pTimeout,
-                                  pointer pReadmask);
--#else
-+#elif XORG <= 118
- static void vncHooksBlockHandler(ScreenPtr pScreen, void * pTimeout,
-                                  void * pReadmask);
-+#else
-+static void vncHooksBlockHandler(ScreenPtr pScreen, void * pTimeout);
- #endif
- #ifdef RENDER
- static void vncHooksComposite(CARD8 op, PicturePtr pSrc, PicturePtr pMask, 
-@@ -716,9 +718,11 @@ out:
- #if XORG <= 112
- static void vncHooksBlockHandler(int i, pointer blockData, pointer pTimeout,
-                                  pointer pReadmask)
--#else
-+#elif XORG <= 118
- static void vncHooksBlockHandler(ScreenPtr pScreen_, void * pTimeout,
-                                  void * pReadmask)
-+#else
-+static void vncHooksBlockHandler(ScreenPtr pScreen_, void * pTimeout)
- #endif
- {
- #if XORG <= 112
-@@ -731,8 +735,10 @@ static void vncHooksBlockHandler(ScreenP
- #if XORG <= 112
-   (*pScreen->BlockHandler) (i, blockData, pTimeout, pReadmask);
--#else
-+#elif XORG <= 118
-   (*pScreen->BlockHandler) (pScreen, pTimeout, pReadmask);
-+#else
-+  (*pScreen->BlockHandler) (pScreen, pTimeout);
- #endif
-   vncHooksScreen->ignoreHooks--;
-@@ -1033,12 +1039,21 @@ static void vncHooksCopyClip(GCPtr dst,
- // Unwrap and rewrap helpers
-+#if XORG >= 116
-+#define GC_OP_PROLOGUE(pGC, name)\
-+    vncHooksGCPtr pGCPriv = vncHooksGCPrivate(pGC);\
-+    const GCFuncs *oldFuncs = pGC->funcs;\
-+    pGC->funcs = pGCPriv->wrappedFuncs;\
-+    pGC->ops = pGCPriv->wrappedOps; \
-+    DBGPRINT((stderr,"vncHooks" #name " called\n"))
-+#else
- #define GC_OP_PROLOGUE(pGC, name)\
-     vncHooksGCPtr pGCPriv = vncHooksGCPrivate(pGC);\
-     GCFuncs *oldFuncs = pGC->funcs;\
-     pGC->funcs = pGCPriv->wrappedFuncs;\
-     pGC->ops = pGCPriv->wrappedOps; \
-     DBGPRINT((stderr,"vncHooks" #name " called\n"))
-+#endif
- #define GC_OP_EPILOGUE(pGC)\
-     pGCPriv->wrappedOps = pGC->ops;\
-diff -up tigervnc-1.7.0/unix/xserver/hw/vnc/xorg-version.h.xserver119 tigervnc-1.7.0/unix/xserver/hw/vnc/xorg-version.h
---- tigervnc-1.7.0/unix/xserver/hw/vnc/xorg-version.h.xserver119       2016-09-08 12:31:18.000000000 +0200
-+++ tigervnc-1.7.0/unix/xserver/hw/vnc/xorg-version.h  2016-10-04 17:24:51.640654527 +0200
-@@ -50,8 +50,10 @@
- #define XORG 117
- #elif XORG_VERSION_CURRENT < ((1 * 10000000) + (18 * 100000) + (99 * 1000))
- #define XORG 118
-+#elif XORG_VERSION_CURRENT < ((1 * 10000000) + (19 * 100000) + (99 * 1000))
-+#define XORG 119
- #else
--#error "X.Org newer than 1.18 is not supported"
-+#error "X.Org newer than 1.19 is not supported"
- #endif
- #endif
-diff -up tigervnc-1.7.0/unix/xserver/hw/vnc/XserverDesktop.cc.xserver119 tigervnc-1.7.0/unix/xserver/hw/vnc/XserverDesktop.cc
---- tigervnc-1.7.0/unix/xserver/hw/vnc/XserverDesktop.cc.xserver119    2016-09-08 12:31:18.000000000 +0200
-+++ tigervnc-1.7.0/unix/xserver/hw/vnc/XserverDesktop.cc       2016-10-04 17:23:47.171977905 +0200
-@@ -89,6 +89,30 @@ public:
-   XserverDesktop* desktop;
- };
-+#if XORG >= 119
-+extern "C" {
-+/*
-+ * xserver NotifyFd callbacks. Note we also expect write notifies to work,
-+ * which only works with xserver >= 1.19.
-+ */
-+#include "os.h"
-+
-+static void HandleListenFd(int fd, int xevents, void *data)
-+{
-+  XserverDesktop *desktop = (XserverDesktop *)data;
-+
-+  desktop->handleListenFd(fd);
-+}
-+
-+static void HandleSocketFd(int fd, int xevents, void *data)
-+{
-+  XserverDesktop *desktop = (XserverDesktop *)data;
-+
-+  desktop->handleSocketFd(fd, xevents);
-+}
-+
-+}
-+#endif
- XserverDesktop::XserverDesktop(int screenIndex_,
-                                std::list<network::TcpListener*> listeners_,
-@@ -110,15 +134,35 @@ XserverDesktop::XserverDesktop(int scree
-   if (!httpListeners.empty ())
-     httpServer = new FileHTTPServer(this);
-+
-+#if XORG >= 119
-+  for (std::list<TcpListener*>::iterator i = listeners.begin();
-+       i != listeners.end();
-+       i++) {
-+    SetNotifyFd((*i)->getFd(), HandleListenFd, X_NOTIFY_READ, this);
-+  }
-+
-+  for (std::list<TcpListener*>::iterator i = httpListeners.begin();
-+       i != httpListeners.end();
-+       i++) {
-+    SetNotifyFd((*i)->getFd(), HandleListenFd, X_NOTIFY_READ, this);
-+  }
-+#endif
- }
- XserverDesktop::~XserverDesktop()
- {
-   while (!listeners.empty()) {
-+#if XORG >= 119
-+    RemoveNotifyFd(listeners.back()->getFd());
-+#endif
-     delete listeners.back();
-     listeners.pop_back();
-   }
-   while (!httpListeners.empty()) {
-+#if XORG >= 119
-+    RemoveNotifyFd(listeners.back()->getFd());
-+#endif
-     delete httpListeners.back();
-     httpListeners.pop_back();
-   }
-@@ -388,6 +432,140 @@ void XserverDesktop::add_copied(const rf
-   }
- }
-+#if XORG >= 119
-+void XserverDesktop::handleListenFd(int fd)
-+{
-+  std::list<TcpListener*>::iterator i;
-+  SocketServer *fd_server = NULL;
-+  bool is_http = false;
-+
-+  for (i = listeners.begin(); i != listeners.end(); i++) {
-+    if ((*i)->getFd() == fd) {
-+      fd_server = server;
-+      break;
-+    }
-+  }
-+  if (httpServer && !fd_server) {
-+    for (i = httpListeners.begin(); i != httpListeners.end(); i++) {
-+      if ((*i)->getFd() == fd) {
-+        fd_server = httpServer;
-+        is_http = true;
-+        break;
-+      }
-+    }
-+  }
-+  if (!fd_server) {
-+    vlog.error("XserverDesktop::handleListenFd: Error cannot find fd");
-+    return;
-+  }
-+
-+  Socket* sock = (*i)->accept();
-+  sock->outStream().setBlocking(false);
-+  vlog.debug("new %sclient, sock %d", is_http ? "http " : "", sock->getFd());
-+  fd_server->addSocket(sock);
-+  SetNotifyFd(sock->getFd(), HandleSocketFd, X_NOTIFY_READ, this);
-+}
-+
-+void XserverDesktop::handleSocketFd(int fd, int xevents)
-+{
-+  std::list<Socket*> sockets;
-+  std::list<Socket*>::iterator i;
-+  SocketServer *fd_server = NULL;
-+  bool is_http = false;
-+
-+  server->getSockets(&sockets);
-+  for (i = sockets.begin(); i != sockets.end(); i++) {
-+    if ((*i)->getFd() == fd) {
-+      fd_server = server;
-+      break;
-+    }
-+  }
-+  if (httpServer && !fd_server) {
-+    httpServer->getSockets(&sockets);
-+    for (i = sockets.begin(); i != sockets.end(); i++) {
-+      if ((*i)->getFd() == fd) {
-+        fd_server = httpServer;
-+        is_http = true;
-+        break;
-+      }
-+    }
-+  }
-+  if (!fd_server) {
-+    vlog.error("XserverDesktop::handleSocketFd: Error cannot find fd");
-+    return;
-+  }
-+
-+  if (xevents & X_NOTIFY_READ)
-+    fd_server->processSocketReadEvent(*i);
-+
-+  if (xevents & X_NOTIFY_WRITE)
-+    fd_server->processSocketWriteEvent(*i);
-+
-+  if ((*i)->isShutdown()) {
-+    vlog.debug("%sclient gone, sock %d", is_http ? "http " : "", fd);
-+    RemoveNotifyFd(fd);
-+    fd_server->removeSocket(*i);
-+    if (!is_http)
-+      vncClientGone(fd);
-+    delete (*i);
-+  }
-+}
-+
-+void XserverDesktop::blockHandler(int* timeout)
-+{
-+  // We don't have a good callback for when we can init input devices[1],
-+  // so we abuse the fact that this routine will be called first thing
-+  // once the dix is done initialising.
-+  // [1] Technically Xvnc has InitInput(), but libvnc.so has nothing.
-+  vncInitInputDevice();
-+
-+  try {
-+    std::list<Socket*> sockets;
-+    std::list<Socket*>::iterator i;
-+    server->getSockets(&sockets);
-+    for (i = sockets.begin(); i != sockets.end(); i++) {
-+      int fd = (*i)->getFd();
-+      if ((*i)->isShutdown()) {
-+        vlog.debug("client gone, sock %d",fd);
-+        server->removeSocket(*i);
-+        vncClientGone(fd);
-+        delete (*i);
-+      } else {
-+        /* Update existing NotifyFD to listen for write (or not) */
-+        if ((*i)->outStream().bufferUsage() > 0)
-+          SetNotifyFd(fd, HandleSocketFd, X_NOTIFY_READ | X_NOTIFY_WRITE, this);
-+        else
-+          SetNotifyFd(fd, HandleSocketFd, X_NOTIFY_READ, this);
-+      }
-+    }
-+    if (httpServer) {
-+      httpServer->getSockets(&sockets);
-+      for (i = sockets.begin(); i != sockets.end(); i++) {
-+        int fd = (*i)->getFd();
-+        if ((*i)->isShutdown()) {
-+          vlog.debug("http client gone, sock %d",fd);
-+          httpServer->removeSocket(*i);
-+          delete (*i);
-+        } else {
-+          /* Update existing NotifyFD to listen for write (or not) */
-+          if ((*i)->outStream().bufferUsage() > 0)
-+            SetNotifyFd(fd, HandleSocketFd, X_NOTIFY_READ | X_NOTIFY_WRITE, this);
-+          else
-+            SetNotifyFd(fd, HandleSocketFd, X_NOTIFY_READ, this);
-+        }
-+      }
-+    }
-+
-+    int nextTimeout = server->checkTimeouts();
-+    if (nextTimeout > 0 && (*timeout == -1 || nextTimeout < *timeout))
-+      *timeout = nextTimeout;
-+  } catch (rdr::Exception& e) {
-+    vlog.error("XserverDesktop::blockHandler: %s",e.str());
-+  }
-+}
-+
-+#else
-+
- void XserverDesktop::readBlockHandler(fd_set* fds, struct timeval ** timeout)
- {
-   // We don't have a good callback for when we can init input devices[1],
-@@ -600,10 +778,15 @@ void XserverDesktop::writeWakeupHandler(
-   }
- }
-+#endif
-+
- void XserverDesktop::addClient(Socket* sock, bool reverse)
- {
-   vlog.debug("new client, sock %d reverse %d",sock->getFd(),reverse);
-   server->addSocket(sock, reverse);
-+#if XORG >= 119
-+  SetNotifyFd(sock->getFd(), HandleSocketFd, X_NOTIFY_READ, this);
-+#endif
- }
- void XserverDesktop::disconnectClients()
-diff -up tigervnc-1.7.0/unix/xserver/hw/vnc/XserverDesktop.h.xserver119 tigervnc-1.7.0/unix/xserver/hw/vnc/XserverDesktop.h
---- tigervnc-1.7.0/unix/xserver/hw/vnc/XserverDesktop.h.xserver119     2016-09-08 12:31:18.000000000 +0200
-+++ tigervnc-1.7.0/unix/xserver/hw/vnc/XserverDesktop.h        2016-10-04 17:17:35.617889712 +0200
-@@ -38,6 +38,7 @@
- #include <rfb/VNCServerST.h>
- #include <rdr/SubstitutingInStream.h>
- #include "Input.h"
-+#include "xorg-version.h"
- namespace rfb {
-   class VNCServerST;
-@@ -69,10 +70,16 @@ public:
-                  const unsigned char *rgbaData);
-   void add_changed(const rfb::Region &region);
-   void add_copied(const rfb::Region &dest, const rfb::Point &delta);
-+#if XORG >= 119
-+  void handleListenFd(int fd);
-+  void handleSocketFd(int fd, int xevents);
-+  void blockHandler(int* timeout);
-+#else
-   void readBlockHandler(fd_set* fds, struct timeval ** timeout);
-   void readWakeupHandler(fd_set* fds, int nfds);
-   void writeBlockHandler(fd_set* fds, struct timeval ** timeout);
-   void writeWakeupHandler(fd_set* fds, int nfds);
-+#endif
-   void addClient(network::Socket* sock, bool reverse);
-   void disconnectClients();
index fa237c8..2632735 100644 (file)
@@ -3,19 +3,17 @@
 Summary:       A TigerVNC remote display system
 Summary(pl.UTF-8):     System zdalnego dostępu TigerVNC
 Name:          tigervnc
-Version:       1.7.1
-Release:       6
+Version:       1.8.0
+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: 82dbb9d178b8e313b51f1651e0398dfe
+# Source0-md5: 5c9a80dd4b99b4eb19f535db5ce5830f
 Source1:       %{name}.desktop
 Source2:       vncserver.init
 Source3:       vncserver.sysconfig
 Source4:       vncserver.target
 Source5:       vncserver-service-generator
-Patch0:                %{name}-xserver.patch
-Patch1:                %{name}-libvnc-os.patch
 Patch2:                %{name}-getmaster.patch
 Patch3:                %{name}-utilize-system-crypto-policies.patch
 Patch4:                %{name}-xstartup.patch
@@ -177,8 +175,6 @@ zdalny dostęp do pulpitu.
 
 %prep
 %setup -q
-%patch0 -p1
-%patch1 -p1
 %patch2 -p1
 %patch3 -p1
 %patch4 -p1
@@ -195,16 +191,12 @@ cd unix/xserver
 %{__aclocal} -I m4
 %{__autoconf}
 %{__automake}
-export CXXFLAGS="%{rpmcxxflags} -fpermissive"
 %configure \
        --with-os-name="PLD/Linux" \
        --with-os-vendor="PLD/Team" \
-       --disable-config-dbus \
        --disable-config-hal \
        --disable-config-udev \
-       --without-xmlto \
-       --without-fop \
-       --without-doxygen \
+       --without-dtrace \
        --disable-devel-docs \
        --with-default-font-path="%{_fontsdir}/misc,%{_fontsdir}/TTF,%{_fontsdir}/OTF,%{_fontsdir}/Type1,%{_fontsdir}/100dpi,%{_fontsdir}/75dpi" \
        --disable-xorg \
@@ -214,25 +206,14 @@ export CXXFLAGS="%{rpmcxxflags} -fpermissive"
        --disable-xwin \
        --disable-xephyr \
        --disable-kdrive \
-       --disable-xfbdev \
        --disable-dri \
        --enable-dri2 \
        --enable-dri3 \
        --with-pic \
        --disable-static \
-       --disable-xinerama \
-       --disable-composite \
        --disable-wayland \
-       --disable-xwayland \
        --enable-glx \
-       --enable-glx-tls \
-       --enable-aiglx \
-       --enable-dga \
-       --enable-glx-tls \
        --enable-install-libxf86config \
-       --enable-record \
-       --disable-xfake \
-       --enable-secure-rpc \
        --with-xkb-output=/var/lib/xkb \
        --disable-unit-tests
 
@@ -318,6 +299,7 @@ fi
 %attr(755,root,root) %{_bindir}/vncviewer
 %{_mandir}/man1/vncviewer.1*
 %{_desktopdir}/tigervnc.desktop
+%{_desktopdir}/vncviewer.desktop
 %{_iconsdir}/hicolor/*/apps/tigervnc.*
 
 %files server
This page took 1.251596 seconds and 4 git commands to generate.