- update underlying X source to 1.6.4-0.3.fc11

- remove bogus '-nohttpd' parameter from /etc/sysconfig/vncservers
    (#525629)
- initscript LSB compliance fixes (#523974)
- improve -LowColorSwitch documentation and handling (#510185)
- honor dotWhenNoCursor option (and it's changes) every time (#524340)
This commit is contained in:
Adam Tkac 2009-10-08 13:38:33 +00:00
parent 6fff40ec0c
commit 66063c9043
7 changed files with 156 additions and 15 deletions

View File

@ -1,2 +1,2 @@
tigervnc-1.0.0.tar.gz
xorg-x11-server-source-1.6.1.901-5.fc11.x86_64.rpm
xorg-x11-server-source-1.6.4-0.3.fc11.x86_64.rpm

View File

@ -1,2 +1,2 @@
622c6689a66651419b5431efdee99d5a tigervnc-1.0.0.tar.gz
b1517bc2701a7ac947230338f5a7ea9c xorg-x11-server-source-1.6.1.901-5.fc11.x86_64.rpm
bc5cb09b51297251c9f2e25e5719a735 xorg-x11-server-source-1.6.4-0.3.fc11.x86_64.rpm

View File

@ -1,6 +1,6 @@
Name: tigervnc
Version: 1.0.0
Release: 1%{?dist}
Release: 2%{?dist}
Summary: A TigerVNC remote display system
Group: User Interface/Desktops
@ -11,7 +11,7 @@ Source0: %{name}-%{version}.tar.gz
Source1: vncserver.init
Source2: vncserver.sysconfig
Source6: vncviewer.desktop
Source7: xorg-x11-server-source-1.6.1.901-5.fc11.x86_64.rpm
Source7: xorg-x11-server-source-1.6.4-0.3.fc11.x86_64.rpm
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: libX11-devel, automake, autoconf, libtool, gettext, cvs
@ -40,6 +40,8 @@ Patch0: tigervnc-102434.patch
Patch4: tigervnc-cookie.patch
Patch8: tigervnc-viewer-reparent.patch
Patch10: tigervnc10-compat.patch
Patch11: tigervnc10-rh510185.patch
Patch12: tigervnc10-rh524340.patch
%description
Virtual Network Computing (VNC) is a remote display system which
@ -103,6 +105,8 @@ popd
%patch4 -p1 -b .cookie
%patch8 -p1 -b .viewer-reparent
%patch10 -p1 -b .compat
%patch11 -p0 -b .rh510185
%patch12 -p0 -b .rh524340
# Use newer gettext
sed -i 's/AM_GNU_GETTEXT_VERSION.*/AM_GNU_GETTEXT_VERSION([0.17])/' \
@ -244,6 +248,13 @@ fi
%endif
%changelog
* Mon Oct 05 2009 Adam Tkac <atkac redhat com> 1.0.0-2
- update underlying X source to 1.6.4-0.3.fc11
- remove bogus '-nohttpd' parameter from /etc/sysconfig/vncservers (#525629)
- initscript LSB compliance fixes (#523974)
- improve -LowColorSwitch documentation and handling (#510185)
- honor dotWhenNoCursor option (and it's changes) every time (#524340)
* Fri Aug 28 2009 Adam Tkac <atkac redhat com> 1.0.0-1
- update to 1.0.0
- tigervnc10-rh495457.patch merged to upstream

32
tigervnc10-rh510185.patch Normal file
View File

@ -0,0 +1,32 @@
unchanged:
--- unix/vncviewer/vncviewer.man (revision 3902)
+++ unix/vncviewer/vncviewer.man (working copy)
@@ -156,7 +156,9 @@
.B \-LowColorLevel, \-LowColourLevel \fIlevel\fP
Selects the reduced color level to use on slow links. \fIlevel\fP can range
from 0 to 2, 0 meaning 8 colors, 1 meaning 64 colors (the default), 2 meaning
-256 colors.
+256 colors. Note that decision if reduced color level is used is made by
+vncviewer. If you would like to force vncviewer to use reduced color level
+use \fB-AutoSelect=0\fP parameter.
.TP
.B \-PreferredEncoding \fIencoding\fP
only in patch2:
unchanged:
--- unix/vncviewer/vncviewer.cxx (revision 3902)
+++ unix/vncviewer/vncviewer.cxx (working copy)
@@ -337,6 +337,13 @@
&& !::fullColour.hasBeenSet()
&& !::fullColourAlias.hasBeenSet());
}
+ if (!::fullColour.hasBeenSet() && !::fullColourAlias.hasBeenSet()) {
+ // Default to FullColor=0 if AutoSelect=0 && LowColorLevel is set
+ if (!::autoSelect && (::lowColourLevel.hasBeenSet() ||
+ ::lowColourLevelAlias.hasBeenSet())) {
+ ::fullColour.setParam(false);
+ }
+ }
if (!::customCompressLevel.hasBeenSet()) {
// Default to CustomCompressLevel=1 if CompressLevel is used.
::customCompressLevel.setParam(::compressLevel.hasBeenSet());

83
tigervnc10-rh524340.patch Normal file
View File

@ -0,0 +1,83 @@
Index: unix/vncviewer/DesktopWindow.h
===================================================================
--- unix/vncviewer/DesktopWindow.h (revision 3903)
+++ unix/vncviewer/DesktopWindow.h (working copy)
@@ -29,6 +29,7 @@
#include "TXWindow.h"
#include "TXViewport.h"
#include "TXImage.h"
+#include "parameters.h"
class CConn;
@@ -54,6 +55,12 @@
// resetLocalCursor() stops the rendering of the local cursor
void resetLocalCursor();
+ // setNoCursor() sets what to display when no cursor is defined - if dot or
+ // nothing.
+ inline void setNoCursor() {
+ XDefineCursor(dpy, win(), dotWhenNoCursor ? dotCursor : noCursor);
+ }
+
// Methods forwarded from CConn
void setColourMapEntries(int firstColour, int nColours, rdr::U16* rgbs);
void serverCutText(const char* str, rdr::U32 len);
Index: unix/vncviewer/CConn.cxx
===================================================================
--- unix/vncviewer/CConn.cxx (revision 3903)
+++ unix/vncviewer/CConn.cxx (working copy)
@@ -684,6 +684,7 @@
desktop->resetLocalCursor();
}
dotWhenNoCursor.setParam(options.dotWhenNoCursor.checked());
+ desktop->setNoCursor();
checkEncodings();
}
Index: unix/vncviewer/DesktopWindow.cxx
===================================================================
--- unix/vncviewer/DesktopWindow.cxx (revision 3903)
+++ unix/vncviewer/DesktopWindow.cxx (working copy)
@@ -79,7 +79,7 @@
PointerMotionMask | KeyPressMask | KeyReleaseMask |
EnterWindowMask | LeaveWindowMask);
createXCursors();
- XDefineCursor(dpy, win(), dotCursor);
+ setNoCursor();
im = new TXImage(dpy, width(), height());
if (!serverPF.trueColour)
im->setPF(serverPF);
@@ -139,12 +139,9 @@
if (((rdr::U8*)mask)[i]) break;
if (i == mask_len) {
- if (dotWhenNoCursor) {
+ if (dotWhenNoCursor)
vlog.debug("cursor is empty - using dot");
- XDefineCursor(dpy, win(), dotCursor);
- } else {
- XDefineCursor(dpy, win(), noCursor);
- }
+ setNoCursor();
cursorAvailable = false;
return;
}
@@ -206,7 +203,7 @@
void DesktopWindow::resetLocalCursor()
{
hideLocalCursor();
- XDefineCursor(dpy, win(), dotCursor);
+ setNoCursor();
cursorAvailable = false;
}
@@ -226,7 +223,7 @@
if (!getPF().equal(cursor.getPF()) ||
cursor.getRect().is_empty()) {
vlog.error("attempting to render invalid local cursor");
- XDefineCursor(dpy, win(), dotCursor);
+ setNoCursor();
cursorAvailable = false;
return;
}

View File

@ -65,20 +65,34 @@ start() {
fi
fi
echo
# As written in https://bugzilla.redhat.com/show_bug.cgi?id=523974 (LSB
# compliance) start of already running service is OK.
[ "$RETVAL" -eq 98 ] && return 0
return "$RETVAL"
}
stop() {
echo -n $"Shutting down $prog: "
for display in ${VNCSERVERS}
do
echo -n "${display} "
export USER="${display##*:}"
runuser ${USER} -c "vncserver -kill :${display%%:*}" >/dev/null 2>&1
done
status Xvnc > /dev/null 2>&1
RETVAL=$?
# 3 means service is already stopped
if ! [ "$RETVAL" -eq 3 ]; then
for display in ${VNCSERVERS}; do
echo -n "${display} "
export USER="${display##*:}"
runuser ${USER} -c "vncserver -kill :${display%%:*}" >/dev/null 2>&1
done
RETVAL=$?
else
let RETVAL=0
fi
[ "$RETVAL" -eq 0 ] && success $"vncserver shutdown" || \
failure $"vncserver shutdown"
failure $"vncserver shutdown"
echo
[ "$RETVAL" -eq 0 ] && rm -f /var/lock/subsys/vncserver
return "$RETVAL"
@ -117,9 +131,12 @@ case "$1" in
status Xvnc
RETVAL=$?
;;
reload)
exit 3
;;
*)
echo $"Usage: $0 {start|stop|restart|try-restart|status|force-reload}"
exit 3
exit 2
esac
exit "$RETVAL"

View File

@ -11,11 +11,9 @@
# Use "-nolisten tcp" to prevent X connections to your VNC server via TCP.
# Use "-nohttpd" to prevent web-based VNC clients connecting.
# Use "-localhost" to prevent remote VNC clients connecting except when
# doing so through a secure tunnel. See the "-via" option in the
# `man vncviewer' manual page.
# VNCSERVERS="2:myusername"
# VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp -nohttpd -localhost"
# VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp -localhost"