SparkleShare/SparkleShare/sparkleshare.in
2011-09-25 23:22:20 +02:00

78 lines
1.7 KiB
Bash
Executable file

#!/bin/bash
if [[ $UID -eq 0 ]]; then
echo "Cannot run as root. Things would go utterly wrong."
exit 1
fi
if [ "$XDG_RUNTIME_DIR" ]; then
pidfile=${XDG_RUNTIME_DIR}/sparkleshare.pid
else
pidfile=/tmp/sparkleshare-${USER}.pid
fi
start() {
if [ -e "${pidfile}" ]; then
sparklepid=`cat ${pidfile}`
if [ -n "`ps -p ${sparklepid} | grep ${sparklepid}`" ]; then
echo "SparkleShare is already running."
exit 0
else
echo "SparkleShare stale pid file found, starting a new instance."
rm -f $pidfile
fi
fi
echo -n "Starting SparkleShare... "
if [ -n "${SSH_AGENT_PID}" -o -n "${SSH_AUTH_SOCK}" ] ; then
mono "@expanded_libdir@/@PACKAGE@/SparkleShare.exe" $2 &
else
ssh-agent mono "@expanded_libdir@/@PACKAGE@/SparkleShare.exe" $2 &
fi
( umask 066; echo $! > ${pidfile} )
echo "Done."
}
stop() {
if [ -e "${pidfile}" ]; then
sparklepid=`cat ${pidfile}`
if [ -n "`ps -p ${sparklepid} | grep ${sparklepid}`" ]; then
echo -n "Stopping SparkleShare... "
kill ${sparklepid}
rm -f ${pidfile}
echo "Done."
else
echo "SparkleShare is not running, removing stale pid file."
rm -f ${pidfile}
fi
else
echo "SparkleShare is not running."
fi
}
case $1 in
start|--start)
start
;;
stop|--stop)
stop
;;
restart|--restart)
stop
start
;;
help|--help|-h)
mono "@expanded_libdir@/@PACKAGE@/SparkleShare.exe" --help
;;
-d|--disable-gui)
mono "@expanded_libdir@/@PACKAGE@/SparkleShare.exe" --disable-gui
;;
-v|--version)
mono "@expanded_libdir@/@PACKAGE@/SparkleShare.exe" --version
;;
*)
echo "Usage: sparkleshare {start|stop|restart|help}"
;;
esac