mumble/scripts/mumble-server-user-wrapper
Felix Singer b4fe92dee0 MAINT(manpages): Replace murmur with mumble-server
The name `murmur` is deprecated and shouldn't be used anymore, as
decided by the Mumble project. While the server binary already uses the
"new" name, the man pages don't. Thus, rework the man pages so that its
successor `mumble-server` instead `murmur` is used and rename the
filenames of the man pages accordingly.

Also, rename the script `murmur-user-wrapper` to
`mumble-server-user-wrapper`, since also its man page is renamed.

This does not affect the configuration file `murmur.ini`.

Signed-off-by: Felix Singer <felixsinger@posteo.net>
2022-02-07 08:32:23 +01:00

121 lines
2.6 KiB
Bash
Executable File

#! /bin/bash
#
# Copyright 2005-2020 The Mumble Developers. All rights reserved.
# Use of this source code is governed by a BSD-style license
# that can be found in the LICENSE file at the root of the
# Mumble source tree or at <https://www.mumble.info/LICENSE>.
DIR=$HOME/murmur
SYSDIR=/usr/share/doc/mumble-server/examples
if [ $UID == 0 ] || [ $EUID == 0 ]; then
echo "You should never run this script as root. If you want a system-wide install, see "
echo "the documentation included with this package."
exit 2
fi
unset SETPW
DO_KILL=0
DO_STATUS=0
DO_INITONLY=0
while getopts "sid:p:k" flag; do
case "$flag" in
"s")
DO_STATUS=1
;;
"i")
DO_INITONLY=1
;;
"d")
DIR=$OPTARG
;;
"p")
SETPW=$OPTARG
;;
"k")
DO_KILL=1
;;
*)
exit 2
;;
esac
done
DBUSFILE=$DIR/.dbus.sh
if [ $DO_KILL == 1 ]; then
if pkill -U $UID -u $EUID -o -x -f "/usr/sbin/murmurd -ini $DIR/murmur.ini"; then
echo "Termination signal sent"
else
echo "Murmur process not found; not terminated"
exit 2
fi
exit 0
fi
if [ ! -d $DIR ]; then
echo "Making $DIR"
mkdir -m 0700 $DIR
fi
cd $DIR || exit 2
if [ ! -f $DIR/murmur.ini ]; then
echo "Creating $DIR/murmur.ini"
if [ -f $SYSDIR/murmur.ini ]; then
cp $SYSDIR/murmur.ini $DIR
elif [ -f $SYSDIR/murmur.ini.gz ]; then
gzip -cd $SYSDIR/murmur.ini.gz > $DIR/murmur.ini
else
echo "Could not find template for murmur.ini in $SYSDIR."
exit 2
fi
elif [ $DO_INITONLY == 1 ]; then
echo "$DIR/murmur.ini already exists, initialization failed."
exit 2
fi
if [ $DO_INITONLY == 1 ]; then
echo "Initialization done. Please edit $DIR/murmur.ini"
exit 0
fi
if [ "X$SETPW" != "X" ]; then
echo "Setting superuser password to \"$SETPW\""
/usr/sbin/murmurd -ini $DIR/murmur.ini -supw $SETPW
exit 0
fi
PID=$(pgrep -U $UID -u $EUID -o -x -f "/usr/sbin/murmurd -ini $DIR/murmur.ini")
if [ $DO_STATUS == 1 ]; then
if [ "X$PID" != "X" ]; then
echo "Murmur is running"
exit 1
else
echo "Murmur is not running"
exit 0
fi
fi
if [ "X$PID" != "X" ]; then
echo "Murmur is already running."
exit 1
fi
DBUS_SESSION_BUS_ADDRESS=invalid:/
[ -f $DBUSFILE ] && . $DBUSFILE
if ! dbus-send --print-reply --dest=org.freedesktop.DBus --type=method_call / org.freedesktop.DBus.GetId 2> /dev/null > /dev/null; then
echo "Launching D-Bus session"
dbus-launch --sh-syntax > $DBUSFILE
. $DBUSFILE
if ! dbus-send --print-reply --dest=org.freedesktop.DBus --type=method_call / org.freedesktop.DBus.GetId 2> /dev/null > /dev/null; then
echo "Failed to launch session DBUS, bailing out."
exit 2
fi
fi
echo "Starting Murmur"
exec /usr/sbin/murmurd -ini $DIR/murmur.ini