From f7dfed1e9f78b90c065c5a97d27d8ad9719d2f71364e3051e1afa335d45cd627 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Schr=C3=B6ter?= Date: Thu, 28 Nov 2024 17:50:05 +0100 Subject: [PATCH] Sync from SUSE:SLFO:Main tigervnc revision b69884f766253a856573cb2eff7e3963 --- ...igervnc-Correct-path-in-desktop-file.patch | 0 ...e-time.patch => n_tigervnc-Date-time.patch | 8 +- ... => n_tigervnc-Dont-sign-java-client.patch | 11 +- ...server.patch => n_tigervnc-Vncserver.patch | 6 +- n_tigervnc-reproducible-jar-mtime.patch | 32 ++++ tigervnc-1.13.1.tar.gz | 3 - tigervnc-1.14.1.tar.gz | 3 + tigervnc.changes | 98 ++++++++++++ tigervnc.spec | 141 ++++++++++-------- u_change-button-layout-in-ServerDialog.patch | 32 ---- ... u_tigervnc-Add-autoaccept-parameter.patch | 14 +- ...nc-Build-libXvnc-as-separate-library.patch | 21 +-- ... => u_tigervnc-Ignore-epipe-on-write.patch | 16 +- 13 files changed, 249 insertions(+), 136 deletions(-) rename n_correct_path_in_desktop_file.patch => n_tigervnc-Correct-path-in-desktop-file.patch (100%) rename n_tigervnc-date-time.patch => n_tigervnc-Date-time.patch (92%) rename n_dont_sign_java_client.patch => n_tigervnc-Dont-sign-java-client.patch (74%) rename n_vncserver.patch => n_tigervnc-Vncserver.patch (80%) create mode 100644 n_tigervnc-reproducible-jar-mtime.patch delete mode 100644 tigervnc-1.13.1.tar.gz create mode 100644 tigervnc-1.14.1.tar.gz delete mode 100644 u_change-button-layout-in-ServerDialog.patch rename u_tigervnc-add-autoaccept-parameter.patch => u_tigervnc-Add-autoaccept-parameter.patch (81%) rename u_build_libXvnc_as_separate_library.patch => u_tigervnc-Build-libXvnc-as-separate-library.patch (81%) rename u_tigervnc-ignore-epipe-on-write.patch => u_tigervnc-Ignore-epipe-on-write.patch (62%) diff --git a/n_correct_path_in_desktop_file.patch b/n_tigervnc-Correct-path-in-desktop-file.patch similarity index 100% rename from n_correct_path_in_desktop_file.patch rename to n_tigervnc-Correct-path-in-desktop-file.patch diff --git a/n_tigervnc-date-time.patch b/n_tigervnc-Date-time.patch similarity index 92% rename from n_tigervnc-date-time.patch rename to n_tigervnc-Date-time.patch index e9476f3..d0c9937 100644 --- a/n_tigervnc-date-time.patch +++ b/n_tigervnc-Date-time.patch @@ -64,8 +64,8 @@ Index: tigervnc-1.13.1/vncviewer/vncviewer.cxx - "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, 2022); -+ PACKAGE_VERSION, 2022); +- PACKAGE_VERSION, BUILD_TIMESTAMP, 2024); ++ PACKAGE_VERSION, 2024); return buffer; } @@ -73,9 +73,9 @@ Index: tigervnc-1.13.1/java/CMakeLists.txt =================================================================== --- tigervnc-1.13.1.orig/java/CMakeLists.txt +++ tigervnc-1.13.1/java/CMakeLists.txt -@@ -22,12 +22,6 @@ set(JAVA_STOREPASS NOTFOUND CACHE STRING - set(JAVA_KEYPASS NOTFOUND CACHE STRING "Password used to protect the private key of the specified keystore entry") +@@ -25,12 +25,6 @@ set(JAVA_PKCS11_PROVIDER_ARG NOTFOUND CACHE STRING "Path to the PKCS11 security 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") -if(NOT BUILD) - STRING(TIMESTAMP BUILD "%Y%m%d" UTC) diff --git a/n_dont_sign_java_client.patch b/n_tigervnc-Dont-sign-java-client.patch similarity index 74% rename from n_dont_sign_java_client.patch rename to n_tigervnc-Dont-sign-java-client.patch index 0adbddf..ca59ddd 100644 --- a/n_dont_sign_java_client.patch +++ b/n_tigervnc-Dont-sign-java-client.patch @@ -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: java/CMakeLists.txt +Index: tigervnc-1.13.1/java/CMakeLists.txt =================================================================== ---- java/CMakeLists.txt.orig -+++ java/CMakeLists.txt -@@ -154,15 +154,6 @@ add_custom_command(OUTPUT VncViewer.jar +--- 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 com/jcraft/jsch/jce/*.class com/jcraft/jsch/*.class com/tigervnc/vncviewer/*.png @@ -21,9 +21,12 @@ Index: java/CMakeLists.txt - -DJAVA_KEYSTORE=${JAVA_KEYSTORE} - -DJAVA_KEYSTORE_TYPE=${JAVA_KEYSTORE_TYPE} - -DJAVA_STOREPASS=${JAVA_STOREPASS} +- -DJAVA_PKCS11_PROVIDER_CLASS=${JAVA_PKCS11_PROVIDER_CLASS} +- -DJAVA_PKCS11_PROVIDER_ARG=${JAVA_PKCS11_PROVIDER_ARG} - -DJAVA_KEYPASS=${JAVA_KEYPASS} - -DJAVA_KEY_ALIAS=${JAVA_KEY_ALIAS} - -DJAVA_TSA_URL=${JAVA_TSA_URL} +- -DJAVA_CERT_CHAIN=${JAVA_CERT_CHAIN} - -P ${SRCDIR}/cmake/SignJar.cmake) + com/tigervnc/vncviewer/tigervnc.ico) diff --git a/n_vncserver.patch b/n_tigervnc-Vncserver.patch similarity index 80% rename from n_vncserver.patch rename to n_tigervnc-Vncserver.patch index 2ac642b..183a0da 100644 --- a/n_vncserver.patch +++ b/n_tigervnc-Vncserver.patch @@ -1,7 +1,7 @@ -Index: unix/vncserver/vncserver.in +Index: tigervnc-1.13.1/unix/vncserver/vncserver.in =================================================================== ---- unix/vncserver/vncserver.in.orig -+++ unix/vncserver/vncserver.in +--- tigervnc-1.13.1.orig/unix/vncserver/vncserver.in ++++ tigervnc-1.13.1/unix/vncserver/vncserver.in @@ -1,4 +1,4 @@ -#!/usr/bin/env perl +#!/usr/bin/perl diff --git a/n_tigervnc-reproducible-jar-mtime.patch b/n_tigervnc-reproducible-jar-mtime.patch new file mode 100644 index 0000000..e85cd71 --- /dev/null +++ b/n_tigervnc-reproducible-jar-mtime.patch @@ -0,0 +1,32 @@ +diff -urEbwB tigervnc-1.13.1.orig/java/CMakeLists.txt tigervnc-1.13.1/java/CMakeLists.txt +--- tigervnc-1.13.1.orig/java/CMakeLists.txt 2024-09-26 22:41:57.677131737 +0200 ++++ tigervnc-1.13.1/java/CMakeLists.txt 2024-09-26 22:46:01.029014276 +0200 +@@ -139,6 +139,15 @@ + string(REGEX REPLACE "jar" "" Java_PATH ${Java_JAR_EXECUTABLE}) + string(REGEX REPLACE ".exe" "" Java_PATH ${Java_PATH}) + ++if (DEFINED ENV{SOURCE_DATE_EPOCH}) ++ execute_process( ++ 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") ++endif () ++ + add_custom_command(OUTPUT VncViewer.jar + DEPENDS ${JAVA_CLASSES} + ${SRCDIR}/${CLASSPATH}/MANIFEST.MF +@@ -148,8 +157,10 @@ + ${BINDIR}/${CLASSPATH}/insecure.png + ${BINDIR}/${CLASSPATH}/secure.png + COMMAND ${JAVA_ARCHIVE} +- ARGS cfm VncViewer.jar +- ${SRCDIR}/${CLASSPATH}/MANIFEST.MF ++ ARGS --create ++ --date=${COMPILATION_DATE} ++ --file=VncViewer.jar ++ --manifest=${SRCDIR}/${CLASSPATH}/MANIFEST.MF + ${CLASSPATH}/timestamp + ${CLASSPATH}/*.class + com/tigervnc/rfb/*.class diff --git a/tigervnc-1.13.1.tar.gz b/tigervnc-1.13.1.tar.gz deleted file mode 100644 index 646d8cc..0000000 --- a/tigervnc-1.13.1.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b7c5b8ed9e4e2c2f48c7b2c9f21927db345e542243b4be88e066b2daa3d1ae25 -size 1989081 diff --git a/tigervnc-1.14.1.tar.gz b/tigervnc-1.14.1.tar.gz new file mode 100644 index 0000000..28f1c1c --- /dev/null +++ b/tigervnc-1.14.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:579d0d04eb5b806d240e99a3c756b38936859e6f7db2f4af0d5656cc9a989d7c +size 2097932 diff --git a/tigervnc.changes b/tigervnc.changes index 3d8841a..5d579ff 100644 --- a/tigervnc.changes +++ b/tigervnc.changes @@ -1,3 +1,101 @@ +------------------------------------------------------------------- +Mon Nov 4 11:25:41 UTC 2024 - Joan Torres + +- Update to tigervnc 1.14.1 + * Default installation of native viewer can once again handle VncAuth + * Graphic acceleration now can now be disabled through the vncserver config file the same way as other features + * Command vncpasswd can again correctly update passwords + * Native viewer once again consider passwd file that contain more than one password valid + * Native viewer can once again connect to RealVNC servers + * Users of x0vncserver should no longer experience the mouse cursor moving to the upper left corner + * H264 encoding no longer causes crashing + +- Removed patches (no longer needed): + * u_tigervnc-Change-button-layout-in-ServerDialog.patch + +- Refreshed patches: + * n_tigervnc-Date-time.patch + * n_tigervnc-Dont-sign-java-client.patch + * n_tigervnc-reproducible-jar-mtime.patch + * u_tigervnc-Add-autoaccept-parameter.patch + * u_tigervnc-Build-libXvnc-as-separate-library.patch + * u_tigervnc-Ignore-epipe-on-write.patch + +------------------------------------------------------------------- +Mon Nov 4 11:24:45 UTC 2024 - Joan Torres + +- Fix path on vncviewer desktop file. Use %use_update_alternative + +------------------------------------------------------------------- +Mon Oct 28 08:49:56 UTC 2024 - Dominique Leuenberger + +- Require /usr/bin/dbus-launch insted of dbus-1-x11: Do not rely on + legacy dbus-1-x11 package, which is going away after moving to + dbus-broker. + +------------------------------------------------------------------- +Fri Oct 18 12:10:51 UTC 2024 - Dominique Leuenberger + +- Do not ship rcFOO symlinks for CODE 16 (PED-266). +- No longer use update alternatives on CODE 16: there are no + alternatives for vncviewer present. + +------------------------------------------------------------------- +Thu Sep 26 20:58:00 UTC 2024 - Fridrich Strba + +- Added patch: + * n_tigervnc-reproducible-jar-mtime.patch + + Use SOURCE_DATE_EPOCH for reproducible jar mtime + + Applied if building with Java >= 17 + +------------------------------------------------------------------- +Tue Sep 24 11:27:02 UTC 2024 - Stefan Dirsch + +- added conflicts to patterns-wsl-tmpfiles as this patterns package + creates a symlink from /tmp/.X11-unix to /mnt/wslg/.X11-unix and + therefore prevents Xvnc from creating this needed directory + (bsc#1230755) + +------------------------------------------------------------------- +Mon Feb 26 11:29:31 UTC 2024 - pgajdos@suse.com + +- remove dependency on /usr/bin/python3 using + %python3_fix_shebang macro, [bsc#1212476] + +------------------------------------------------------------------- +Wed Feb 21 09:15:27 UTC 2024 - Joan Torres + +- Set the URL at Source0. + +------------------------------------------------------------------- +Tue Feb 20 16:12:44 UTC 2024 - Stefan Dirsch + +- patches have been renamed + * u_build_libXvnc_as_separate_library.patch --> + u_tigervnc-Build-libXvnc-as-separate-library.patch + * n_vncserver.patch --> + n_tigervnc-Vncserver.patch + * n_correct_path_in_desktop_file.patch --> + n_tigervnc-Correct-path-in-desktop-file.patch + * n_tigervnc-date-time.patch --> + n_tigervnc-Date-time.patch + * u_change-button-layout-in-ServerDialog.patch --> + u_tigervnc-Change-button-layout-in-ServerDialog.patch + * n_dont_sign_java_client.patch --> + n_tigervnc-Dont-sign-java-client.patch + * u_tigervnc-add-autoaccept-parameter.patch --> + u_tigervnc-Add-autoaccept-parameter.patch + * u_tigervnc-ignore-epipe-on-write.patch + u_tigervnc-Ignore-epipe-on-write.patch + +------------------------------------------------------------------- +Tue Feb 20 10:16:54 UTC 2024 - Joan Torres + +- Cleanup specfile + * Use the same format for all the patches. + * Use autosetup to apply all the patches with -p1. + * Clean number of sources. + ------------------------------------------------------------------- Mon Feb 19 12:49:39 UTC 2024 - Stefan Dirsch diff --git a/tigervnc.spec b/tigervnc.spec index 92e05d4..0414f64 100644 --- a/tigervnc.spec +++ b/tigervnc.spec @@ -25,42 +25,49 @@ %else %define use_firewalld 0 %endif +%define use_update_alternative 0%{?suse_version} >= 1315 && 0%{?suse_version} < 1600 +%define with_rc_service_symlink 0%{?suse_version} && 0%{?suse_version} < 1600 %if 0%{?suse_version} < 1550 %define _pam_vendordir %{_sysconfdir}/pam.d %endif Name: tigervnc -Version: 1.13.1 +Version: 1.14.1 Release: 0 Summary: An implementation of VNC License: GPL-2.0-only AND MIT Group: System/X11/Servers/XF86_4 URL: https://tigervnc.org/ -Source1: https://github.com/TigerVNC/tigervnc/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz -Source4: 10-libvnc.conf -Source5: vnc-server.susefirewall -Source6: vnc-httpd.susefirewall -Source7: vnc.reg -Source8: vncpasswd.arg -Source9: vnc.pam -Source10: with-vnc-key.sh -Source11: index.vnc -Source12: x11vnc -Source13: xvnc@.service.in -Source14: xvnc.socket -Source16: xvnc-novnc.socket -Source17: tigervnc.firewalld -Source18: tigervnc-https.firewalld -Source19: xvnc.target -Source21: xvnc-novnc.service.in -Source22: vnc.sysusers -Patch1: u_tigervnc-ignore-epipe-on-write.patch -Patch2: u_build_libXvnc_as_separate_library.patch -Patch3: u_tigervnc-add-autoaccept-parameter.patch -Patch4: u_change-button-layout-in-ServerDialog.patch -Patch5: n_tigervnc-date-time.patch -Patch6: n_correct_path_in_desktop_file.patch -Patch7: n_vncserver.patch -Patch8: n_dont_sign_java_client.patch +Source0: https://github.com/TigerVNC/tigervnc/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz +Source1: 10-libvnc.conf +Source2: vnc-server.susefirewall +Source3: vnc-httpd.susefirewall +Source4: vnc.reg +Source5: vncpasswd.arg +Source6: vnc.pam +Source7: with-vnc-key.sh +Source8: index.vnc +Source9: x11vnc +Source10: xvnc@.service.in +Source11: xvnc.socket +Source12: xvnc-novnc.socket +Source13: tigervnc.firewalld +Source14: tigervnc-https.firewalld +Source15: xvnc.target +Source16: xvnc-novnc.service.in +Source17: vnc.sysusers +Patch1: u_tigervnc-Ignore-epipe-on-write.patch +Patch2: u_tigervnc-Build-libXvnc-as-separate-library.patch +Patch3: u_tigervnc-Add-autoaccept-parameter.patch +Patch4: n_tigervnc-Date-time.patch +%if %use_update_alternative +Patch5: n_tigervnc-Correct-path-in-desktop-file.patch +%endif +Patch6: n_tigervnc-Vncserver.patch +Patch7: n_tigervnc-Dont-sign-java-client.patch +# The "--date" option was added into jar in OpenJDK 17 +%if %{?pkg_vcmp:%pkg_vcmp java-devel >= 17}%{!?pkg_vcmp:0} +Patch8: n_tigervnc-reproducible-jar-mtime.patch +%endif Provides: tightvnc = 1.5.0 Obsoletes: tightvnc < 1.5.0 Provides: vnc @@ -130,9 +137,9 @@ BuildRequires: pkgconfig(xorg-macros) >= 1.14 BuildRequires: pkgconfig(xproto) >= 7.0.17 BuildRequires: pkgconfig(xtrans) >= 1.2.2 BuildRequires: pkgconfig(zlib) -%if 0%{?suse_version} >= 1315 +%if %use_update_alternative Requires(post): update-alternatives -Requires(postun):update-alternatives +Requires(postun): update-alternatives %endif %description @@ -154,7 +161,7 @@ BuildRequires: firewall-macros %endif # Needed to generate certificates Requires: windowmanager -Requires: dbus-1-x11 +Requires: /usr/bin/dbus-launch Requires: xauth Requires: xinit Requires: xkbcomp @@ -170,6 +177,7 @@ Recommends: xorg-x11-Xvnc-module Provides: tightvnc = 1.5.0 Obsoletes: tightvnc < 1.5.0 Provides: xorg-x11-Xvnc:/usr/lib/vnc/with-vnc-key.sh +Conflicts: patterns-wsl-tmpfiles %description -n xorg-x11-Xvnc This is the TigerVNC implementation of Xvnc. @@ -235,27 +243,19 @@ This is a wrapper that looks like x11vnc, but starts x0vncserver instead. It maps common x11vnc arguments to x0vncserver arguments. %prep -%setup -T -b1 -q -n tigervnc-%{version} -%patch1 -p0 -%patch2 -p1 -%patch3 -p1 -%patch4 -p1 -%patch5 -p1 -%patch6 -p1 -%patch7 -p0 -%patch8 -p0 +%autosetup -p1 cp -r %{_prefix}/src/xserver/* unix/xserver/ pushd unix/xserver -patch -p1 < ../xserver21.1.1.patch +patch -p1 < ../xserver21.patch popd %build -%sysusers_generate_pre %{SOURCE22} xorg-x11-Xvnc vnc.conf +%sysusers_generate_pre %{SOURCE17} xorg-x11-Xvnc vnc.conf export CXXFLAGS="%optflags" export CFLAGS="%optflags" -sed "s|@LIBEXECDIR@|%{_libexecdir}|g" %{SOURCE13} > xvnc@.service -sed "s|@LIBEXECDIR@|%{_libexecdir}|g" %{SOURCE21} > xvnc-novnc.service +sed "s|@LIBEXECDIR@|%{_libexecdir}|g" %{SOURCE10} > xvnc@.service +sed "s|@LIBEXECDIR@|%{_libexecdir}|g" %{SOURCE16} > xvnc-novnc.service # Build all tigervnc cmake -DCMAKE_VERBOSE_MAKEFILE=ON \ -DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} \ @@ -296,8 +296,10 @@ popd %make_install +%if %use_update_alternative mv %{buildroot}%{_bindir}/vncviewer %{buildroot}%{_bindir}/vncviewer-tigervnc mv %{buildroot}%{_datadir}/man/man1/vncviewer.1 %{buildroot}%{_datadir}/man/man1/vncviewer-tigervnc.1 +%endif pushd unix/xserver %make_install @@ -309,62 +311,65 @@ install -m755 VncViewer.jar %{buildroot}%{_datadir}/vnc/classes popd %ifnarch s390x -install -D -m 644 %{SOURCE4} %{buildroot}%{_datadir}/X11/xorg.conf.d/10-libvnc.conf +install -D -m 644 %{SOURCE1} %{buildroot}%{_datadir}/X11/xorg.conf.d/10-libvnc.conf %endif %if %{use_firewalld} -install -D -m 644 %{SOURCE17} %{buildroot}%{_prefix}/lib/firewalld/services/tigervnc.xml -install -D -m 644 %{SOURCE18} %{buildroot}%{_prefix}/lib/firewalld/services/tigervnc-https.xml +install -D -m 644 %{SOURCE13} %{buildroot}%{_prefix}/lib/firewalld/services/tigervnc.xml +install -D -m 644 %{SOURCE14} %{buildroot}%{_prefix}/lib/firewalld/services/tigervnc-https.xml %else -install -D -m 644 %{SOURCE5} %{buildroot}%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/vnc-server -install -D -m 644 %{SOURCE6} %{buildroot}%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/vnc-httpd +install -D -m 644 %{SOURCE2} %{buildroot}%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/vnc-server +install -D -m 644 %{SOURCE3} %{buildroot}%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/vnc-httpd %endif # only package as %%doc (boo#1173045) -cp %{SOURCE7} . -install -D -m 755 %{SOURCE8} %{buildroot}%{_bindir}/vncpasswd.arg -install -D -m 644 %{SOURCE9} %{buildroot}%{_pam_vendordir}/vnc +cp %{SOURCE4} . +install -D -m 755 %{SOURCE5} %{buildroot}%{_bindir}/vncpasswd.arg +install -D -m 644 %{SOURCE6} %{buildroot}%{_pam_vendordir}/vnc %if 0%{?suse_version} >= 1550 mv %{buildroot}%{_sysconfdir}/pam.d/tigervnc %{buildroot}%{_pam_vendordir} %endif -install -D -m 644 %{SOURCE11} %{buildroot}%{_datadir}/vnc/classes -%if 0%{?suse_version} >= 1315 +install -D -m 644 %{SOURCE8} %{buildroot}%{_datadir}/vnc/classes +%if %use_update_alternative ln -s -f %{_sysconfdir}/alternatives/vncviewer %{buildroot}%{_bindir}/vncviewer ln -s -f %{_sysconfdir}/alternatives/vncviewer.1.gz %{buildroot}%{_mandir}/man1/vncviewer.1.gz %endif +%if %with_rc_service_symlink mkdir -p %{buildroot}%{_sbindir} ln -sf %{_sbindir}/service %{buildroot}%{_sbindir}/rcxvnc ln -sf %{_sbindir}/service %{buildroot}%{_sbindir}/rcxvnc-novnc +%endif mkdir -p %{buildroot}%{_sysconfdir}/vnc mkdir -p %{buildroot}%{_libexecdir}/vnc -install -D -m 755 %{SOURCE10} %{buildroot}%{_libexecdir}/vnc +install -D -m 755 %{SOURCE7} %{buildroot}%{_libexecdir}/vnc -install -D -m 755 %{SOURCE12} %{buildroot}%{_bindir}/x11vnc +install -D -m 755 %{SOURCE9} %{buildroot}%{_bindir}/x11vnc install -D xvnc@.service -m 0444 %{buildroot}%{_unitdir}/xvnc@.service -install -D %{SOURCE14} -m 0444 %{buildroot}%{_unitdir}/xvnc.socket -install -D %{SOURCE16} -m 0444 %{buildroot}%{_unitdir}/xvnc-novnc.socket -install -D %{SOURCE19} -m 0444 %{buildroot}%{_unitdir}/xvnc.target +install -D %{SOURCE11} -m 0444 %{buildroot}%{_unitdir}/xvnc.socket +install -D %{SOURCE12} -m 0444 %{buildroot}%{_unitdir}/xvnc-novnc.socket +install -D %{SOURCE15} -m 0444 %{buildroot}%{_unitdir}/xvnc.target install -D xvnc-novnc.service -m 0444 %{buildroot}%{_unitdir}/xvnc-novnc.service -install -Dm0644 %{SOURCE22} %{buildroot}%{_sysusersdir}/vnc.conf +install -Dm0644 %{SOURCE17} %{buildroot}%{_sysusersdir}/vnc.conf rm -rf %{buildroot}%{_datadir}/doc/tigervnc* %find_lang '%{name}' +%python3_fix_shebang +%if %use_update_alternative %post -%if 0%{?suse_version} >= 1315 %_sbindir/update-alternatives \ --install %{_bindir}/vncviewer vncviewer %{_bindir}/vncviewer-tigervnc 20 \ --slave %{_mandir}/man1/vncviewer.1.gz vncviewer.1.gz %{_mandir}/man1/vncviewer-tigervnc.1.gz %endif +%if %use_update_alternative %postun -%if 0%{?suse_version} >= 1315 if [ "$1" = 0 ] ; then "%{_sbindir}/update-alternatives" --remove vncviewer %{_bindir}/vncviewer-tigervnc fi @@ -428,17 +433,19 @@ fi %postun -n libXvnc1 -p /sbin/ldconfig %files -f %{name}.lang -%ghost %{_bindir}/vncviewer -%{_bindir}/vncviewer-tigervnc %license LICENCE.TXT %doc README.rst +%if %use_update_alternative +%ghost %{_bindir}/vncviewer +%{_bindir}/vncviewer-tigervnc %ghost %{_mandir}/man1/vncviewer.1.gz %{_mandir}/man1/vncviewer-tigervnc.1%{?ext_man} -%if 0%{?suse_version} >= 1315 %ghost %{_sysconfdir}/alternatives/vncviewer %ghost %{_sysconfdir}/alternatives/vncviewer.1.gz +%else +%{_bindir}/vncviewer +%{_mandir}/man1/vncviewer.1%{?ext_man} %endif - %dir %{_datadir}/icons/hicolor/16x16 %dir %{_datadir}/icons/hicolor/16x16/apps %dir %{_datadir}/icons/hicolor/22x22 @@ -490,7 +497,9 @@ fi %{_unitdir}/xvnc.socket %{_unitdir}/xvnc.target %{_sysusersdir}/vnc.conf +%if %with_rc_service_symlink %{_sbindir}/rcxvnc +%endif %dir %{_sysconfdir}/tigervnc %config(noreplace) %{_sysconfdir}/tigervnc/vncserver* @@ -539,7 +548,9 @@ fi %files -n xorg-x11-Xvnc-novnc %{_unitdir}/xvnc-novnc.service %{_unitdir}/xvnc-novnc.socket +%if %with_rc_service_symlink %{_sbindir}/rcxvnc-novnc +%endif %files -n xorg-x11-Xvnc-java %doc java/com/tigervnc/vncviewer/README diff --git a/u_change-button-layout-in-ServerDialog.patch b/u_change-button-layout-in-ServerDialog.patch deleted file mode 100644 index 04e81e3..0000000 --- a/u_change-button-layout-in-ServerDialog.patch +++ /dev/null @@ -1,32 +0,0 @@ -Patch-mainline: To be upstreamed -References: bnc#1084865 -Author: Michal Srb -Subject: Change button layout in ServerDialog. - -To fit strings in languages with longer words... ---- - vncviewer/ServerDialog.cxx | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -Index: tigervnc-1.13.0/vncviewer/ServerDialog.cxx -=================================================================== ---- tigervnc-1.13.0.orig/vncviewer/ServerDialog.cxx -+++ tigervnc-1.13.0/vncviewer/ServerDialog.cxx -@@ -70,7 +70,7 @@ ServerDialog::ServerDialog() - serverName = new Fl_Input_Choice(x, y, w() - margin*2 - server_label_width, INPUT_HEIGHT, _("VNC server:")); - usedDir = NULL; - -- int adjust = (w() - 20) / 4; -+ int adjust = (w() - 20) / 3; - int button_width = adjust - margin/2; - - x = margin; -@@ -93,6 +93,8 @@ ServerDialog::ServerDialog() - - x = 0; - y += margin/2 + BUTTON_HEIGHT; -+ adjust = (w() - 20) / 4; -+ button_width = adjust - margin/2; - - divider = new Fl_Box(x, y, w(), 2); - divider->box(FL_THIN_DOWN_FRAME); diff --git a/u_tigervnc-add-autoaccept-parameter.patch b/u_tigervnc-Add-autoaccept-parameter.patch similarity index 81% rename from u_tigervnc-add-autoaccept-parameter.patch rename to u_tigervnc-Add-autoaccept-parameter.patch index 830a92f..a1b9c2c 100644 --- a/u_tigervnc-add-autoaccept-parameter.patch +++ b/u_tigervnc-Add-autoaccept-parameter.patch @@ -2,17 +2,17 @@ Index: tigervnc-1.12.0/java/com/tigervnc/rfb/CSecurityTLS.java =================================================================== --- tigervnc-1.12.0.orig/java/com/tigervnc/rfb/CSecurityTLS.java +++ tigervnc-1.12.0/java/com/tigervnc/rfb/CSecurityTLS.java -@@ -66,6 +66,9 @@ public class CSecurityTLS extends CSecur +@@ -66,6 +66,9 @@ public class CSecurityTLS extends CSecurity { public static StringParameter X509CRL = new StringParameter("X509CRL", "X509 CRL file", "", Configuration.ConfigurationObject.ConfViewer); + public static StringParameter x509autoaccept + = new StringParameter("x509autoaccept", + "X509 Certificate SHA-1 fingerprint", "", Configuration.ConfigurationObject.ConfViewer); - public static UserMsgBox msg; private void initGlobal() -@@ -85,6 +88,7 @@ public class CSecurityTLS extends CSecur + { +@@ -84,6 +87,7 @@ public class CSecurityTLS extends CSecurity { setDefaults(); cafile = X509CA.getData(); crlfile = X509CRL.getData(); @@ -20,15 +20,15 @@ Index: tigervnc-1.12.0/java/com/tigervnc/rfb/CSecurityTLS.java } public static String getDefaultCA() { -@@ -278,6 +282,7 @@ public class CSecurityTLS extends CSecur +@@ -277,6 +281,7 @@ public class CSecurityTLS extends CSecurity { "do you want to continue?")) throw new AuthFailureException("server certificate has expired"); } + String thumbprint = getThumbprint(cert); - File vncDir = new File(FileUtils.getVncHomeDir()); + File vncDir = new File(FileUtils.getVncStateDir()); if (!vncDir.exists()) { try { -@@ -337,6 +342,9 @@ public class CSecurityTLS extends CSecur +@@ -336,6 +341,9 @@ public class CSecurityTLS extends CSecurity { store_pubkey(dbPath, client.getServerName().toLowerCase(), pk); } catch (java.lang.Exception e) { if (e.getCause() instanceof CertPathBuilderException) { @@ -38,7 +38,7 @@ Index: tigervnc-1.12.0/java/com/tigervnc/rfb/CSecurityTLS.java vlog.debug("Server host not previously known"); vlog.debug(info); String text = -@@ -524,7 +532,7 @@ public class CSecurityTLS extends CSecur +@@ -522,7 +530,7 @@ public class CSecurityTLS extends CSecurity { private SSLEngineManager manager; private boolean anon; diff --git a/u_build_libXvnc_as_separate_library.patch b/u_tigervnc-Build-libXvnc-as-separate-library.patch similarity index 81% rename from u_build_libXvnc_as_separate_library.patch rename to u_tigervnc-Build-libXvnc-as-separate-library.patch index 7e79a98..db8df4f 100644 --- a/u_build_libXvnc_as_separate_library.patch +++ b/u_tigervnc-Build-libXvnc-as-separate-library.patch @@ -8,10 +8,18 @@ Index: tigervnc-1.12.0/unix/vncconfig/CMakeLists.txt =================================================================== --- tigervnc-1.12.0.orig/unix/vncconfig/CMakeLists.txt +++ tigervnc-1.12.0/unix/vncconfig/CMakeLists.txt -@@ -3,13 +3,25 @@ include_directories(${X11_INCLUDE_DIR}) - include_directories(${CMAKE_SOURCE_DIR}/common) - include_directories(${CMAKE_SOURCE_DIR}/unix/tx) +@@ -1,6 +1,5 @@ + add_executable(vncconfig + buildtime.c +- vncExt.c + vncconfig.cxx + QueryConnectDialog.cxx) +@@ -9,7 +8,20 @@ target_include_directories(vncconfig SYSTEM PUBLIC ${X11_INCLUDE_DIR}) + 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}) +include(GNUInstallDirs) + +add_library(Xvnc SHARED @@ -23,13 +31,6 @@ Index: tigervnc-1.12.0/unix/vncconfig/CMakeLists.txt + SOVERSION 1 +) + - add_executable(vncconfig - buildtime.c -- vncExt.c - vncconfig.cxx - QueryConnectDialog.cxx) - --target_link_libraries(vncconfig tx rfb network rdr ${X11_LIBRARIES}) +target_link_libraries(vncconfig tx rfb network rdr Xvnc ${X11_LIBRARIES}) install(TARGETS vncconfig DESTINATION ${CMAKE_INSTALL_FULL_BINDIR}) diff --git a/u_tigervnc-ignore-epipe-on-write.patch b/u_tigervnc-Ignore-epipe-on-write.patch similarity index 62% rename from u_tigervnc-ignore-epipe-on-write.patch rename to u_tigervnc-Ignore-epipe-on-write.patch index 19a444d..9f35305 100644 --- a/u_tigervnc-ignore-epipe-on-write.patch +++ b/u_tigervnc-Ignore-epipe-on-write.patch @@ -5,21 +5,21 @@ References: bnc#864676 If the VNC server closes connection after our last read and before this write, we will report error message about EPIPE. This situation is no error, however, we should quit normally same as when we find out that connection was closed during read. -Index: common/rdr/FdOutStream.cxx +Index: tigervnc-1.13.1/common/rdr/FdOutStream.cxx =================================================================== ---- common/rdr/FdOutStream.cxx.orig -+++ common/rdr/FdOutStream.cxx -@@ -128,8 +128,12 @@ size_t FdOutStream::writeFd(const void* +--- tigervnc-1.13.1.orig/common/rdr/FdOutStream.cxx ++++ tigervnc-1.13.1/common/rdr/FdOutStream.cxx +@@ -133,8 +133,12 @@ size_t FdOutStream::writeFd(const uint8_t* data, size_t length) #endif - } while (n < 0 && (errno == EINTR)); + } while (n < 0 && (errorNumber == EINTR)); - if (n < 0) -- throw SystemException("write", errno); +- throw SystemException("write", errorNumber); + if (n < 0) { -+ if(errno == EPIPE) ++ 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 SystemException("write", errno); ++ throw SystemException("write", errorNumber); + } gettimeofday(&lastWrite, NULL);