[packages/tigervnc] - vncserver.{init,sysconfig) from vnc package - removed non-existent url in sysconfig, added descrit

hawk hawk at pld-linux.org
Thu Jul 18 19:02:41 CEST 2013


commit d76ad120f29ef22842fc092f093bc02294c29808
Author: Marcin Krol <hawk at tld-linux.org>
Date:   Thu Jul 18 17:13:13 2013 +0000

    - vncserver.{init,sysconfig) from vnc package
    - removed non-existent url in sysconfig, added descritpion in init

 tigervnc.spec       |   8 ++++
 vncserver.init      | 126 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 vncserver.sysconfig |  19 ++++++++
 3 files changed, 153 insertions(+)
---
diff --git a/tigervnc.spec b/tigervnc.spec
index 7a54a3d..a396696 100644
--- a/tigervnc.spec
+++ b/tigervnc.spec
@@ -13,6 +13,8 @@ Group:		X11/Applications/Networking
 Source0:	http://download.sourceforge.net/tigervnc/%{name}-%{version}.tar.bz2
 # Source0-md5:	a5158228e64d14496821a39bf3851f1b
 Source1:	%{name}.desktop
+Source2:	vncserver.init
+Source3:	vncserver.sysconfig
 Patch0:		%{name}-cookie.patch
 Patch1:		%{name}-ldnow.patch
 Patch2:		%{name}-rh102434.patch
@@ -260,6 +262,10 @@ install media/icons/tigervnc_32.png $RPM_BUILD_ROOT%{_iconsdir}/hicolor/32x32/ap
 install media/icons/tigervnc_48.png $RPM_BUILD_ROOT%{_iconsdir}/hicolor/48x48/apps/tigervnc.png
 install media/icons/tigervnc.svg $RPM_BUILD_ROOT%{_iconsdir}/hicolor/scalable/apps/tigervnc.svg
 
+install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,sysconfig}
+install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/vncserver
+install %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/vncserver
+
 %find_lang %{name}
 
 %clean
@@ -286,6 +292,8 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_bindir}/Xvnc
 %attr(755,root,root) %{_bindir}/vncserver
 %attr(755,root,root) %{_bindir}/x0vncserver
+%attr(754,root,root) /etc/rc.d/init.d/vncserver
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/vncserver
 %{_mandir}/man1/Xvnc.1*
 %{_mandir}/man1/vncserver.1*
 %{_mandir}/man1/x0vncserver.1*
diff --git a/vncserver.init b/vncserver.init
new file mode 100644
index 0000000..88c85fa
--- /dev/null
+++ b/vncserver.init
@@ -0,0 +1,126 @@
+#!/bin/sh
+#
+# vncserver	Starts/stop VNC server
+#
+# chkconfig:	345 91 35
+#
+# description:	Starts and stops vncserver.
+#		Used to provide remote X administration services.
+#
+# $Id$
+
+# Source function library
+. /etc/rc.d/init.d/functions
+
+# Get network config
+. /etc/sysconfig/network
+
+VNCSERVERS=""
+[ -f /etc/sysconfig/vncserver ] && . /etc/sysconfig/vncserver
+
+# Check that networking is up.
+if is_yes "${NETWORKING}"; then
+	if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then
+		msg_network_down vncserver
+		exit 1
+	fi
+else
+	exit 0
+fi
+
+start() {
+	# Check if the service is already running?
+	if [ ! -f /var/lock/subsys/vncserver ]; then
+		ulimit -S -c 0 >/dev/null 2>&1
+		RETVAL=0
+
+		if [ ! -d /tmp/.X11-unix ]
+		then
+			mkdir -m 1777 /tmp/.X11-unix || :
+			restorecon /tmp/.X11-unix 2>/dev/null || :
+		fi
+
+		NOSERV=1
+		for display in $VNCSERVERS
+		do
+			msg_starting "vncserver ($display)"
+			NOSERV=0
+			DISP="${display%%:*}"
+			USER="${display##*:}"
+			if [ "x$USER" == "xroot" ]; then
+			    fail
+			    echo "-- Do not run vncserver as root!"
+			    continue
+			fi
+			VNCUSERARGS="${VNCSERVERARGS[${DISP}]}"
+			USEREXISTS=`cat /etc/passwd | awk -F: "{ if (\"$USER\"==\\\$1) print \"yes\" }"`
+			if [ "x$USEREXISTS" != "xyes" ]; then
+			    fail
+			    echo "-- User $USER does not exists!"
+			    continue
+			fi
+			USERHOME=`runuser $USER -c 'echo $HOME'`
+			if [ ! -f "$USERHOME/.vnc/passwd" ]; then
+			    fail
+			    echo "-- No password file found for user $USER!"
+			    continue
+			fi
+			export USER VNCUSERARGS
+			daemon --user ${USER} "vncserver :${DISP} ${VNCUSERARGS}"
+			RETVAL=$?
+			[ "$RETVAL" -eq 0 ] && echo $display >> /var/lock/subsys/vncserver && continue
+		done
+	else
+		msg_already_running vncserver
+	fi
+}
+
+stop() {
+	if [ -f /var/lock/subsys/vncserver ]; then
+		# Stop daemons.
+		ERRDISP=""
+		for display in `cat /var/lock/subsys/vncserver`
+		do
+			msg_stopping "vncserver ($display)"
+			export USER="${display##*:}"
+			runuser ${USER} -c "vncserver -kill :${display%%:*}" >/dev/null 2>&1
+			RETVAL=$?
+			[ "$RETVAL" -eq 0 ] && ok && continue
+			fail
+			ERRDISP="$ERRDISP $display"
+		done
+		rm -f /var/lock/subsys/vncserver
+		[ "x$ERRDISP" != "x" ] && echo "$ERRDISP" > /var/lock/subsys/vncserver
+	else
+		msg_not_running vncserver
+	fi
+}
+
+RETVAL=0
+# See how we were called.
+case "$1" in
+  start)
+  	start
+	;;
+  stop)
+  	stop
+	;;
+  restart)
+	stop
+	sleep 3s
+	start
+	exit $?
+	;;
+  status)
+	status Xvnc
+	RETVAL=$?
+	;;
+  *)
+	msg_usage "$0 {start|stop|restart|status}"
+	exit 3
+esac
+
+exit $RETVAL
+
+# This must be last line !
+# vi:syntax=sh
diff --git a/vncserver.sysconfig b/vncserver.sysconfig
new file mode 100644
index 0000000..5901eb6
--- /dev/null
+++ b/vncserver.sysconfig
@@ -0,0 +1,19 @@
+# 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!
+
+# 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"
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/tigervnc.git/commitdiff/d76ad120f29ef22842fc092f093bc02294c29808



More information about the pld-cvs-commit mailing list