From 2dbf2c023a23f722b488030afd54ccb676973884ba0172e05e206939fc699d50 Mon Sep 17 00:00:00 2001 From: Stefan Dirsch Date: Thu, 28 Oct 2021 12:37:45 +0000 Subject: [PATCH 1/3] - u_tigervnc-211.patch, xserver211.patch * fixes build against xorg-server 21.1 sources OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/tigervnc?expand=0&rev=216 --- tigervnc.changes | 6 +++ tigervnc.spec | 6 ++- u_tigervnc-211.patch | 11 +++++ xserver211.patch | 102 +++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 124 insertions(+), 1 deletion(-) create mode 100644 u_tigervnc-211.patch create mode 100644 xserver211.patch diff --git a/tigervnc.changes b/tigervnc.changes index 21c2126..0ef0c43 100644 --- a/tigervnc.changes +++ b/tigervnc.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Thu Oct 28 12:03:58 UTC 2021 - Stefan Dirsch + +- u_tigervnc-211.patch, xserver211.patch + * fixes build against xorg-server 21.1 sources + ------------------------------------------------------------------- Thu Oct 21 10:16:38 UTC 2021 - Joan Torres diff --git a/tigervnc.spec b/tigervnc.spec index 3b77cda..0a023b3 100644 --- a/tigervnc.spec +++ b/tigervnc.spec @@ -75,6 +75,8 @@ Patch21: U_0001-Properly-store-certificate-exceptions.patch Patch22: U_0002-Properly-store-certificate-exceptions-in-Java-viewer.patch Patch23: n_utilize-system-crypto-policies.patch Patch24: tigervnc-FIPS-use-RFC7919.patch +Patch25: u_tigervnc-211.patch +Patch26: xserver211.patch Provides: tightvnc = 1.3.9 Obsoletes: tightvnc < 1.3.9 Provides: vnc @@ -269,10 +271,12 @@ It maps common x11vnc arguments to x0vncserver arguments. %patch23 -p1 %endif %patch24 -p1 +%patch25 -p0 cp -r %{_prefix}/src/xserver/* unix/xserver/ pushd unix/xserver -patch -p1 < ../xserver120.patch +#patch -p1 < ../xserver120.patch +%patch26 -p1 popd %build diff --git a/u_tigervnc-211.patch b/u_tigervnc-211.patch new file mode 100644 index 0000000..e39183d --- /dev/null +++ b/u_tigervnc-211.patch @@ -0,0 +1,11 @@ +--- ./unix/xserver/hw/vnc/xorg-version.h.orig 2021-10-28 13:58:20.309981257 +0200 ++++ ./unix/xserver/hw/vnc/xorg-version.h 2021-10-28 13:59:33.179368585 +0200 +@@ -54,6 +54,8 @@ + #define XORG 119 + #elif XORG_VERSION_CURRENT < ((1 * 10000000) + (20 * 100000) + (99 * 1000)) + #define XORG 120 ++#elif XORG_VERSION_CURRENT < ((21 * 10000000) + (1 * 100000) + (99 * 1000)) ++#define XORG 211 + #else + #error "X.Org newer than 1.20 is not supported" + #endif diff --git a/xserver211.patch b/xserver211.patch new file mode 100644 index 0000000..a96262b --- /dev/null +++ b/xserver211.patch @@ -0,0 +1,102 @@ +diff -u -r xserver.orig/configure.ac xserver/configure.ac +--- xserver.orig/configure.ac 2021-10-28 11:39:43.200727345 +0000 ++++ xserver/configure.ac 2021-10-28 11:39:57.993008591 +0000 +@@ -72,6 +72,7 @@ + AC_CONFIG_HEADERS(include/version-config.h) + + AM_PROG_AS ++AC_PROG_CXX + AC_PROG_LN_S + LT_PREREQ([2.2]) + LT_INIT([disable-static win32-dll]) +@@ -1713,6 +1714,10 @@ + AC_SUBST([XVFB_SYS_LIBS]) + fi + ++dnl Xvnc DDX ++AC_SUBST([XVNC_CPPFLAGS], ["-DHAVE_DIX_CONFIG_H $XSERVER_CFLAGS"]) ++AC_SUBST([XVNC_LIBS], ["$FB_LIB $FIXES_LIB $XEXT_LIB $CONFIG_LIB $DBE_LIB $RECORD_LIB $GLX_LIBS $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $DRI3_LIB $PRESENT_LIB $MIEXT_SYNC_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB $MAIN_LIB"]) ++AC_SUBST([XVNC_SYS_LIBS], ["$GLX_SYS_LIBS"]) + + dnl Xnest DDX + +@@ -1748,6 +1753,8 @@ + fi + AC_MSG_RESULT([$XORG]) + ++AC_DEFINE_UNQUOTED(XORG_VERSION_CURRENT, [$VENDOR_RELEASE], [Current Xorg version]) ++ + if test "x$XORG" = xyes; then + PKG_CHECK_MODULES([LIBXCVT], $LIBXCVT) + +@@ -1956,7 +1963,6 @@ + AC_DEFINE(XORG_SERVER, 1, [Building Xorg server]) + AC_DEFINE(XORGSERVER, 1, [Building Xorg server]) + AC_DEFINE(XFree86Server, 1, [Building XFree86 server]) +- AC_DEFINE_UNQUOTED(XORG_VERSION_CURRENT, [$VENDOR_RELEASE], [Current Xorg version]) + AC_DEFINE(NEED_XF86_TYPES, 1, [Need XFree86 typedefs]) + AC_DEFINE(NEED_XF86_PROTOTYPES, 1, [Need XFree86 helper functions]) + AC_DEFINE(__XSERVERNAME__, "Xorg", [Name of X server]) +@@ -2339,6 +2345,7 @@ + hw/xfree86/utils/gtf/Makefile + hw/vfb/Makefile + hw/vfb/man/Makefile ++hw/vnc/Makefile + hw/xnest/Makefile + hw/xnest/man/Makefile + hw/xwin/Makefile +diff -u -r xserver.orig/hw/Makefile.am xserver/hw/Makefile.am +--- xserver.orig/hw/Makefile.am 2021-10-28 11:39:43.156726511 +0000 ++++ xserver/hw/Makefile.am 2021-10-28 11:41:02.890242547 +0000 +@@ -28,7 +28,8 @@ + $(XVFB_SUBDIRS) \ + $(XNEST_SUBDIRS) \ + $(KDRIVE_SUBDIRS) \ +- $(XQUARTZ_SUBDIRS) ++ $(XQUARTZ_SUBDIRS) \ ++ vnc + + DIST_SUBDIRS = xfree86 vfb xnest xwin xquartz kdrive + +diff -u -r xserver.orig/mi/miinitext.c xserver/mi/miinitext.c +--- xserver.orig/mi/miinitext.c 2021-10-28 11:39:43.232727953 +0000 ++++ xserver/mi/miinitext.c 2021-10-28 11:39:57.993008591 +0000 +@@ -106,8 +106,15 @@ + + #include "miinitext.h" + ++#ifdef TIGERVNC ++extern void vncExtensionInit(void); ++#endif ++ + /* List of built-in (statically linked) extensions */ + static const ExtensionModule staticExtensions[] = { ++#ifdef TIGERVNC ++ {vncExtensionInit, "VNC-EXTENSION", NULL}, ++#endif + {GEExtensionInit, "Generic Event Extension", &noGEExtension}, + {ShapeExtensionInit, "SHAPE", NULL}, + #ifdef MITSHM +diff -u -r xserver.old/hw/vnc/xvnc.c xserver/hw/vnc/xvnc.c +--- xserver.old/hw/vnc/xvnc.c 2021-10-28 12:14:39.360628791 +0000 ++++ xserver/hw/vnc/xvnc.c 2021-10-28 12:30:56.599310018 +0000 +@@ -85,7 +85,18 @@ + #undef VENDOR_RELEASE + #undef VENDOR_STRING + #include "version-config.h" +-#include "site.h" ++ ++#ifndef VENDOR_STRING ++#define VENDOR_STRING "The X.Org Foundation" ++#endif ++ ++/* 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.10.0" + #define XVNCCOPYRIGHT ("Copyright (C) 1999-2019 TigerVNC Team and many others (see README.rst)\n" \ From 0580429297f551be21a3f793972d396a6f18292d149839c060fe462e9141fd37 Mon Sep 17 00:00:00 2001 From: Stefan Dirsch Date: Thu, 28 Oct 2021 15:38:01 +0000 Subject: [PATCH 2/3] Accepting request 927967 from home:gmbr3:Active - Change to systemd-sysusers OBS-URL: https://build.opensuse.org/request/show/927967 OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/tigervnc?expand=0&rev=217 --- tigervnc.changes | 5 +++++ tigervnc.spec | 20 ++++++++++---------- vnc.sysusers | 3 +++ 3 files changed, 18 insertions(+), 10 deletions(-) create mode 100644 vnc.sysusers diff --git a/tigervnc.changes b/tigervnc.changes index 0ef0c43..e16a419 100644 --- a/tigervnc.changes +++ b/tigervnc.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Thu Oct 28 13:05:33 UTC 2021 - Callum Farmer + +- Change to systemd-sysusers + ------------------------------------------------------------------- Thu Oct 28 12:03:58 UTC 2021 - Stefan Dirsch diff --git a/tigervnc.spec b/tigervnc.spec index 0a023b3..b306212 100644 --- a/tigervnc.spec +++ b/tigervnc.spec @@ -58,6 +58,7 @@ Source17: tigervnc.firewalld Source18: tigervnc-https.firewalld Source19: xvnc.target Source21: xvnc-novnc.service.in +Source22: vnc.sysusers Patch1: tigervnc-newfbsize.patch Patch2: tigervnc-clean-pressed-key-on-exit.patch Patch3: u_tigervnc-ignore-epipe-on-write.patch @@ -105,8 +106,9 @@ BuildRequires: libgcrypt-devel BuildRequires: libgpg-error-devel BuildRequires: mozilla-nss BuildRequires: pam-devel -BuildRequires: pkg-config +BuildRequires: pkgconfig BuildRequires: systemd-rpm-macros +BuildRequires: sysuser-tools BuildRequires: xmlto BuildRequires: xorg-x11-libICE-devel BuildRequires: xorg-x11-libSM-devel @@ -161,8 +163,8 @@ extensions for advanced authentication methods and TLS encryption. %package -n xorg-x11-Xvnc Summary: TigerVNC implementation of Xvnc Group: System/X11/Servers/XF86_4 -Requires(post): /usr/sbin/useradd -Requires(post): /usr/sbin/groupadd +Requires(pre): group(shadow) +%sysusers_requires Requires(post): /bin/awk Requires(post): systemd %if %{use_firewalld} @@ -280,6 +282,7 @@ pushd unix/xserver popd %build +%sysusers_generate_pre %{SOURCE22} xorg-x11-Xvnc vnc.conf export CXXFLAGS="%optflags" export CFLAGS="%optflags" sed "s|@LIBEXECDIR@|%{_libexecdir}|g" %{SOURCE21} > xvnc-novnc.service @@ -372,6 +375,8 @@ install -D %{SOURCE16} -m 0444 %{buildroot}%{_unitdir}/xvnc-novnc.socket install -D %{SOURCE19} -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 + rm -rf %{buildroot}%{_datadir}/doc/tigervnc-* %find_lang '%{name}' @@ -390,15 +395,9 @@ if [ "$1" = 0 ] ; then fi %endif -%pre -n xorg-x11-Xvnc +%pre -n xorg-x11-Xvnc -f xorg-x11-Xvnc.pre %service_add_pre xvnc.socket -getent group %{vncgroup} > /dev/null || groupadd -r %{vncgroup} || : -getent passwd %{vncuser} > /dev/null || useradd -r -g %{vncgroup} -d %{_sharedstatedir}/empty -s /sbin/nologin -c "user for VNC" %{vncuser} || : -# add vnc user to shadow group. (bsc#980326) -# more details about the reasoning in bsc#1162951 -usermod -G shadow -a %{vncuser} || : - %post -n xorg-x11-Xvnc %service_add_post xvnc.socket @@ -491,6 +490,7 @@ fi %{_unitdir}/xvnc@.service %{_unitdir}/xvnc.socket %{_unitdir}/xvnc.target +%{_sysusersdir}/vnc.conf %{_sbindir}/rcxvnc %exclude %{_sharedstatedir}/xkb/compiled/README.compiled diff --git a/vnc.sysusers b/vnc.sysusers new file mode 100644 index 0000000..00470eb --- /dev/null +++ b/vnc.sysusers @@ -0,0 +1,3 @@ +#Type Name ID GECOS Home directory Shell +u vnc - "user for VNC" /var/lib/empty - +m vnc shadow - - - From 8201077051dcf3cd626e754c8870cf7e1eeaa9629f2c72e1e94b34288f072538 Mon Sep 17 00:00:00 2001 From: Stefan Dirsch Date: Fri, 29 Oct 2021 16:58:57 +0000 Subject: [PATCH 3/3] - buildrequire xorg-x11-server-sdk/xorg-x11-server-source >= 21.1.0 OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/tigervnc?expand=0&rev=218 --- tigervnc.changes | 5 +++++ tigervnc.spec | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/tigervnc.changes b/tigervnc.changes index e16a419..17c2c46 100644 --- a/tigervnc.changes +++ b/tigervnc.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Fri Oct 29 16:57:10 UTC 2021 - Stefan Dirsch + +- buildrequire xorg-x11-server-sdk/xorg-x11-server-source >= 21.1.0 + ------------------------------------------------------------------- Thu Oct 28 13:05:33 UTC 2021 - Callum Farmer diff --git a/tigervnc.spec b/tigervnc.spec index b306212..d4cbef7 100644 --- a/tigervnc.spec +++ b/tigervnc.spec @@ -93,8 +93,8 @@ BuildRequires: libjpeg-devel BuildRequires: libopenssl-devel BuildRequires: libtool BuildRequires: nasm -BuildRequires: xorg-x11-server-sdk -BuildRequires: xorg-x11-server-source +BuildRequires: xorg-x11-server-sdk >= 21.1.0 +BuildRequires: xorg-x11-server-source >= 21.1.0 BuildRequires: pkgconfig(x11) BuildRequires: pkgconfig(xext) BuildRequires: pkgconfig(xproto)