diff --git a/tigervnc.spec b/tigervnc.spec index 174b23b..e21bca6 100644 --- a/tigervnc.spec +++ b/tigervnc.spec @@ -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 @@ -89,6 +92,13 @@ to access the desktop on your machine. %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 @@ -97,11 +107,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 @@ -238,6 +243,12 @@ fi %endif %changelog +* Thu May 13 2010 Adam Tkac 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 + * Mon Apr 26 2010 Adam Tkac 1.0.90-0.10.20100420svn4030 - build with -fno-omit-frame-pointer (#585930) diff --git a/tigervnc11-ldnow.patch b/tigervnc11-ldnow.patch new file mode 100644 index 0000000..9e076e9 --- /dev/null +++ b/tigervnc11-ldnow.patch @@ -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) + diff --git a/tigervnc11-libvnc.patch b/tigervnc11-libvnc.patch new file mode 100644 index 0000000..e838d81 --- /dev/null +++ b/tigervnc11-libvnc.patch @@ -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 + diff --git a/tigervnc11-rh586406.patch b/tigervnc11-rh586406.patch new file mode 100644 index 0000000..e4ef573 --- /dev/null +++ b/tigervnc11-rh586406.patch @@ -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; + /*