So I tried to fix spec file to be able build on all SUSE versions. I put out pkgconfig (because its not avaible in SLE), but there is still one package is need only for OpenSUSE builds. - libXpm-devel. i didn't find better way how to do it. What do you think about it now ? Martin OBS-URL: https://build.opensuse.org/request/show/235916 OBS-URL: https://build.opensuse.org/package/show/games/xonotic?expand=0&rev=42
138 lines
2.6 KiB
Bash
138 lines
2.6 KiB
Bash
#!/bin/sh
|
|
#set -x
|
|
# $Id: xonotic,v 0.1 Martin Caj <mcaj@suse.cz>
|
|
#
|
|
# xonotic: Starts, Stops and Check status the service
|
|
#
|
|
# chkconfig: 2345 40 60
|
|
# description: Server with dedicated xonotic running as services unter the specific user.
|
|
# processname: xonotic-dedicated
|
|
# pidfile: /var/run/xonotic-dedicated.pid
|
|
# check $PID
|
|
#
|
|
|
|
### BEGIN INIT INFO
|
|
# Provides: xonotix
|
|
# Required-Start: $local_fs $remote_fs $time
|
|
# Required-Stop: $local_fs $remote_fs
|
|
# Should-Start:
|
|
# Should-Stop:
|
|
# Default-Start: 2 3 5
|
|
# Default-Stop: 0 1 6
|
|
# Short-Description: Xonotic dedicated server
|
|
# Description: Server with dedicated xonotic running as services unter the specific user.
|
|
### END INIT INFO
|
|
|
|
# Source function library.
|
|
|
|
. /etc/rc.status
|
|
rc_reset
|
|
|
|
. /lib/lsb/init-functions
|
|
|
|
# Local variables:
|
|
DAEMON="$(which xonotic-dedicated)"
|
|
PID="/var/run/xonotic-dedicated.pid"
|
|
PROC="$(basename $DAEMON)"
|
|
RETVAL=0
|
|
XONOTIC_USER="xonotic"
|
|
XONOTIC_GROUP="xonotic"
|
|
XONOTIC_HOME="$(grep ^xonotic /etc/passwd|cut -d":" -f6)"
|
|
|
|
if ! [ $DAEMON ] ; then
|
|
echo "ERROR: DEAMON "$DAEMON" not found!"
|
|
exit 1
|
|
fi
|
|
|
|
if ! [ $XONOTIC_HOME ] ; then
|
|
echo "ERROR: the home for user xonotic not found in /etc/passwd."
|
|
exit 1
|
|
fi
|
|
|
|
|
|
start() {
|
|
# Start daemons.
|
|
if checkproc -k -p "$PID" "$DAEMON" ; then
|
|
echo ""$PROC" already started. Not starting."
|
|
exit 0
|
|
fi
|
|
if [ -e $PID ] ; then
|
|
echo "Removing stale PID file $PID."
|
|
rm -f $PID
|
|
fi
|
|
echo -n "Starting Xonotic daemon"
|
|
|
|
# user is not working yes
|
|
# startproc -f -p "$PID" -e "$DAEMON" -u "$XONOTIC_USER" -g "$XONOTIC_GROUP"
|
|
startproc -f -p "$PID" -e "$DAEMON" -u "$XONOTIC_USER" -g "$XONOTIC_GROUP"
|
|
return "$?"
|
|
}
|
|
|
|
stop() {
|
|
# Stop daemons.
|
|
echo -n $"Shutting down "$DAEMON": "
|
|
killproc "$PROC"
|
|
if [ $? -eq 0 ]; then
|
|
rm -f "$PID"
|
|
return 0
|
|
else
|
|
echo ""$PROC" was not Shutdown correctly, please check ps."
|
|
return 3
|
|
fi
|
|
}
|
|
|
|
restart() {
|
|
$0 stop
|
|
$0 start
|
|
rc_status
|
|
}
|
|
|
|
|
|
status() {
|
|
echo "Checking status of the $DAEMON:"
|
|
if [ -e $PID ] ; then
|
|
echo
|
|
echo "$DAEMON is running:"
|
|
return 0
|
|
else
|
|
checkproc -k -p $PID $DAEMON
|
|
if [ $? -eq 7 ]; then
|
|
return 3
|
|
fi
|
|
fi
|
|
}
|
|
|
|
|
|
# See how we were called.
|
|
case "$1" in
|
|
start)
|
|
start
|
|
rc_status -v
|
|
;;
|
|
stop)
|
|
stop
|
|
rc_status -v
|
|
;;
|
|
restart)
|
|
restart
|
|
;;
|
|
reload)
|
|
reload
|
|
rc_status -v
|
|
;;
|
|
condrestart)
|
|
echo "The condrestart calls :"
|
|
[ -f "$PID" ] && restart || :
|
|
rc_status -v
|
|
;;
|
|
status)
|
|
status
|
|
rc_status -v
|
|
;;
|
|
*)
|
|
echo "Usage: "$PROC" {start|stop|restart|condrestart|status}"
|
|
exit 1
|
|
esac
|
|
|
|
exit $?
|