summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorViorel Munteanu <ceamac.paragon@gmail.com>2022-03-22 09:27:03 +0200
committerSam James <sam@gentoo.org>2022-03-22 18:01:11 +0000
commitf94f6f15314c9a4b161efacb57042744346bc234 (patch)
treec5825b12a82cea94493efaf216e22dd836515149 /net-misc
parentsys-fs/zfs-kmod: fix -Werror issue (diff)
downloadgentoo-f94f6f15314c9a4b161efacb57042744346bc234.tar.gz
gentoo-f94f6f15314c9a4b161efacb57042744346bc234.tar.bz2
gentoo-f94f6f15314c9a4b161efacb57042744346bc234.zip
net-misc/tigervnc: Fix the init script
Remove $VNC_OPTS from conf.d Make init script POSIX compliant Closes: https://bugs.gentoo.org/835730 Closes: https://bugs.gentoo.org/506522 Signed-off-by: Viorel Munteanu <ceamac.paragon@gmail.com> Closes: https://github.com/gentoo/gentoo/pull/24703 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'net-misc')
-rw-r--r--net-misc/tigervnc/files/tigervnc-1.12.0.confd4
-rw-r--r--net-misc/tigervnc/files/tigervnc-1.12.0.initd28
-rw-r--r--net-misc/tigervnc/tigervnc-1.12.0-r3.ebuild (renamed from net-misc/tigervnc/tigervnc-1.12.0-r2.ebuild)0
3 files changed, 14 insertions, 18 deletions
diff --git a/net-misc/tigervnc/files/tigervnc-1.12.0.confd b/net-misc/tigervnc/files/tigervnc-1.12.0.confd
index a65c991eabcc..d03da01660be 100644
--- a/net-misc/tigervnc/files/tigervnc-1.12.0.confd
+++ b/net-misc/tigervnc/files/tigervnc-1.12.0.confd
@@ -11,5 +11,5 @@
# TIGERVNC_XSESSION_FILE="/etc/lightdm/Xsession"
# TIGERVNC_XSESSION_FILE="/usr/share/slim/Xsession"
-# Specify any of vncserver(1) and Xvnc(1) options. See the respective man pages for more information.
-# VNC_OPTS=""
+# vncsession no longer supports VNC_OPTS
+# Use /etc/tigervnc/vncserver-config-defaults or $HOME/.vnc/config instead
diff --git a/net-misc/tigervnc/files/tigervnc-1.12.0.initd b/net-misc/tigervnc/files/tigervnc-1.12.0.initd
index 59da61eed5f7..c27d9c01bd7e 100644
--- a/net-misc/tigervnc/files/tigervnc-1.12.0.initd
+++ b/net-misc/tigervnc/files/tigervnc-1.12.0.initd
@@ -2,25 +2,26 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License, v2 or later
+# shellcheck shell=sh
+
depend() {
need net
}
checkconfig() {
if [ -n "${DISPLAYS}" ]; then
- if [ $1 = "start" ]; then
- local user
+ if [ "$1" = "start" ]; then
for user in $DISPLAYS; do
if eval [ ! -f "~${user%%:*}/.vnc/passwd" ]; then
eerror "There are no passwords defined for user ${user%%:*}."
return 1
elif [ -e "/tmp/.X11-unix/X${user##*:}" ]; then
eerror "Display :${user##*:} appears to be already in use because of /tmp/.X11-unix/X${user##*:}"
- eerror "Remove this file if there is no X server $HOSTNAME:${user##*:}"
+ eerror "Remove this file if there is no X server for :${user##*:}"
return 1
elif [ -e "/tmp/.X${user##*:}-lock" ]; then
eerror "Display :${user##*:} appears to be already in use because of /tmp/.X${user##*:}-lock"
- eerror "Remove this file if there is no X server $HOSTNAME:${user##*:}"
+ eerror "Remove this file if there is no X server for :${user##*:}"
return 1
elif ! grep -E "^[^#]*:${user##*:}=${user%%:*}" /etc/tigervnc/vncserver.users > /dev/null 2>&1; then
eerror "User ${user%%:*} is not defined for display :${user##*:} in /etc/tigervnc/vncserver.users"
@@ -30,6 +31,8 @@ checkconfig() {
fi
return 0
else
+ # here it is intended for $DISPLAYS to not expand
+ # shellcheck disable=SC2016
eerror 'Please define $DISPLAYS in /etc/conf.d/tigervnc'
return 1
fi
@@ -39,15 +42,8 @@ start() {
checkconfig start || return 1
ebegin "Starting TigerVNC server"
for user in $DISPLAYS; do
- usrname=${user%%:*}
- usropts=VNC_OPTS_${usrname}
- usrdisp=${user##*:}
- usrvar=$usropts"["$usrdisp"]"
- [ -z ${!usrvar} ] && vnc_opts=$VNC_OPTS || vnc_opts=${!usrvar}
-
[ -n "${TIGERVNC_XSESSION_FILE}" ] && export TIGERVNC_XSESSION_FILE
-
- /usr/libexec/vncsession-start :${user##*:} $vnc_opts &>/dev/null
+ /usr/libexec/vncsession-start ":${user##*:}" >/dev/null 2>&1
done
eend $?
}
@@ -59,10 +55,10 @@ stop() {
# vncserver no longer provides a `-kill` option
# killing vncsession does not work, we have to kill Xvnc
# run pstree to see exactly what's going on
- sessionpid=`cat /run/vncsession-\:${user##*:}.pid`
- serverpid=`pstree -p $sessionpid | grep Xvnc | sed -e 's/^.*Xvnc(//
- s/).*$//'`
- kill $serverpid &>/dev/null
+ sessionpid=$(cat /run/vncsession-:"${user##*:}".pid)
+ serverpid=$(pstree -p "$sessionpid" | grep Xvnc | sed -e 's/^.*Xvnc(//
+ s/).*$//')
+ kill "$serverpid" >/dev/null 2>&1
done
# Do not fail if a server is missing
/bin/true
diff --git a/net-misc/tigervnc/tigervnc-1.12.0-r2.ebuild b/net-misc/tigervnc/tigervnc-1.12.0-r3.ebuild
index a87123a7d275..a87123a7d275 100644
--- a/net-misc/tigervnc/tigervnc-1.12.0-r2.ebuild
+++ b/net-misc/tigervnc/tigervnc-1.12.0-r3.ebuild