+++ /dev/null
-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 -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
+--- tigervnc-1.3.0/unix/vncserver/vncserver.in.shebang 2013-07-24 12:22:34.962158378 +0100
++++ tigervnc-1.3.0/unix/vncserver/vncserver.in 2013-07-24 12:22:41.593188190 +0100
@@ -1,4 +1,4 @@
-#!/usr/bin/env perl
+#!/usr/bin/perl
#
+ # Copyright (C) 2015-2019 Pierre Ossman for Cendio AB
# Copyright (C) 2009-2010 D. R. Commander. All Rights Reserved.
- # Copyright (C) 2005-2006 Sun Microsystems, Inc. All Rights Reserved.
+++ /dev/null
-diff --git a/unix/vncserver b/unix/vncserver
-index c4d0535..64c6744 100755
---- a/unix/vncserver
-+++ b/unix/vncserver
-@@ -61,27 +61,7 @@ $defaultXStartup
- = ("#!/bin/sh\n\n".
- "unset SESSION_MANAGER\n".
- "unset DBUS_SESSION_BUS_ADDRESS\n".
-- "OS=`uname -s`\n".
-- "if [ \$OS = 'Linux' ]; then\n".
-- " case \"\$WINDOWMANAGER\" in\n".
-- " \*gnome\*)\n".
-- " if [ -e /etc/SuSE-release ]; then\n".
-- " PATH=\$PATH:/opt/gnome/bin\n".
-- " export PATH\n".
-- " fi\n".
-- " ;;\n".
-- " esac\n".
-- "fi\n".
-- "if [ -x /etc/X11/xinit/xinitrc ]; then\n".
-- " exec /etc/X11/xinit/xinitrc\n".
-- "fi\n".
-- "if [ -f /etc/X11/xinit/xinitrc ]; then\n".
-- " exec sh /etc/X11/xinit/xinitrc\n".
-- "fi\n".
-- "[ -r \$HOME/.Xresources ] && xrdb \$HOME/.Xresources\n".
-- "xsetroot -solid grey\n".
-- "xterm -geometry 80x24+10+10 -ls -title \"\$VNCDESKTOP Desktop\" &\n".
-- "twm &\n");
-+ "exec /etc/X11/xinit/xinitrc\n");
-
- $defaultConfig
- = ("## Supported server options to pass to vncserver upon invocation can be listed\n".
-%define xversion 1.16.0
+%define xversion 1.21.0
Summary: A TigerVNC remote display system
Summary(pl.UTF-8): System zdalnego dostępu TigerVNC
Name: tigervnc
-Version: 1.10.1
-Release: 8
+Version: 1.11.0
+Release: 1
License: GPL v2
Group: X11/Applications/Networking
Source0: https://github.com/TigerVNC/tigervnc/archive/v%{version}/%{name}-%{version}.tar.gz
-# Source0-md5: 0c38334c7a52d304c30fac7802125a49
+# Source0-md5: 07f5e217f288c515effb083896e65054
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}-xstartup.patch
Patch4: %{name}-shebang.patch
+Patch5: xserver-1.21.patch
Patch100: xserver.patch
URL: http://www.tigervnc.com/
BuildRequires: ImageMagick
%prep
%setup -q
-%patch0 -p1
%patch1 -p1
%patch2 -p1
-%patch3 -p1
%patch4 -p1
cp -a %{_usrsrc}/xorg-xserver-server-%{_xserverver}/* unix/xserver
+%patch5 -p1
cd unix/xserver
%patch100 -p1
%build
-%cmake .
+%cmake . \
+ -DCMAKE_INSTALL_UNITDIR=%{systemdunitdir}
%{__make}
cd unix/xserver
cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/vncserver
cp -p %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/vncserver
-install -d $RPM_BUILD_ROOT{%{systemdunitdir},%{systemdunitdir}-generators}
-install -p %{SOURCE4} $RPM_BUILD_ROOT%{systemdunitdir}/vncserver.target
-install -p %{SOURCE5} $RPM_BUILD_ROOT%{systemdunitdir}-generators/vncserver-service-generator
-ln -s /dev/null $RPM_BUILD_ROOT%{systemdunitdir}/vncserver.service
+ln -sr $RPM_BUILD_ROOT{%{_libexecdir},%{_bindir}}/vncserver
%{__rm} -r $RPM_BUILD_ROOT%{_docdir}
%attr(755,root,root) %{_bindir}/Xvnc
%attr(755,root,root) %{_bindir}/vncserver
%attr(755,root,root) %{_bindir}/x0vncserver
+%attr(755,root,root) %{_sbindir}/vncsession
+%attr(755,root,root) %{_libexecdir}/vncserver
+%attr(755,root,root) %{_libexecdir}/vncsession-start
%attr(754,root,root) /etc/rc.d/init.d/vncserver
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/vncserver
-%attr(755,root,root) %{systemdunitdir}-generators/vncserver-service-generator
-%{systemdunitdir}/vncserver.target
-%{systemdunitdir}/vncserver.service
+%dir %{_sysconfdir}/tigervnc
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/tigervnc/vncserver-config-defaults
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/tigervnc/vncserver-config-mandatory
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/tigervnc/vncserver.users
+%config(noreplace) %verify(not md5 mtime size) /etc/pam.d/tigervnc
+%{systemdunitdir}/vncserver@.service
%{_mandir}/man1/Xvnc.1*
-%{_mandir}/man1/vncserver.1*
%{_mandir}/man1/x0vncserver.1*
+%{_mandir}/man8/vncserver.8*
+%{_mandir}/man8/vncsession.8*
%files utils
%defattr(644,root,root,755)
+++ /dev/null
-#!/bin/sh
-
-destunitdir=${1:-/tmp}
-
-# Do nothing if vncserver target is disabled
-[ -e /etc/systemd/system/multi-user.target.wants/vncserver.target ] || exit 0
-
-VNCSERVERS=""
-[ -f /etc/sysconfig/vncserver ] && . /etc/sysconfig/vncserver
-
-if [ -d $destunitdir/vncserver.target.wants ]; then
- rm -f $destunitdir/vncserver.target.wants/vncserver@*.service
-else
- mkdir -p $destunitdir/vncserver.target.wants
-fi
-
-for display in $VNCSERVERS; do
- DISP="${display%%:*}"
- USER="${display##*:}"
- if [ "x$USER" == "xroot" ]; then
- echo "-- Do not run vncserver as root!"
- continue
- fi
- VNCUSERARGS="${VNCSERVERARGS[${DISP}]}"
- if [ ! id $USER >/dev/null 2>&1 ]; then
- echo "-- User $USER does not exists!"
- continue
- fi
- USERHOME=$(eval "echo ~$USER")
- if [ ! -f "$USERHOME/.vnc/passwd" ]; then
- echo "-- No password file found for user $USER!"
- continue
- fi
- cat >$destunitdir/vncserver.target.wants/vncserver@$DISP.service <<EOF
-[Unit]
-Description=Remote desktop service (VNC) on display %i
-Requires=vncserver.target
-After=vncserver.target
-PropagateReloadFrom=vncserver.target
-
-[Service]
-Type=simple
-ExecStart=/sbin/runuser -l $USER -c "/usr/bin/vncserver -fg :%i $VNCUSERARGS"
-ExecStop=/sbin/runuser -l $USER -c "/usr/bin/vncserver -kill :%i"
-
-[Install]
-WantedBy=vncserver.target
-EOF
-done
+++ /dev/null
-[Unit]
-Description=Start VNC server daemons
-After=network.target
-Wants=network.target
-
-[Install]
-WantedBy=multi-user.target
--- /dev/null
+--- tigervnc-1.11.0/unix/xserver/hw/vnc/xorg-version.h~ 2020-09-08 14:16:08.000000000 +0200
++++ tigervnc-1.11.0/unix/xserver/hw/vnc/xorg-version.h 2021-11-03 16:04:19.496096213 +0100
+@@ -36,8 +36,10 @@
+ #define XORG 119
+ #elif XORG_VERSION_CURRENT < ((1 * 10000000) + (20 * 100000) + (99 * 1000))
+ #define XORG 120
++#elif XORG_VERSION_CURRENT < ((1 * 10000000) + (21 * 100000) + (99 * 1000))
++#define XORG 120
+ #else
+-#error "X.Org newer than 1.20 is not supported"
++#error "X.Org newer than 1.21 is not supported"
+ #endif
+
+ #endif
+--- tigervnc-1.11.0/unix/xserver/hw/vnc/xvnc.c.orig 2021-11-03 16:05:33.000000000 +0100
++++ tigervnc-1.11.0/unix/xserver/hw/vnc/xvnc.c 2021-11-06 10:46:56.759091419 +0100
+@@ -80,7 +80,14 @@
+ #undef VENDOR_RELEASE
+ #undef VENDOR_STRING
+ #include "version-config.h"
+-#include "site.h"
++
++/* Default logging parameters. */
++#ifndef DEFAULT_LOG_VERBOSITY
++#define DEFAULT_LOG_VERBOSITY 0
++#endif
++#ifndef DEFAULT_LOG_FILE_VERBOSITY
++#define DEFAULT_LOG_FILE_VERBOSITY 3
++#endif
+
+ #define XVNCVERSION "TigerVNC 1.11.0"
+ #define XVNCCOPYRIGHT ("Copyright (C) 1999-2020 TigerVNC Team and many others (see README.rst)\n" \
+@@ -155,8 +162,7 @@
+ vncPrintBanner(void)
+ {
+ ErrorF("\nXvnc %s - built %s\n%s", XVNCVERSION, buildtime, XVNCCOPYRIGHT);
+- ErrorF("Underlying X server release %d, %s\n\n", VENDOR_RELEASE,
+- VENDOR_STRING);
++ ErrorF("Underlying X server release %d\n\n", VENDOR_RELEASE);
+ }
+
+ static void
+AC_DEFINE_UNQUOTED(XORG_VERSION_CURRENT, [$VENDOR_RELEASE], [Current Xorg version])
+
if test "x$XORG" = xyes; then
- XORG_DDXINCS='-I$(top_srcdir)/hw/xfree86 -I$(top_srcdir)/hw/xfree86/include -I$(top_srcdir)/hw/xfree86/common'
- XORG_OSINCS='-I$(top_srcdir)/hw/xfree86/os-support -I$(top_srcdir)/hw/xfree86/os-support/bus -I$(top_srcdir)/os'
+ PKG_CHECK_MODULES([LIBXCVT], $LIBXCVT)
+
@@ -2116,7 +2123,6 @@ if test "x$XORG" = xyes; then
AC_DEFINE(XORG_SERVER, 1, [Building Xorg server])
AC_DEFINE(XORGSERVER, 1, [Building Xorg server])
AC_DEFINE(NEED_XF86_PROTOTYPES, 1, [Need XFree86 helper functions])
AC_DEFINE(__XSERVERNAME__, "Xorg", [Name of X server])
@@ -2691,6 +2697,7 @@ hw/dmx/Makefile
- hw/dmx/man/Makefile
+ hw/xfree86/utils/gtf/Makefile
hw/vfb/Makefile
hw/vfb/man/Makefile
+hw/vnc/Makefile
--- xserver/hw/Makefile.am.xserver116-rebased 2016-09-29 13:14:45.601441659 +0200
+++ xserver/hw/Makefile.am 2016-09-29 13:14:45.631442006 +0200
@@ -38,7 +38,8 @@ SUBDIRS = \
- $(DMX_SUBDIRS) \
+ $(XVFB_SUBDIRS) \
+ $(XNEST_SUBDIRS) \
$(KDRIVE_SUBDIRS) \
- $(XQUARTZ_SUBDIRS) \
-- $(XWAYLAND_SUBDIRS)
-+ $(XWAYLAND_SUBDIRS) \
+- $(XQUARTZ_SUBDIRS)
++ $(XQUARTZ_SUBDIRS) \
+ vnc
- DIST_SUBDIRS = dmx xfree86 vfb xnest xwin xquartz kdrive xwayland
+ DIST_SUBDIRS = xfree86 vfb xnest xwin xquartz kdrive
diff -up xserver/mi/miinitext.c.xserver116-rebased xserver/mi/miinitext.c
--- xserver/mi/miinitext.c.xserver116-rebased 2016-09-29 13:14:45.618441855 +0200
+++ xserver/mi/miinitext.c 2016-09-29 13:14:45.631442006 +0200
@@ -114,8 +114,15 @@ SOFTWARE.
- #include "os.h"
- #include "globals.h"
+
+ #include "miinitext.h"
+#ifdef TIGERVNC
+extern void vncExtensionInit(INITARGS);
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