- link libvnc.so "now" to catch "undefined symbol" errors during Xorg

startup
- use always XkbConvertCase instead of XConvertCase (#580159, #586406)
- don't link libvnc.so against libXi.la, libdix.la and libxkb.la; use
    symbols from Xorg instead
This commit is contained in:
Adam Tkac 2010-05-13 11:37:58 +00:00
parent 219d234519
commit 48e379fde2
4 changed files with 156 additions and 6 deletions

View File

@ -2,7 +2,7 @@
Name: tigervnc
Version: 1.0.90
Release: 0.10.%{snap}%{?dist}
Release: 0.11.%{snap}%{?dist}
Summary: A TigerVNC remote display system
Group: User Interface/Desktops
@ -40,6 +40,9 @@ Obsoletes: tightvnc < 1.5.0-0.15.20090204svn3586
Patch0: tigervnc-102434.patch
Patch4: tigervnc-cookie.patch
Patch8: tigervnc-viewer-reparent.patch
Patch9: tigervnc11-rh586406.patch
Patch10: tigervnc11-ldnow.patch
Patch11: tigervnc11-libvnc.patch
%description
Virtual Network Computing (VNC) is a remote display system which
@ -99,6 +102,13 @@ clients to use web browser when connect to the TigerVNC server.
%prep
%setup -q -n %{name}-%{version}-%{snap}
%patch0 -p1 -b .102434
%patch4 -p1 -b .cookie
%patch8 -p1 -b .viewer-reparent
%patch9 -p1 -b .rh586406
%patch10 -p1 -b .ldnow
%patch11 -p1 -b .libvnc
cp -r /usr/share/xorg-x11-server-source/* unix/xserver
pushd unix/xserver
for all in `find . -type f -perm -001`; do
@ -107,11 +117,6 @@ done
patch -p1 -b --suffix .vnc < ../xserver18.patch
popd
%patch0 -p1 -b .102434
%patch4 -p1 -b .cookie
%patch8 -p1 -b .viewer-reparent
# Use newer gettext
sed -i 's/AM_GNU_GETTEXT_VERSION.*/AM_GNU_GETTEXT_VERSION([0.17])/' \
configure.ac
@ -265,6 +270,12 @@ fi
%{_datadir}/vnc/classes/*
%changelog
* Thu May 13 2010 Adam Tkac <atkac redhat com> 1.0.90-0.11.20100420svn4030
- link libvnc.so "now" to catch "undefined symbol" errors during Xorg startup
- use always XkbConvertCase instead of XConvertCase (#580159, #586406)
- don't link libvnc.so against libXi.la, libdix.la and libxkb.la; use symbols
from Xorg instead
* Thu May 13 2010 Adam Tkac <atkac redhat com> 1.0.90-0.10.20100420svn4030
- update to r4030 snapshot
- patches merged to upstream

12
tigervnc11-ldnow.patch Normal file
View File

@ -0,0 +1,12 @@
diff -up tigervnc-1.0.90-20100420svn4030/unix/xserver/hw/vnc/Makefile.am.ldnow tigervnc-1.0.90-20100420svn4030/unix/xserver/hw/vnc/Makefile.am
--- tigervnc-1.0.90-20100420svn4030/unix/xserver/hw/vnc/Makefile.am.ldnow 2010-05-10 13:55:28.484322693 +0200
+++ tigervnc-1.0.90-20100420svn4030/unix/xserver/hw/vnc/Makefile.am 2010-05-10 13:55:37.574320863 +0200
@@ -50,7 +50,7 @@ libvnc_la_CPPFLAGS = $(XVNC_CPPFLAGS) -I
-I$(top_srcdir)/hw/xfree86/os-support/bus \
-I$(includedir)/pixman-1 -I$(includedir)
-libvnc_la_LDFLAGS = -module -avoid-version
+libvnc_la_LDFLAGS = -module -avoid-version -Wl,-z,now
libvnc_la_LIBADD = libvnccommon.la $(COMMON_LIBS) $(LIBVNC_LIBS)

97
tigervnc11-libvnc.patch Normal file
View File

@ -0,0 +1,97 @@
diff -up tigervnc-1.0.90-20100420svn4030/unix/xserver18.patch.libvnc tigervnc-1.0.90-20100420svn4030/unix/xserver18.patch
--- tigervnc-1.0.90-20100420svn4030/unix/xserver18.patch.libvnc 2010-05-10 13:58:16.374321581 +0200
+++ tigervnc-1.0.90-20100420svn4030/unix/xserver18.patch 2010-05-10 13:58:18.764321903 +0200
@@ -1,15 +1,15 @@
diff -up xserver/configure.ac.vnc xserver/configure.ac
---- xserver/configure.ac.vnc 2010-01-22 11:23:04.524629373 +0100
-+++ xserver/configure.ac 2010-01-22 11:31:04.704638847 +0100
-@@ -30,7 +30,6 @@ AC_INIT([xorg-server], 1.7.99.3, [https:
- RELEASE_DATE="(unreleased)"
+--- xserver/configure.ac.vnc 2010-05-10 13:56:38.231834045 +0200
++++ xserver/configure.ac 2010-05-10 13:57:28.904321140 +0200
+@@ -30,7 +30,6 @@ AC_INIT([xorg-server], 1.8.0, [https://b
+ RELEASE_DATE="2010-04-02"
AC_CONFIG_SRCDIR([Makefile.am])
AM_INIT_AUTOMAKE([foreign dist-bzip2])
-AM_MAINTAINER_MODE
# Require xorg-macros: XORG_DEFAULT_OPTIONS
m4_ifndef([XORG_MACROS_VERSION],
-@@ -63,6 +62,7 @@ dnl forcing an entire recompile.x
+@@ -64,6 +63,7 @@ dnl forcing an entire recompile.x
AC_CONFIG_HEADERS(include/version-config.h)
AC_PROG_CC
@@ -17,18 +17,17 @@ diff -up xserver/configure.ac.vnc xserve
AM_PROG_AS
AC_PROG_INSTALL
AC_PROG_LN_S
-@@ -1486,6 +1486,10 @@ if test "x$XVFB" = xyes; then
+@@ -1489,6 +1489,9 @@ if test "x$XVFB" = xyes; then
AC_SUBST([XVFB_SYS_LIBS])
fi
+dnl Xvnc DDX
+AC_SUBST([XVNC_CPPFLAGS], ["-DHAVE_DIX_CONFIG_H $XEXT_INC $FB_INC $MI_INC $RENDER_INC $RANDR_INC"])
+AC_SUBST([XVNC_LIBS], ["$FB_LIB $FIXES_LIB $XEXT_LIB $CONFIG_LIB $DBE_LIB $RECORD_LIB $GLX_LIBS $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB $MAIN_LIB"])
-+AC_SUBST([LIBVNC_LIBS], ["$XI_LIB $DIX_LIB $XKB_LIB"])
dnl Xnest DDX
-@@ -1524,6 +1528,8 @@ xorg_bus_linuxpci=no
+@@ -1527,6 +1530,8 @@ xorg_bus_linuxpci=no
xorg_bus_bsdpci=no
xorg_bus_sparc=no
@@ -37,7 +36,7 @@ diff -up xserver/configure.ac.vnc xserve
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'
-@@ -1765,7 +1771,6 @@ if test "x$XORG" = xyes; then
+@@ -1769,7 +1774,6 @@ if test "x$XORG" = xyes; then
AC_DEFINE(XORGSERVER, 1, [Building Xorg server])
AC_DEFINE(XFree86Server, 1, [Building XFree86 server])
AC_DEFINE(XFree86LOADER, 1, [Building loadable XFree86 server])
@@ -45,7 +44,7 @@ diff -up xserver/configure.ac.vnc xserve
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])
-@@ -2195,6 +2200,7 @@ hw/dmx/input/Makefile
+@@ -2214,6 +2218,7 @@ hw/dmx/input/Makefile
hw/dmx/glxProxy/Makefile
hw/dmx/Makefile
hw/vfb/Makefile
@@ -54,8 +53,8 @@ diff -up xserver/configure.ac.vnc xserve
hw/xwin/Makefile
hw/xquartz/Makefile
diff -up xserver/hw/Makefile.am.vnc xserver/hw/Makefile.am
---- xserver/hw/Makefile.am.vnc 2010-01-22 11:23:04.560613962 +0100
-+++ xserver/hw/Makefile.am 2010-01-22 11:23:04.600597430 +0100
+--- xserver/hw/Makefile.am.vnc 2010-05-10 13:56:38.241833494 +0200
++++ xserver/hw/Makefile.am 2010-05-10 13:56:38.314322464 +0200
@@ -33,7 +33,8 @@ SUBDIRS = \
$(XNEST_SUBDIRS) \
$(DMX_SUBDIRS) \
@@ -67,8 +66,8 @@ diff -up xserver/hw/Makefile.am.vnc xser
DIST_SUBDIRS = dmx xfree86 vfb xnest xwin xquartz kdrive
diff -up xserver/mi/miinitext.c.vnc xserver/mi/miinitext.c
---- xserver/mi/miinitext.c.vnc 2010-01-22 11:23:04.564613258 +0100
-+++ xserver/mi/miinitext.c 2010-01-22 11:23:04.600597430 +0100
+--- xserver/mi/miinitext.c.vnc 2010-05-10 13:56:38.284322471 +0200
++++ xserver/mi/miinitext.c 2010-05-10 13:56:38.314322464 +0200
@@ -274,6 +274,7 @@ extern void DamageExtensionInit(INITARGS
extern void CompositeExtensionInit(INITARGS);
#endif
diff -up tigervnc-1.0.90-20100420svn4030/unix/xserver/hw/vnc/Makefile.am.libvnc tigervnc-1.0.90-20100420svn4030/unix/xserver/hw/vnc/Makefile.am
--- tigervnc-1.0.90-20100420svn4030/unix/xserver/hw/vnc/Makefile.am.libvnc 2010-05-10 13:57:05.884321078 +0200
+++ tigervnc-1.0.90-20100420svn4030/unix/xserver/hw/vnc/Makefile.am 2010-05-10 13:57:11.284321719 +0200
@@ -52,7 +52,7 @@ libvnc_la_CPPFLAGS = $(XVNC_CPPFLAGS) -I
libvnc_la_LDFLAGS = -module -avoid-version -Wl,-z,now
-libvnc_la_LIBADD = libvnccommon.la $(COMMON_LIBS) $(LIBVNC_LIBS)
+libvnc_la_LIBADD = libvnccommon.la $(COMMON_LIBS)
EXTRA_DIST = Xvnc.man

30
tigervnc11-rh586406.patch Normal file
View File

@ -0,0 +1,30 @@
diff -up tigervnc-1.0.90-20100420svn4030/unix/xserver/hw/vnc/Input.cc.rh586406 tigervnc-1.0.90-20100420svn4030/unix/xserver/hw/vnc/Input.cc
--- tigervnc-1.0.90-20100420svn4030/unix/xserver/hw/vnc/Input.cc.rh586406 2010-04-14 11:24:06.000000000 +0200
+++ tigervnc-1.0.90-20100420svn4030/unix/xserver/hw/vnc/Input.cc 2010-05-13 12:23:14.418190525 +0200
@@ -31,8 +31,10 @@ extern "C" {
#define class c_class
#include "inputstr.h"
#include "mi.h"
-#ifndef XKB_IN_SERVER
-#define XKB_IN_SERVER
+#if XORG < 18
+ #ifndef XKB_IN_SERVER
+ #define XKB_IN_SERVER
+ #endif
#endif
#ifdef XKB
/*
@@ -712,7 +714,12 @@ static KeySym KeyCodetoKeySym(KeySymsPtr
}
if ((per <= (col|1)) || (syms[col|1] == NoSymbol)) {
- XConvertCase(syms[col&~1], &lsym, &usym);
+#if XORG >= 18
+ XkbConvertCase
+#else
+ XConvertCase
+#endif
+ (syms[col&~1], &lsym, &usym);
if (!(col & 1))
return lsym;
/*