diff --git a/tigervnc-getmaster.patch b/tigervnc-getmaster.patch index 66ce121..23c3d58 100644 --- a/tigervnc-getmaster.patch +++ b/tigervnc-getmaster.patch @@ -1,7 +1,8 @@ -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 a9bd11d..7b54b43 100644 +--- a/unix/xserver/hw/vnc/InputXKB.c ++++ b/unix/xserver/hw/vnc/InputXKB.c +@@ -214,10 +214,7 @@ void vncPrepareInputDevices(void) unsigned vncGetKeyboardState(void) { @@ -13,7 +14,7 @@ diff -up tigervnc-1.4.2/unix/xserver/hw/vnc/c.getmaster tigervnc-1.4.2/unix/xser } unsigned vncGetLevelThreeMask(void) -@@ -232,7 +229,7 @@ unsigned InputDevice::vncGetLevelThreeMask( +@@ -238,7 +235,7 @@ unsigned vncGetLevelThreeMask(void) return 0; } @@ -22,7 +23,7 @@ diff -up tigervnc-1.4.2/unix/xserver/hw/vnc/c.getmaster tigervnc-1.4.2/unix/xser act = XkbKeyActionPtr(xkb, keycode, state); if (act == NULL) -@@ -257,7 +254,7 @@ KeyCode InputDevice::vncPressShift(void) +@@ -263,7 +260,7 @@ KeyCode vncPressShift(void) if (state & ShiftMask) return 0; @@ -31,7 +32,7 @@ diff -up tigervnc-1.4.2/unix/xserver/hw/vnc/c.getmaster tigervnc-1.4.2/unix/xser 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) +@@ -303,7 +300,7 @@ size_t vncReleaseShift(KeyCode *keys, size_t maxKeys) count = 0; @@ -40,7 +41,7 @@ diff -up tigervnc-1.4.2/unix/xserver/hw/vnc/c.getmaster tigervnc-1.4.2/unix/xser 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 +@@ -359,7 +356,7 @@ KeyCode vncPressLevelThree(void) return 0; } @@ -49,7 +50,7 @@ diff -up tigervnc-1.4.2/unix/xserver/hw/vnc/c.getmaster tigervnc-1.4.2/unix/xser act = XkbKeyActionPtr(xkb, keycode, state); if (act == NULL) -@@ -386,7 +383,7 @@ size_t vncReleaseLevelThree(KeyCode *keys, size_t maxKeys) +@@ -390,7 +387,7 @@ size_t vncReleaseLevelThree(KeyCode *keys, size_t maxKeys) count = 0; @@ -58,7 +59,7 @@ diff -up tigervnc-1.4.2/unix/xserver/hw/vnc/c.getmaster tigervnc-1.4.2/unix/xser 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 +@@ -433,7 +430,7 @@ KeyCode vncKeysymToKeycode(KeySym keysym, unsigned state, unsigned *new_state) if (new_state != NULL) *new_state = state; @@ -67,16 +68,7 @@ diff -up tigervnc-1.4.2/unix/xserver/hw/vnc/c.getmaster tigervnc-1.4.2/unix/xser 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) +@@ -511,7 +508,7 @@ int vncIsAffectedByNumLock(KeyCode keycode) if (numlock_keycode == 0) return 0; @@ -85,7 +77,7 @@ diff -up tigervnc-1.4.2/unix/xserver/hw/vnc/c.getmaster tigervnc-1.4.2/unix/xser act = XkbKeyActionPtr(xkb, numlock_keycode, state); if (act == NULL) -@@ -545,7 +542,7 @@ KeyCode InputDevice::vncAddKeysym(KeySym ke +@@ -545,7 +542,7 @@ KeyCode vncAddKeysym(KeySym keysym, unsigned state) KeySym *syms; KeySym upper, lower; diff --git a/tigervnc-manpages.patch b/tigervnc-manpages.patch index 5919226..8e4b9c9 100644 --- a/tigervnc-manpages.patch +++ b/tigervnc-manpages.patch @@ -1,8 +1,8 @@ diff --git a/unix/vncserver b/unix/vncserver -index c4d0535..08a9308 100755 +index 9e7a6ac..139f960 100755 --- a/unix/vncserver +++ b/unix/vncserver -@@ -637,6 +637,7 @@ sub Usage +@@ -684,6 +684,7 @@ sub Usage " [-geometry x]\n". " [-pixelformat rgbNNN|bgrNNN]\n". " [-fp ]\n". @@ -11,18 +11,18 @@ index c4d0535..08a9308 100755 " [-autokill]\n". " [-noxstartup]\n". diff --git a/vncviewer/vncviewer.cxx b/vncviewer/vncviewer.cxx -index a2bc029..6923d0e 100644 +index f076565..05669a4 100644 --- a/vncviewer/vncviewer.cxx +++ b/vncviewer/vncviewer.cxx -@@ -338,6 +338,11 @@ static void usage(const char *programName) - " %s [parameters] -listen [port] [parameters]\n", - programName, programName); - fprintf(stderr,"\n" +@@ -352,6 +352,11 @@ static void usage(const char *programName) + " %s [parameters] -listen [port] [parameters]\n" + " %s [parameters] [.tigervnc file]\n", + programName, programName, programName); ++ fprintf(stderr,"\n" + "Options:\n\n" + " -display Xdisplay - Specifies the X display for the viewer window\n" + " -geometry geometry - Standard X position and sizing specification.\n"); + -+ fprintf(stderr,"\n" + fprintf(stderr,"\n" "Parameters can be turned on with - or off with -=0\n" "Parameters which take a value can be specified as " - "- \n" diff --git a/tigervnc-support-xorg120.patch b/tigervnc-support-xorg120.patch deleted file mode 100644 index 6c45cc1..0000000 --- a/tigervnc-support-xorg120.patch +++ /dev/null @@ -1,68 +0,0 @@ -diff -up tigervnc-1.8.0/unix/xserver/hw/vnc/xorg-version.h.jx tigervnc-1.8.0/unix/xserver/hw/vnc/xorg-version.h ---- tigervnc-1.8.0/unix/xserver/hw/vnc/xorg-version.h.jx 2017-05-16 09:53:28.000000000 -0400 -+++ tigervnc-1.8.0/unix/xserver/hw/vnc/xorg-version.h 2018-06-06 15:42:07.388157181 -0400 -@@ -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 -up tigervnc-1.8.0/unix/xserver/hw/vnc/xvnc.c.jx tigervnc-1.8.0/unix/xserver/hw/vnc/xvnc.c ---- tigervnc-1.8.0/unix/xserver/hw/vnc/xvnc.c.jx 2017-05-16 09:53:28.000000000 -0400 -+++ tigervnc-1.8.0/unix/xserver/hw/vnc/xvnc.c 2018-06-06 15:42:58.384936550 -0400 -@@ -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 +1493,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 +1669,9 @@ vfbScreenInit(ScreenPtr pScreen, int arg - if (!ret) return FALSE; - #endif - -+#if XORG >= 120 -+ pScreen->DPMS = vncDPMS; -+#endif - - return TRUE; - -@@ -1696,7 +1707,9 @@ InitOutput(ScreenInfo *scrInfo, int argc - - vncPrintBanner(); - --#if XORG >= 113 -+#if XORG >= 120 -+ xorgGlxCreateVendor(); -+#elif XORG >= 113 - #ifdef GLXEXT - if (serverGeneration == 1) - #if XORG >= 116 diff --git a/tigervnc-xserver119.patch b/tigervnc-xserver120.patch similarity index 100% rename from tigervnc-xserver119.patch rename to tigervnc-xserver120.patch diff --git a/tigervnc.spec b/tigervnc.spec index db8a7ad..7887ed3 100644 --- a/tigervnc.spec +++ b/tigervnc.spec @@ -1,6 +1,6 @@ Name: tigervnc -Version: 1.8.0 -Release: 10%{?dist} +Version: 1.8.90 +Release: 1%{?dist} Summary: A TigerVNC remote display system %global _hardened_build 1 @@ -55,10 +55,8 @@ Patch8: tigervnc-getmaster.patch Patch9: tigervnc-shebang.patch Patch14: tigervnc-xstartup.patch Patch18: tigervnc-utilize-system-crypto-policies.patch -Patch19: tigervnc-support-xorg120.patch -# This is tigervnc-%%{version}/unix/xserver116.patch rebased on the latest xorg -Patch100: tigervnc-xserver119.patch +Patch100: tigervnc-xserver120.patch %description Virtual Network Computing (VNC) is a remote display system which @@ -152,7 +150,7 @@ pushd unix/xserver for all in `find . -type f -perm -001`; do chmod -x "$all" done -%patch100 -p1 -b .xserver116-rebased +%patch100 -p1 -b .xserver120-rebased popd # Synchronise manpages and --help output (bug #980870). @@ -170,8 +168,6 @@ popd # Utilize system-wide crypto policies %patch18 -p1 -b .utilize-system-crypto-policies -%patch19 -p1 -b .tigervnc-support-xorg120 - %build %ifarch sparcv9 sparc64 s390 s390x export CFLAGS="$RPM_OPT_FLAGS -fPIC" @@ -218,7 +214,7 @@ popd %install %make_install -rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/{README.txt,LICENCE.TXT} +rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/{README.rst,LICENCE.TXT} pushd unix/xserver/hw/vnc make install DESTDIR=$RPM_BUILD_ROOT @@ -281,7 +277,7 @@ install -m 644 %{SOURCE3} %{buildroot}%{_sysconfdir}/X11/xorg.conf.d/10-libvnc.c %systemd_postun %files -f %{name}.lang -%doc README.txt +%doc README.rst %{_bindir}/vncviewer %{_datadir}/applications/* %{_mandir}/man1/vncviewer.1* @@ -321,6 +317,9 @@ install -m 644 %{SOURCE3} %{buildroot}%{_sysconfdir}/X11/xorg.conf.d/10-libvnc.c %{_datadir}/icons/hicolor/*/apps/* %changelog +* Thu Jun 14 2018 Jan Grulich - 1.8.90-1 +- Update to 1.8.90 + * Wed Jun 13 2018 Jan Grulich - 1.8.0-10 - Fix tigervnc systemd unit file Resolves: bz#1583159