diff options
author | Viorel Munteanu <ceamac.paragon@gmail.com> | 2022-03-22 09:27:03 +0200 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2022-03-22 18:01:11 +0000 |
commit | f94f6f15314c9a4b161efacb57042744346bc234 (patch) | |
tree | c5825b12a82cea94493efaf216e22dd836515149 /net-misc | |
parent | sys-fs/zfs-kmod: fix -Werror issue (diff) | |
download | gentoo-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.confd | 4 | ||||
-rw-r--r-- | net-misc/tigervnc/files/tigervnc-1.12.0.initd | 28 | ||||
-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 |