Accepting request 928186 from X11:XOrg

- buildrequire xorg-x11-server-sdk/xorg-x11-server-source >= 21.1.0

- Change to systemd-sysusers

- u_tigervnc-211.patch, xserver211.patch
  * fixes build against xorg-server 21.1 sources

OBS-URL: https://build.opensuse.org/request/show/928186
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/tigervnc?expand=0&rev=84
This commit is contained in:
Dominique Leuenberger 2021-11-11 20:35:49 +00:00 committed by Git OBS Bridge
commit 134256bcc1
5 changed files with 149 additions and 13 deletions

View File

@ -1,3 +1,19 @@
-------------------------------------------------------------------
Fri Oct 29 16:57:10 UTC 2021 - Stefan Dirsch <sndirsch@suse.com>
- buildrequire xorg-x11-server-sdk/xorg-x11-server-source >= 21.1.0
-------------------------------------------------------------------
Thu Oct 28 13:05:33 UTC 2021 - Callum Farmer <gmbr3@opensuse.org>
- Change to systemd-sysusers
-------------------------------------------------------------------
Thu Oct 28 12:03:58 UTC 2021 - Stefan Dirsch <sndirsch@suse.com>
- u_tigervnc-211.patch, xserver211.patch
* fixes build against xorg-server 21.1 sources
------------------------------------------------------------------- -------------------------------------------------------------------
Thu Oct 21 10:16:38 UTC 2021 - Joan Torres <joan.torres@suse.com> Thu Oct 21 10:16:38 UTC 2021 - Joan Torres <joan.torres@suse.com>

View File

@ -58,6 +58,7 @@ Source17: tigervnc.firewalld
Source18: tigervnc-https.firewalld Source18: tigervnc-https.firewalld
Source19: xvnc.target Source19: xvnc.target
Source21: xvnc-novnc.service.in Source21: xvnc-novnc.service.in
Source22: vnc.sysusers
Patch1: tigervnc-newfbsize.patch Patch1: tigervnc-newfbsize.patch
Patch2: tigervnc-clean-pressed-key-on-exit.patch Patch2: tigervnc-clean-pressed-key-on-exit.patch
Patch3: u_tigervnc-ignore-epipe-on-write.patch Patch3: u_tigervnc-ignore-epipe-on-write.patch
@ -75,6 +76,8 @@ Patch21: U_0001-Properly-store-certificate-exceptions.patch
Patch22: U_0002-Properly-store-certificate-exceptions-in-Java-viewer.patch Patch22: U_0002-Properly-store-certificate-exceptions-in-Java-viewer.patch
Patch23: n_utilize-system-crypto-policies.patch Patch23: n_utilize-system-crypto-policies.patch
Patch24: tigervnc-FIPS-use-RFC7919.patch Patch24: tigervnc-FIPS-use-RFC7919.patch
Patch25: u_tigervnc-211.patch
Patch26: xserver211.patch
Provides: tightvnc = 1.3.9 Provides: tightvnc = 1.3.9
Obsoletes: tightvnc < 1.3.9 Obsoletes: tightvnc < 1.3.9
Provides: vnc Provides: vnc
@ -90,8 +93,8 @@ BuildRequires: libjpeg-devel
BuildRequires: libopenssl-devel BuildRequires: libopenssl-devel
BuildRequires: libtool BuildRequires: libtool
BuildRequires: nasm BuildRequires: nasm
BuildRequires: xorg-x11-server-sdk BuildRequires: xorg-x11-server-sdk >= 21.1.0
BuildRequires: xorg-x11-server-source BuildRequires: xorg-x11-server-source >= 21.1.0
BuildRequires: pkgconfig(x11) BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(xext) BuildRequires: pkgconfig(xext)
BuildRequires: pkgconfig(xproto) BuildRequires: pkgconfig(xproto)
@ -103,8 +106,9 @@ BuildRequires: libgcrypt-devel
BuildRequires: libgpg-error-devel BuildRequires: libgpg-error-devel
BuildRequires: mozilla-nss BuildRequires: mozilla-nss
BuildRequires: pam-devel BuildRequires: pam-devel
BuildRequires: pkg-config BuildRequires: pkgconfig
BuildRequires: systemd-rpm-macros BuildRequires: systemd-rpm-macros
BuildRequires: sysuser-tools
BuildRequires: xmlto BuildRequires: xmlto
BuildRequires: xorg-x11-libICE-devel BuildRequires: xorg-x11-libICE-devel
BuildRequires: xorg-x11-libSM-devel BuildRequires: xorg-x11-libSM-devel
@ -159,8 +163,8 @@ extensions for advanced authentication methods and TLS encryption.
%package -n xorg-x11-Xvnc %package -n xorg-x11-Xvnc
Summary: TigerVNC implementation of Xvnc Summary: TigerVNC implementation of Xvnc
Group: System/X11/Servers/XF86_4 Group: System/X11/Servers/XF86_4
Requires(post): /usr/sbin/useradd Requires(pre): group(shadow)
Requires(post): /usr/sbin/groupadd %sysusers_requires
Requires(post): /bin/awk Requires(post): /bin/awk
Requires(post): systemd Requires(post): systemd
%if %{use_firewalld} %if %{use_firewalld}
@ -269,13 +273,16 @@ It maps common x11vnc arguments to x0vncserver arguments.
%patch23 -p1 %patch23 -p1
%endif %endif
%patch24 -p1 %patch24 -p1
%patch25 -p0
cp -r %{_prefix}/src/xserver/* unix/xserver/ cp -r %{_prefix}/src/xserver/* unix/xserver/
pushd unix/xserver pushd unix/xserver
patch -p1 < ../xserver120.patch #patch -p1 < ../xserver120.patch
%patch26 -p1
popd popd
%build %build
%sysusers_generate_pre %{SOURCE22} xorg-x11-Xvnc vnc.conf
export CXXFLAGS="%optflags" export CXXFLAGS="%optflags"
export CFLAGS="%optflags" export CFLAGS="%optflags"
sed "s|@LIBEXECDIR@|%{_libexecdir}|g" %{SOURCE21} > xvnc-novnc.service sed "s|@LIBEXECDIR@|%{_libexecdir}|g" %{SOURCE21} > xvnc-novnc.service
@ -368,6 +375,8 @@ install -D %{SOURCE16} -m 0444 %{buildroot}%{_unitdir}/xvnc-novnc.socket
install -D %{SOURCE19} -m 0444 %{buildroot}%{_unitdir}/xvnc.target install -D %{SOURCE19} -m 0444 %{buildroot}%{_unitdir}/xvnc.target
install -D xvnc-novnc.service -m 0444 %{buildroot}%{_unitdir}/xvnc-novnc.service 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-* rm -rf %{buildroot}%{_datadir}/doc/tigervnc-*
%find_lang '%{name}' %find_lang '%{name}'
@ -386,15 +395,9 @@ if [ "$1" = 0 ] ; then
fi fi
%endif %endif
%pre -n xorg-x11-Xvnc %pre -n xorg-x11-Xvnc -f xorg-x11-Xvnc.pre
%service_add_pre xvnc.socket %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 %post -n xorg-x11-Xvnc
%service_add_post xvnc.socket %service_add_post xvnc.socket
@ -487,6 +490,7 @@ fi
%{_unitdir}/xvnc@.service %{_unitdir}/xvnc@.service
%{_unitdir}/xvnc.socket %{_unitdir}/xvnc.socket
%{_unitdir}/xvnc.target %{_unitdir}/xvnc.target
%{_sysusersdir}/vnc.conf
%{_sbindir}/rcxvnc %{_sbindir}/rcxvnc
%exclude %{_sharedstatedir}/xkb/compiled/README.compiled %exclude %{_sharedstatedir}/xkb/compiled/README.compiled

11
u_tigervnc-211.patch Normal file
View File

@ -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

3
vnc.sysusers Normal file
View File

@ -0,0 +1,3 @@
#Type Name ID GECOS Home directory Shell
u vnc - "user for VNC" /var/lib/empty -
m vnc shadow - - -

102
xserver211.patch Normal file
View File

@ -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" \