de23632002-02-05Per Hedbor #!/bin/sh DEFINES="" ARGS=""
0b590d2002-04-15Per Hedbor once=0
520d3b2003-01-21Martin Nilsson PIKE=pike
de23632002-02-05Per Hedbor  if [ -f @DIR@/CVS/Entries ] ; then VERSION="cvs-@VERSION@" else VERSION="@VERSION@" fi
0b590d2002-04-15Per Hedbor LOG='@DIR@/logs/server-debug'
de23632002-02-05Per Hedbor while [ ! c"$1" = "c" ] ; do case "$1" in
bd1b6a2002-02-24Per Hedbor  -D*|-d*|-t*)
de23632002-02-05Per Hedbor  DEFINES="$DEFINES $1" ;;
0b590d2002-04-15Per Hedbor  '--once') once=1 ;;
8d42e82003-05-30Andreas Sigfridsson  '--kill'|'--stop') if [ -f $HOME/.aido/pid ]; then PID=`cat $HOME/.aido/pid` kill $PID 2>/dev/null && wait $PID 2>/dev/null fi exit 0 ;; '--restart') if [ -f $HOME/.aido/pid ]; then PID=`cat $HOME/.aido/pid` kill -HUP $PID 2>/dev/null fi exit 0 ;;
2e53e72003-03-09Per Hedbor  '--nossl'|'--no-sll') DEFINES="-DNOSSL $DEFINES" ;;
de23632002-02-05Per Hedbor  '--debug'|'--with-debug'|'--enable-debug') DEBUG=1 DEFINES="-DVP_DEBUG $DEFINES" ;; '--version') echo "AIDO MediaPlayer backend server $VERSION" exit 0 ;;
0b590d2002-04-15Per Hedbor  '--log=*') LOG=`echo $1 | sed -e 's/--log=//'` ;;
de23632002-02-05Per Hedbor  '--help'|'-?') sed -e "s/\\.B/`tput 'bold' 2>/dev/null`/g" -e "s/B\\./`tput 'sgr0' 2>/dev/null`/g" << EOF This command will start the AIDO MediaPlayer backend server (version $VERSION). Installation directory: @DIR@ Options: .B--versionB.: Output version information .B--help -?B.: This information. .B--offlineB.: Indicate that there is no network connection available. Disables metaserver access. .B--debugB.: Output more debug information
2e53e72003-03-09Per Hedbor  .B--no-sslB.: Run without SSL-support. A normal HTTP-port will opened instead of a HTTPS-port.
0b590d2002-04-15Per Hedbor  .B--onceB.: Run the server only once, in the foreground. The default behaviour is to run it in a loop in the background.
8d42e82003-05-30Andreas Sigfridsson  .B--kill|--stop Kill the running server, without restarting it .B--restart Kill the running server, restarting it afterwards
0b590d2002-04-15Per Hedbor  .B--log=fileB.: Use the specified file as the debug log. default is $LOG
de23632002-02-05Per Hedbor  EOF tput 'rmso' 2>/dev/null exit 0 ;; *) ARGS="$ARGS $1" ;; esac shift done cd "@DIR@/programs/server" ARGS="$DEFINES -M../../pike-modules main.pike $ARGS"
0b590d2002-04-15Per Hedbor rotate_log() { mv -f "$LOG.old" "$LOG.older" 2>/dev/null mv -f "$LOG" "$LOG.old" 2>/dev/null } start_server() { if [ ! x$DEBUG = x ] ; then echo cd "@DIR@/programs/server"
520d3b2003-01-21Martin Nilsson  pikeversion=`$PIKE --version 2>&1 | head -1`
b4c0812002-12-29Peter Bortas  echo "Pike version: $pikeversion."
520d3b2003-01-21Martin Nilsson  echo exec $PIKE "$ARGS"
0b590d2002-04-15Per Hedbor  fi
8d42e82003-05-30Andreas Sigfridsson  $PIKE $ARGS & AIDO_PID=$! wait $AIDO_PID AIDO_PID=""
0b590d2002-04-15Per Hedbor }
de23632002-02-05Per Hedbor 
8d42e82003-05-30Andreas Sigfridsson signal_exit() { trap "" 2 15 if [ "x$AIDO_PID" != "x" ]; then kill $AIDO_PID 2>/dev/null && wait $AIDO_PID 2>/dev/null fi exit } signal_hup() { if [ "x$AIDO_PID" != "x" ]; then kill $AIDO_PID 2>/dev/null fi } AIDO_PID=""
0b590d2002-04-15Per Hedbor if [ x$once = 'x0' ] ; then echo Starting server in the background. (
8d42e82003-05-30Andreas Sigfridsson  trap signal_exit 2 15 trap signal_hup 1
0b590d2002-04-15Per Hedbor  while : ; do rotate_log ; start_server > $LOG 2>&1 < /dev/null done ) &
8d42e82003-05-30Andreas Sigfridsson  echo $! >$HOME/.aido/pid
0b590d2002-04-15Per Hedbor else
8d42e82003-05-30Andreas Sigfridsson  trap signal_exit 2 15 echo $$ >$HOME/.aido/pid
0b590d2002-04-15Per Hedbor  start_server
e5ea7d2002-04-23Marcus Comstedt fi