diff --git a/.cvsignore b/.cvsignore index a1aa298..c924a52 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1,7 +1 @@ -tigervnc-0.0.90-20090303svn3631.tar.bz2 -vncserver.init -vncserver.sysconfig -vnc-16x16.png -vnc-24x24.png -vnc-48x48.png -vncviewer.desktop +tigervnc-0.0.90-20090403svn3751.tar.bz2 diff --git a/sources b/sources index 048881f..94f294c 100644 --- a/sources +++ b/sources @@ -1,7 +1 @@ -8d262508edb0e18d9d114fc56955e2ed tigervnc-0.0.90-20090303svn3631.tar.bz2 -ededd32e8bc5364c4bf41552d0b56b96 vncserver.init -833229c4a91fd869ca8a4d1c5d189a15 vncserver.sysconfig -2f19f562d4ff6b8752c1686331ce44b7 vnc-16x16.png -273f51f58324f12e2cc96e2a1dcc5a6d vnc-24x24.png -f96d936a0fcc61cabee0e6cb65e0e38a vnc-48x48.png -2531d7bbc8369fb23e4cb1578521edc6 vncviewer.desktop +34f63ea8b071b0e1996ac467455ee4c2 tigervnc-0.0.90-20090403svn3751.tar.bz2 diff --git a/tigervnc-clipboard.patch b/tigervnc-clipboard.patch deleted file mode 100644 index 9865ec2..0000000 --- a/tigervnc-clipboard.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff -up vnc-4_1_2-unixsrc/unix/vncserver.clipboard vnc-4_1_2-unixsrc/unix/vncserver ---- vnc-4_1_2-unixsrc/unix/vncserver.clipboard 2008-03-13 16:17:07.000000000 +0100 -+++ vnc-4_1_2-unixsrc/unix/vncserver 2008-03-13 16:18:14.000000000 +0100 -@@ -42,13 +42,13 @@ $xauthorityFile = "$ENV{XAUTHORITY}" || - - $defaultXStartup - = ("#!/bin/sh\n\n". -+ "vncconfig -iconic &\n". - "# Uncomment the following two lines for normal desktop:\n". - "# unset SESSION_MANAGER\n". - "# exec /etc/X11/xinit/xinitrc\n\n". - "[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup\n". - "[ -r \$HOME/.Xresources ] && xrdb \$HOME/.Xresources\n". - "xsetroot -solid grey\n". -- "vncconfig -iconic &\n". - "xterm -geometry 80x24+10+10 -ls -title \"\$VNCDESKTOP Desktop\" &\n". - "twm &\n"); - diff --git a/tigervnc-rh212985.patch b/tigervnc-rh212985.patch deleted file mode 100644 index 3244f6c..0000000 --- a/tigervnc-rh212985.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff -up tightvnc-1.5.0-20081015svn3022/unix/vncserver.rh212985 tightvnc-1.5.0-20081015svn3022/unix/vncserver ---- tightvnc-1.5.0-20081015svn3022/unix/vncserver.rh212985 2008-10-23 13:03:57.000000000 +0200 -+++ tightvnc-1.5.0-20081015svn3022/unix/vncserver 2008-10-23 13:05:21.000000000 +0200 -@@ -161,11 +161,25 @@ $cmd .= " >> " . "edString($desktopL - # Run $cmd and record the process ID. - - $pidFile = "$vncUserDir/$host:$displayNumber.pid"; --system("$cmd & echo \$! >$pidFile"); -+system( -+"rm -f $pidFile -+ $cmd & -+ PID_TEMP=\$! -+ PID_NUM=\$PID_TEMP -+ -+ # Give Xvnc a chance to start up -+ -+ sleep 3; -+ -+ if ps -p \$PID_NUM -o comm= | grep -q Xvnc; then -+ echo \$PID_NUM > $pidFile -+ fi" -+); - --# Give Xvnc a chance to start up -- --sleep(3); -+if (!(-e "$pidFile")) { -+ warn "Unable to start Xvnc, exiting\n"; -+ exit 2; -+} - - warn "\nNew '$desktopName' desktop is $host:$displayNumber\n\n"; - diff --git a/tigervnc-xclients.patch b/tigervnc-xclients.patch deleted file mode 100644 index eff6ca3..0000000 --- a/tigervnc-xclients.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- vnc-4_1-unixsrc/unix/vncserver.xclients 2005-03-03 23:01:16.000000000 +0000 -+++ vnc-4_1-unixsrc/unix/vncserver 2005-03-03 23:02:26.000000000 +0000 -@@ -42,6 +42,10 @@ - - $defaultXStartup - = ("#!/bin/sh\n\n". -+ "# Uncomment the following two lines for normal desktop:\n". -+ "# unset SESSION_MANAGER\n". -+ "# exec /etc/X11/xinit/xinitrc\n\n". -+ "[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup\n". - "[ -r \$HOME/.Xresources ] && xrdb \$HOME/.Xresources\n". - "xsetroot -solid grey\n". - "vncconfig -iconic &\n". diff --git a/tigervnc.spec b/tigervnc.spec index 2f3aca3..ac1b501 100644 --- a/tigervnc.spec +++ b/tigervnc.spec @@ -1,10 +1,10 @@ -%define revision 3631 -%define date 20090303 -%define releasetag %{date}svn%{revision} +%define revision 3751 +%define date 20090403 +%define releasetag %{date}svn%{revision} Name: tigervnc Version: 0.0.90 -Release: 0.3.%{releasetag}%{?dist} +Release: 0.3.1.%{releasetag}%{?dist} Summary: A TigerVNC remote display system Group: User Interface/Desktops @@ -22,9 +22,6 @@ URL: http://www.tigervnc.com Source0: %{name}-%{version}-%{releasetag}.tar.bz2 Source1: vncserver.init Source2: vncserver.sysconfig -Source3: vnc-16x16.png -Source4: vnc-24x24.png -Source5: vnc-48x48.png Source6: vncviewer.desktop BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -33,10 +30,15 @@ BuildRequires: libXext-devel, xorg-x11-server-source BuildRequires: xorg-x11-xtrans-devel, xorg-x11-util-macros, libXtst-devel BuildRequires: libdrm-devel, libXt-devel, pixman-devel libXfont-devel BuildRequires: libxkbfile-devel, openssl-devel, libpciaccess-devel -BuildRequires: libjpeg-devel, mesa-libGL-devel, libXinerama-devel +BuildRequires: mesa-libGL-devel, libXinerama-devel, ImageMagick BuildRequires: freetype-devel BuildRequires: desktop-file-utils +%ifarch %ix86 +BuildRequires: nasm +%endif + + Requires(post): coreutils Requires(postun):coreutils @@ -47,12 +49,9 @@ Obsoletes: tightvnc < 1.5.0-0.15.20090204svn3586 Patch0: tigervnc-102434.patch Patch1: tigervnc-bounds.patch -Patch2: tigervnc-xclients.patch -Patch3: tigervnc-clipboard.patch Patch4: tigervnc-cookie.patch Patch5: tigervnc-manminor.patch Patch6: tigervnc-newfbsize.patch -Patch7: tigervnc-rh212985.patch Patch8: tigervnc-viewer-reparent.patch %description @@ -107,12 +106,9 @@ popd %patch0 -p1 -b .102434 %patch1 -p1 -b .bounds -%patch2 -p1 -b .xclients -%patch3 -p1 -b .clipboard %patch4 -p1 -b .cookie %patch5 -p1 -b .manminor %patch6 -p1 -b .newfbsize -%patch7 -p1 -b .rh212985 %patch8 -p1 -b .viewer-reparent # Use newer gettext @@ -155,6 +151,11 @@ autoreconf -fiv make %{?_smp_mflags} popd +# Build icons +pushd media +make +popd + %install rm -rf $RPM_BUILD_ROOT pushd unix @@ -174,9 +175,12 @@ install -m644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/vncservers # Install desktop stuff mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/{16x16,24x24,48x48}/apps -install -m644 %{SOURCE3} $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/16x16/apps/vnc.png -install -m644 %{SOURCE4} $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/24x24/apps/vnc.png -install -m644 %{SOURCE5} $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/48x48/apps/vnc.png + +pushd media/icons +for s in 16 24 48; do +install -m644 tigervnc_$s.png $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${s}x$s/apps/tigervnc.png +done +popd mkdir $RPM_BUILD_ROOT%{_datadir}/applications desktop-file-install \ @@ -245,6 +249,17 @@ fi %{_libdir}/xorg/modules/extensions/libvnc.so %changelog +* Fri Apr 03 2009 Adam Tkac 0.0.90-0.4.20090403svn3751 +- update to r3751 +- patches merged + - tigervnc-xclients.patch + - tigervnc-clipboard.patch + - tigervnc-rh212985.patch +- basic RandR support in Xvnc (resize of the desktop) +- use built-in libjpeg (SSE2/MMX accelerated encoding on x86 platform) +- use Tight encoding by default +- use TigerVNC icons + * Tue Mar 03 2009 Adam Tkac 0.0.90-0.3.20090303svn3631 - update to r3631 diff --git a/vncserver.init b/vncserver.init new file mode 100644 index 0000000..3a5bf57 --- /dev/null +++ b/vncserver.init @@ -0,0 +1,125 @@ +#!/bin/bash +# +# chkconfig: - 91 35 +# description: Starts and stops vncserver. \ +# used to provide remote X administration services. + +### BEGIN INIT INFO +# Provides: vncserver +# Required-Start: $network $named +# Required-Stop: $network $named +# Default-Start: +# Default-Stop: 0 1 2 3 4 5 6 +# Short-Description: start|stop|restart|try-restart|status|force-reload vncserver +# Description: control vncserver which exports your desktop +### END INIT INFO + +# Source function library. +. /etc/init.d/functions + +[ -r /etc/sysconfig/vncservers ] && . /etc/sysconfig/vncservers + +prog=$"VNC server" + +RETVAL=0 + +start() { + # Source networking configuration. + . /etc/sysconfig/network + + # Check that networking is up. + [ ${NETWORKING} = "no" ] && exit 1 + + [ -x /usr/bin/vncserver ] || exit 5 + [ -x /usr/bin/Xvnc ] || exit 5 + + echo -n $"Starting $prog: " + RETVAL=0 + if [ ! -d /tmp/.X11-unix ] + then + mkdir -m 1777 /tmp/.X11-unix || : + restorecon /tmp/.X11-unix 2>/dev/null || : + fi + + for display in ${VNCSERVERS} + do + SERVS=1 + echo -n "${display} " + DISP="${display%%:*}" + USER="${display##*:}" + VNCUSERARGS="${VNCSERVERARGS[${DISP}]}" + runuser -l ${USER} -c "cd ~${USER} && [ -r .vnc/passwd ] && vncserver :${DISP} ${VNCUSERARGS}" + RETVAL=$? + [ "$RETVAL" -eq 0 ] || break + done + if [ -z "$SERVS" ]; then + echo -n "no displays configured " + failure + RETVAL=6 + else + if [ "$RETVAL" -eq 0 ]; then + success $"vncserver startup" + touch /var/lock/subsys/vncserver + else + failure $"vncserver start" + fi + fi + echo + 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 + RETVAL=$? + [ "$RETVAL" -eq 0 ] && success $"vncserver shutdown" || \ + failure $"vncserver shutdown" + echo + [ "$RETVAL" -eq 0 ] && rm -f /var/lock/subsys/vncserver + return "$RETVAL" +} + +# See how we were called. +case "$1" in + start) + start + ;; + stop) + stop + ;; + restart|force-reload) + stop + sleep 3 + start + ;; + condrestart) + echo "condrestart is obsolete, use try-restart instead" + if [ -e /var/lock/subsys/vncserver ]; then + stop + sleep 3 + start + fi + ;; + try-restart) + if [ -e /var/lock/subsys/vncserver ]; then + stop + sleep 3 + start + fi + ;; + status) + status Xvnc + RETVAL=$? + ;; + *) + echo $"Usage: $0 {start|stop|restart|try-restart|status|force-reload}" + exit 3 +esac + +exit "$RETVAL" + diff --git a/vncserver.sysconfig b/vncserver.sysconfig new file mode 100644 index 0000000..31536f6 --- /dev/null +++ b/vncserver.sysconfig @@ -0,0 +1,21 @@ +# The VNCSERVERS variable is a list of display:user pairs. +# +# Uncomment the lines below to start a VNC server on display :2 +# as my 'myusername' (adjust this to your own). You will also +# need to set a VNC password; run 'man vncpasswd' to see how +# to do that. +# +# DO NOT RUN THIS SERVICE if your local area network is +# untrusted! For a secure way of using VNC, see +# . + +# 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" diff --git a/vncviewer.desktop b/vncviewer.desktop new file mode 100644 index 0000000..d2ad6d5 --- /dev/null +++ b/vncviewer.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Encoding=UTF-8 +Name=TigerVNC Viewer +Comment=Connect to VNC server and display remote desktop +Exec=/usr/bin/vncviewer +Icon=tigervnc +Terminal=false +Type=Application +StartupWMClass=TigerVNC Viewer: Connection Details +Categories=Network;Application;