diff options
Diffstat (limited to 'punani')
| -rw-r--r-- | punani/Makefile | 6 | ||||
| -rwxr-xr-x | punani/autostart/punani-debian | 102 | ||||
| -rwxr-xr-x | punani/bin/punani | 16 | 
3 files changed, 116 insertions, 8 deletions
| diff --git a/punani/Makefile b/punani/Makefile index 26057d00..f444b1fc 100644 --- a/punani/Makefile +++ b/punani/Makefile @@ -1,5 +1,9 @@  install: ../bin/punani - +	  ../bin/punani:  	ln -snvf ../punani/bin/punani ../bin/punani +debian: +	useradd punani||: +	cp autostart/punani-debian /etc/init.d/punani +	update-rc.d punani defaults diff --git a/punani/autostart/punani-debian b/punani/autostart/punani-debian new file mode 100755 index 00000000..53db0336 --- /dev/null +++ b/punani/autostart/punani-debian @@ -0,0 +1,102 @@ +#!/bin/sh +# uses template from /etc/init.d/skeleton +### BEGIN INIT INFO +# Provides:          punani +# Required-Start:     +# Required-Stop:      +# Default-Start:     2 3 4 5 +# Default-Stop:      0 1 6 +# Short-Description: punani +# Description:       starts punani daemon +#                     +### END INIT INFO + +PATH=/sbin:/usr/sbin:/bin:/usr/bin +NAME=punani +USER=punani +DESC="$NAME daemon" +DAEMON=/usr/bin/python +DAEMON_DIR="/krebs/punani" +DAEMON_ARGS="${DAEMON_DIR}/index.py" +PIDFILE=/var/run/$NAME.pid +SCRIPTNAME=/etc/init.d/$NAME + +[ -x "$DAEMON" ] || exit 0 +[ -r /etc/default/$NAME ] && . /etc/default/$NAME +. /lib/init/vars.sh +. /lib/lsb/init-functions + +do_start() +{ +  #   0 if daemon has been started +  #   1 if daemon was already running +  #   2 if daemon could not be started +  start-stop-daemon -b -d $DAEMON_DIR -c $USER --start --quiet --make-pidfile --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \ +          || return 1 +  start-stop-daemon -b -d $DAEMON_DIR -c $USER --start --quiet --make-pidfile --pidfile $PIDFILE --exec $DAEMON -- \ +      $DAEMON_ARGS \ +      || return 2 +} + +do_stop() +{ +  #   0 if daemon has been stopped +  #   1 if daemon was already stopped +  #   2 if daemon could not be stopped +  start-stop-daemon --stop --retry=TERM/30/KILL/5 --pidfile $PIDFILE +  RETVAL="$?" +  [ "$RETVAL" = 2 ] && return 2 +  rm -f $PIDFILE +  return "$RETVAL" +} + +do_reload() { +  start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE +  return 0 +} + +case "$1" in +  start) +  [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME" +  do_start +  case "$?" in +      0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; +      2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; +  esac +  ;; +  stop) +  [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME" +  do_stop +  case "$?" in +      0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; +      2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; +  esac +  ;; +  status) +       status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $? +       ;; +  restart|force-reload) +  log_daemon_msg "Restarting $DESC" "$NAME" +  do_stop +  case "$?" in +    0|1) +      do_start +      case "$?" in +          0) log_end_msg 0 ;; +          1) log_end_msg 1 ;; +          *) log_end_msg 1 ;; +      esac +      ;; +    *) +      # Failed to stop +      log_end_msg 1 +      ;; +  esac +  ;; +  *) +  echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2 +  exit 3 +  ;; +esac + +: diff --git a/punani/bin/punani b/punani/bin/punani index 97c7ac85..23ba5e00 100755 --- a/punani/bin/punani +++ b/punani/bin/punani @@ -8,26 +8,28 @@ PKGS="$*"  ## find package manager  if ! :; then : # dummy case, so the rest has a common format -elif for PACKER_CMD in yum +elif for PACKER_CMD in aptitude apt-get      do type $PACKER_CMD 2>/dev/null 1>&2 && break; done; then    INSTALL_PARAM='-y install'    REMOVE_PARAM='-y remove' -elif for PACKER_CMD in brew -    do type $PACKER_CMD 2>/dev/null 1>&2 && break; done; then -  INSTALL_PARAM='install' -  REMOVE_PARAM='remove' -  elif for PACKER_CMD in bauerbill packer yaourt pacman      do type $PACKER_CMD 2>/dev/null 1>&2 && break; done; then    INSTALL_PARAM='--noconfirm -S --needed'    REMOVE_PARAM='-Rcs' -elif for PACKER_CMD in aptitude apt-get +elif for PACKER_CMD in yum      do type $PACKER_CMD 2>/dev/null 1>&2 && break; done; then    INSTALL_PARAM='-y install'    REMOVE_PARAM='-y remove' +elif for PACKER_CMD in brew +    do type $PACKER_CMD 2>/dev/null 1>&2 && break; done; then +  INSTALL_PARAM='install' +  REMOVE_PARAM='remove' + + +  else    echo "Error 2: no known package manager found; no punani for you!" >&2    exit 23 | 
