4 Commits

11 changed files with 114 additions and 54 deletions

View File

@@ -2,12 +2,12 @@ Our /usr/bin/vncviewer is symlink to alternatives. This desktop file is named
specifically "TigerVNC Viewer", so lets start /usr/bin/vncviewer-tigervnc, no
matter what the currently selected alternative is.
diff --git a/vncviewer/vncviewer.desktop.in.in b/vncviewer/vncviewer.desktop.in.in
index 1a91755c..b1e881a9 100644
--- a/vncviewer/vncviewer.desktop.in.in
+++ b/vncviewer/vncviewer.desktop.in.in
Index: tigervnc-1.16.0/vncviewer/vncviewer.desktop.in.in
===================================================================
--- tigervnc-1.16.0.orig/vncviewer/vncviewer.desktop.in.in
+++ tigervnc-1.16.0/vncviewer/vncviewer.desktop.in.in
@@ -2,7 +2,7 @@
Name=TigerVNC viewer
Name=TigerVNC
GenericName=Remote desktop viewer
Comment=Connect to VNC server and display remote desktop
-Exec=@CMAKE_INSTALL_FULL_BINDIR@/vncviewer
@@ -15,4 +15,3 @@ index 1a91755c..b1e881a9 100644
Icon=tigervnc
Terminal=false
Type=Application

View File

@@ -1,48 +1,48 @@
Index: tigervnc-1.13.1/unix/xserver/hw/vnc/buildtime.c
Index: tigervnc-1.16.0/unix/xserver/hw/vnc/buildtime.c
===================================================================
--- tigervnc-1.13.1.orig/unix/xserver/hw/vnc/buildtime.c
+++ tigervnc-1.13.1/unix/xserver/hw/vnc/buildtime.c
--- tigervnc-1.16.0.orig/unix/xserver/hw/vnc/buildtime.c
+++ tigervnc-1.16.0/unix/xserver/hw/vnc/buildtime.c
@@ -15,4 +15,4 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
* USA.
*/
-char buildtime[] = __DATE__ " " __TIME__;
+char buildtime[] = "??? ?? ???? ??:??:??";
Index: tigervnc-1.13.1/unix/vncconfig/buildtime.c
Index: tigervnc-1.16.0/unix/vncconfig/buildtime.c
===================================================================
--- tigervnc-1.13.1.orig/unix/vncconfig/buildtime.c
+++ tigervnc-1.13.1/unix/vncconfig/buildtime.c
--- tigervnc-1.16.0.orig/unix/vncconfig/buildtime.c
+++ tigervnc-1.16.0/unix/vncconfig/buildtime.c
@@ -15,4 +15,4 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
* USA.
*/
-char buildtime[] = __DATE__ " " __TIME__;
+char buildtime[] = "??? ?? ???? ??:??:??";
Index: tigervnc-1.13.1/unix/x0vncserver/buildtime.c
Index: tigervnc-1.16.0/unix/x0vncserver/buildtime.c
===================================================================
--- tigervnc-1.13.1.orig/unix/x0vncserver/buildtime.c
+++ tigervnc-1.13.1/unix/x0vncserver/buildtime.c
--- tigervnc-1.16.0.orig/unix/x0vncserver/buildtime.c
+++ tigervnc-1.16.0/unix/x0vncserver/buildtime.c
@@ -15,4 +15,4 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
* USA.
*/
-char buildtime[] = __DATE__ " " __TIME__;
+char buildtime[] = "??? ?? ???? ??:??:??";
Index: tigervnc-1.13.1/win/winvnc/buildTime.cxx
Index: tigervnc-1.16.0/win/winvnc/buildTime.cxx
===================================================================
--- tigervnc-1.13.1.orig/win/winvnc/buildTime.cxx
+++ tigervnc-1.13.1/win/winvnc/buildTime.cxx
--- tigervnc-1.16.0.orig/win/winvnc/buildTime.cxx
+++ tigervnc-1.16.0/win/winvnc/buildTime.cxx
@@ -15,4 +15,4 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
* USA.
*/
-const char* buildTime = "Built on " __DATE__ " at " __TIME__;
+const char* buildTime = "Built on ??? ?? ???? at ??:??:??";
Index: tigervnc-1.13.1/CMakeLists.txt
Index: tigervnc-1.16.0/CMakeLists.txt
===================================================================
--- tigervnc-1.13.1.orig/CMakeLists.txt
+++ tigervnc-1.13.1/CMakeLists.txt
@@ -40,10 +40,6 @@ if(MSVC)
--- tigervnc-1.16.0.orig/CMakeLists.txt
+++ tigervnc-1.16.0/CMakeLists.txt
@@ -39,10 +39,6 @@ if(MSVC)
message(FATAL_ERROR "TigerVNC cannot be built with Visual Studio. Please use MinGW")
endif()
@@ -53,27 +53,27 @@ Index: tigervnc-1.13.1/CMakeLists.txt
# Default to optimised builds instead of debug ones. Our code has no bugs ;)
# (CMake makes it fairly easy to toggle this back to Debug if needed)
if(NOT CMAKE_BUILD_TYPE)
Index: tigervnc-1.13.1/vncviewer/vncviewer.cxx
Index: tigervnc-1.16.0/vncviewer/vncviewer.cxx
===================================================================
--- tigervnc-1.13.1.orig/vncviewer/vncviewer.cxx
+++ tigervnc-1.13.1/vncviewer/vncviewer.cxx
@@ -102,10 +102,9 @@ static const char *about_text()
--- tigervnc-1.16.0.orig/vncviewer/vncviewer.cxx
+++ tigervnc-1.16.0/vncviewer/vncviewer.cxx
@@ -101,10 +101,9 @@ static const char *about_text()
// time.
snprintf(buffer, sizeof(buffer),
_("TigerVNC viewer v%s\n"
_("TigerVNC v%s\n"
- "Built on: %s\n"
"Copyright (C) 1999-%d TigerVNC team and many others (see README.rst)\n"
"See https://www.tigervnc.org for information on TigerVNC."),
- PACKAGE_VERSION, BUILD_TIMESTAMP, 2025);
+ PACKAGE_VERSION, 2025);
- PACKAGE_VERSION, BUILD_TIMESTAMP, 2026);
+ PACKAGE_VERSION, 2026);
return buffer;
}
Index: tigervnc-1.13.1/java/CMakeLists.txt
Index: tigervnc-1.16.0/java/CMakeLists.txt
===================================================================
--- tigervnc-1.13.1.orig/java/CMakeLists.txt
+++ tigervnc-1.13.1/java/CMakeLists.txt
@@ -25,12 +25,6 @@ set(JAVA_PKCS11_PROVIDER_ARG NOTFOUND CACHE STRING "Path to the PKCS11 security
--- tigervnc-1.16.0.orig/java/CMakeLists.txt
+++ tigervnc-1.16.0/java/CMakeLists.txt
@@ -25,12 +25,6 @@ set(JAVA_PKCS11_PROVIDER_ARG NOTFOUND CA
set(JAVA_TSA_URL NOTFOUND CACHE STRING "URL of Time Stamping Authority (TSA)")
set(JAVA_CERT_CHAIN NOTFOUND CACHE STRING "Path to CA certificate chain file")

View File

@@ -7,11 +7,11 @@ The signing was necessary for accessing the system clipboard
when the Java client runs as an applet.
(This shouldn't harm due to the deprecation of Java applets
was done in version 9).
Index: tigervnc-1.13.1/java/CMakeLists.txt
Index: tigervnc-1.16.0/java/CMakeLists.txt
===================================================================
--- tigervnc-1.13.1.orig/java/CMakeLists.txt
+++ tigervnc-1.13.1/java/CMakeLists.txt
@@ -163,18 +163,6 @@ add_custom_command(OUTPUT VncViewer.jar
--- tigervnc-1.16.0.orig/java/CMakeLists.txt
+++ tigervnc-1.16.0/java/CMakeLists.txt
@@ -157,18 +157,6 @@ add_custom_command(OUTPUT VncViewer.jar
com/jcraft/jsch/jce/*.class
com/jcraft/jsch/*.class
com/tigervnc/vncviewer/*.png

View File

@@ -1,14 +1,14 @@
Index: tigervnc-1.13.1/unix/vncserver/vncserver.in
Index: tigervnc-1.16.0/unix/vncserver/vncserver.in
===================================================================
--- tigervnc-1.13.1.orig/unix/vncserver/vncserver.in
+++ tigervnc-1.13.1/unix/vncserver/vncserver.in
--- tigervnc-1.16.0.orig/unix/vncserver/vncserver.in
+++ tigervnc-1.16.0/unix/vncserver/vncserver.in
@@ -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.
@@ -439,7 +439,7 @@ sub SanityCheck
@@ -447,7 +447,7 @@ sub SanityCheck
die "$prog: couldn't find \"$cmd\" on your PATH.\n";
}

View File

@@ -7,11 +7,11 @@ diff -urEbwB tigervnc-1.13.1.orig/java/CMakeLists.txt tigervnc-1.13.1/java/CMake
+if (DEFINED ENV{SOURCE_DATE_EPOCH})
+ execute_process(
+ COMMAND "date" "-u" "-d" "@$ENV{SOURCE_DATE_EPOCH}" "+%Y-%m-%dT%H:%M:%SZ"
+ COMMAND "date" "-u" "-d" "@$ENV{SOURCE_DATE_EPOCH}" +"%Y-%m-%dT%H:%M:%SZ"
+ OUTPUT_VARIABLE COMPILATION_DATE
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+else ()
+ STRING(TIMESTAMP COMPILATION_DATE "+%Y-%m-%dT%H:%M:%SZ")
+ STRING(TIMESTAMP COMPILATION_DATE "%Y-%m-%dT%H:%M:%SZ")
+endif ()
+
add_custom_command(OUTPUT VncViewer.jar

Binary file not shown.

BIN
tigervnc-1.16.0.tar.gz LFS Normal file

Binary file not shown.

View File

@@ -1,3 +1,56 @@
-------------------------------------------------------------------
Wed Feb 4 17:48:46 UTC 2026 - Stefan Dirsch <sndirsch@suse.com>
- enabled build of w0vncserver by enabling wayland support
("-DENABLE_WAYLAND=ON") requiring now glib-2.0, libpipewire-0.3,
wayland-client and xkbcommon libs
-------------------------------------------------------------------
Wed Feb 4 14:44:49 UTC 2026 - Stefan Dirsch <sndirsch@suse.com>
- Update to version 1.16.0
* The native viewer has a new keyboard shortcut system to control
the viewer, replacing the F8 shortcut and allowing easier
access to toggle full-screen mode and redirecting system keys
* The native viewer now supports sending system keys even in
windowed mode
* Added a new server called w0vncserver for sharing Wayland
desktops
* The Java viewer has more fine-grained control of scaling the
session
* The native viewer uses a different method to intercept system
keys on macOS, which will require explicit user approval
* The native viewer has an improved server field, with searchable
history
* The native viewer now intercepts and forwards all¹ system keys
on Windows
* The native viewer is now more responsive when resizing the
remote session
* Red Hat Enterprise Linux 10 packages have been added, although
without libvnc.so
* Ubuntu 20.04 and Red Hat Enterprise Linux 7 packages have been
removed
- adjusted the following patches
* n_tigervnc-Correct-path-in-desktop-file.patch
* n_tigervnc-Date-time.patch
* n_tigervnc-Dont-sign-java-client.patch
* n_tigervnc-Vncserver.patch
* u_tigervnc-Build-libXvnc-as-separate-library.patch
* u_tigervnc-Ignore-epipe-on-write.patch
* n_tigervnc-reproducible-jar-mtime.patch
-------------------------------------------------------------------
Tue Nov 25 07:58:59 UTC 2025 - Thorsten Kukuk <kukuk@suse.com>
- Remove dbus-launch requires, dbus-launch is no longer used
and incompatible with dbus-broker.
-------------------------------------------------------------------
Thu Nov 19 08:15:14 UTC 2025 - Zdenek Kubala <zkubala@suse.com>
- Update SELinux module dir as macro to allow root path move from /var/lib/selinux
to /etc/selinux (bsc#1221342)
-------------------------------------------------------------------
Wed Jun 11 11:20:38 UTC 2025 - Stefan Dirsch <sndirsch@suse.com>

View File

@@ -1,7 +1,7 @@
#
# spec file for package tigervnc
#
# Copyright (c) 2025 SUSE LLC
# Copyright (c) 2026 SUSE LLC and contributors
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -38,7 +38,7 @@
%bcond_with selinux
%endif
Name: tigervnc
Version: 1.15.0
Version: 1.16.0
Release: 0
Summary: An implementation of VNC
License: GPL-2.0-only AND MIT
@@ -117,10 +117,12 @@ BuildRequires: pkgconfig(fontsproto)
BuildRequires: pkgconfig(fontutil)
BuildRequires: pkgconfig(gbm)
BuildRequires: pkgconfig(gl)
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(glproto)
BuildRequires: pkgconfig(gnutls) >= 3.6.0
BuildRequires: pkgconfig(inputproto) >= 1.9.99.902
BuildRequires: pkgconfig(kbproto) >= 1.0.3
BuildRequires: pkgconfig(libpipewire-0.3)
BuildRequires: pkgconfig(libtasn1)
BuildRequires: pkgconfig(openssl)
BuildRequires: pkgconfig(pciaccess) >= 0.8.0
@@ -132,6 +134,7 @@ BuildRequires: pkgconfig(renderproto) >= 0.11
BuildRequires: pkgconfig(resourceproto)
BuildRequires: pkgconfig(scrnsaverproto) >= 1.1
BuildRequires: pkgconfig(videoproto)
BuildRequires: pkgconfig(wayland-client)
BuildRequires: pkgconfig(xau)
BuildRequires: pkgconfig(xcmiscproto) >= 1.2.0
BuildRequires: pkgconfig(xdmcp)
@@ -139,6 +142,7 @@ BuildRequires: pkgconfig(xextproto) >= 7.0.99.3
BuildRequires: pkgconfig(xf86driproto) >= 2.1.1
BuildRequires: pkgconfig(xfont2)
BuildRequires: pkgconfig(xineramaproto)
BuildRequires: pkgconfig(xkbcommon)
BuildRequires: pkgconfig(xkbfile)
BuildRequires: pkgconfig(xorg-macros) >= 1.14
BuildRequires: pkgconfig(xproto) >= 7.0.17
@@ -172,7 +176,6 @@ BuildRequires: firewall-macros
%endif
# Needed to generate certificates
Requires: windowmanager
Requires: /usr/bin/dbus-launch
Requires: xauth
Recommends: xinit
Requires: xkbcomp
@@ -285,6 +288,7 @@ sed "s|@LIBEXECDIR@|%{_libexecdir}|g" %{SOURCE16} > xvnc-novnc.service
cmake -DCMAKE_VERBOSE_MAKEFILE=ON \
-DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} \
-DCMAKE_INSTALL_LIBEXECDIR:PATH=%{_libexecdir} \
-DENABLE_WAYLAND=ON \
-DCMAKE_BUILD_TYPE=RelWithDebInfo .
%make_build
@@ -532,6 +536,8 @@ fi
%{_bindir}/vncpasswd
%{_bindir}/vncpasswd.arg
%{_bindir}/x0vncserver
%{_bindir}/w0vncserver
%{_bindir}/w0vncserver-forget
%{_sbindir}/vncsession
%{_libexecdir}/vncserver
@@ -542,6 +548,8 @@ fi
%{_mandir}/man1/vncconfig.1%{?ext_man}
%{_mandir}/man1/vncpasswd.1%{?ext_man}
%{_mandir}/man1/x0vncserver.1%{?ext_man}
%{_mandir}/man1/w0vncserver.1%{?ext_man}
%{_mandir}/man1/w0vncserver-forget.1%{?ext_man}
%{_mandir}/man8/vncserver.8%{?ext_man}
%{_mandir}/man8/vncsession.8%{?ext_man}
@@ -622,7 +630,7 @@ fi
%if %{with selinux}
%files selinux
%{_datadir}/selinux/packages/%{selinuxtype}/%{modulename}.pp.bz2
%ghost %verify(not md5 size mtime) %{_sharedstatedir}/selinux/%{selinuxtype}/active/modules/200/%{modulename}
%ghost %verify(not md5 size mtime) %{_selinux_store_path}/%{selinuxtype}/active/modules/200/%{modulename}
%endif
%changelog

View File

@@ -19,7 +19,7 @@ Index: tigervnc-1.12.0/unix/vncconfig/CMakeLists.txt
target_include_directories(vncconfig PUBLIC ${CMAKE_SOURCE_DIR}/common)
target_include_directories(vncconfig PUBLIC ${CMAKE_SOURCE_DIR}/unix/tx)
-target_link_libraries(vncconfig tx rfb network rdr ${X11_LIBRARIES})
-target_link_libraries(vncconfig core tx rfb ${X11_LIBRARIES})
+include(GNUInstallDirs)
+
+add_library(Xvnc SHARED
@@ -31,7 +31,7 @@ Index: tigervnc-1.12.0/unix/vncconfig/CMakeLists.txt
+ SOVERSION 1
+)
+
+target_link_libraries(vncconfig tx rfb network rdr Xvnc ${X11_LIBRARIES})
+target_link_libraries(vncconfig tx rfb Xvnc ${X11_LIBRARIES})
install(TARGETS vncconfig DESTINATION ${CMAKE_INSTALL_FULL_BINDIR})
+install(TARGETS Xvnc LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} RENAME libXvnc.so)

View File

@@ -14,12 +14,12 @@ Index: tigervnc-1.15.0/common/rdr/FdOutStream.cxx
} while (n < 0 && (errorNumber == EINTR));
- if (n < 0)
- throw socket_error("write", errorNumber);
- throw core::socket_error("write", errorNumber);
+ if (n < 0) {
+ if (errorNumber == EPIPE)
+ n = length; // Ignore EPIPE and fake successfull write, it doesn't matter that we are writing to closed socket, we will find out once we try to read from it.
+ else
+ throw socket_error("write", errorNumber);
+ throw core::socket_error("write", errorNumber);
+ }
gettimeofday(&lastWrite, nullptr);