5e3e244da8
Fix startup with existing ssh agents
73 lines
1.6 KiB
Bash
73 lines
1.6 KiB
Bash
#!/bin/bash
|
|
|
|
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
|
|
|