Finish up and move out
[matthijs/upstream/backupninja.git] / ninjahelper
diff --git a/ninjahelper b/ninjahelper
deleted file mode 100755 (executable)
index 13a4ca9..0000000
+++ /dev/null
@@ -1,261 +0,0 @@
-#!/bin/bash
-
-####################################################
-## Functions
-
-function check_perms() {
-       local file=$1
-       local perms=`ls -ld $file`
-       group_w_perm=${perms:5:1}
-       world_w_perm=${perms:8:1}
-       if [ "$group_w_perm" == "w" -o "$world_w_perm" == "w" ]; then
-           echo $perms
-           echo "helper scripts must not be group or world writable! Dying on file $file"
-           exit
-       fi
-       if [ `ls -ld $file | awk '{print $3}'` != "root" ]; then
-               echo "helper scripts must be owned by root! Dying on file $file"
-               exit
-       fi
-}
-
-
-##
-## returns the next available file name given a file
-## in the form /etc/backup.d/10.sys
-## sets variable $returned_filename
-##
-get_next_filename() {
-  next_filename=$1
-  dir=`dirname $next_filename`
-  file=`basename $next_filename`
-  number=${file:0:2}
-  suffix=${file:3}
-  while [ -f $next_filename ]; do
-    let "number += 1"
-    next_filename="$dir/$number.$suffix"
-  done
-}
-
-##
-## installs packages (passed in as $@) if not present
-##
-require_packages() {
-       for pkg in "$@"; do
-          installed=`dpkg -s $pkg | grep 'ok installed'`
-       if [ -z "$installed" ]; then 
-           booleanBox "install $pkg?" "This backup action requires package $pkg. Do you want to install it now?"
-           if [ $? = 0 ]; then
-              apt-get install $pkg
-              echo "hit return to continue...."
-              read
-           fi
-       fi
-    done
-}
-
-##
-## menu for the wizards
-##
-donew() {
-  listBegin "new action menu" "select an action to create"
-  listItem return "return to main menu"
-  for data in $HELPERS; do
-    data=${data//_/ }
-    helper_function=${data%%:*}
-    helper_info=${data##*:}
-    listItem $helper_function "$helper_info"
-  done
-  listDisplay menu
-    
-  [ $? = 1 ] && return
-  result="$REPLY"
-  [ "$result" = "return" ] && return
-  result=${result}_wizard
-  $result
-}
-
-do_rm_action() {
-   booleanBox "remove action" "Are you sure you want to remove action file $1?"
-   if [ $? = 0 ]; then
-     rm $1;
-   fi
-}
-
-do_run() {
-   backupninja --run $1
-   echo "Hit return to continue..."
-   read
-}
-
-do_xedit() {
-   if [ -z "$EDITOR" -o ! -x "`which $EDITOR`" ]; then
-      if [ -h /etc/alternatives/editor -a -x "`readlink /etc/alternatives/editor`" ]; then
-        EDITOR="`readlink /etc/alternatives/editor`"
-      elif [ -x "`which nano`" ]; then
-        EDITOR="`which nano`"
-      elif [ -x "`which vim`" ]; then
-        EDITOR="`which vim`"
-      elif [ -x "`which vi`" ]; then
-        EDITOR="`which vi`"
-      else
-        echo "No suitable editor found."
-        echo "Please define $EDITOR or configure /etc/alternatives/editor."
-        exit
-      fi
-   fi
-   $EDITOR $1
-}
-
-do_run_test() {
-  backupninja --test --run $1
-  echo "Hit return to continue..."
-  read
-}
-
-do_disable() {
-  mv $1 $1.disabled
-}
-
-do_enable() {
-  mv $1 ${1%.*}
-}
-
-do_rename() {
-  dir=`dirname $1`
-  filename=`basename $1`
-  inputBox "rename action" "enter a new filename" $filename
-  mv $dir/$filename $dir/$REPLY
-}
-
-doaction() {
-  action=$1
-  base=`basename $action`
-  if [ "${base##*.}" == "disabled" ]; then
-     enable="enable";
-  else
-     enable="disable";
-  fi
-  while true; do
-    menuBox "action menu" "$action $first" \
-      main "return to main menu" \
-      view "view configuration" \
-      xedit "launch external editor" \
-      $enable "$enable action" \
-      name "change the filename" \
-      run "run this action now" \
-      test "test connections and passwords only" \
-      kill "remove this action" 
-    [ $? = 1 ] && return;
-    result="$REPLY"
-       case "$result" in
-          "view") dialog --textbox $action 0 0;; 
-          "xedit") do_xedit $action;;
-          "disable") do_disable $action; return;;
-          "enable") do_enable $action; return;;
-          "name") do_rename $action; return;;
-          "run") do_run $action;;
-          "test") do_run_test $action;; 
-          "kill") do_rm_action $action; return;;
-          "main") return;;
-       esac
-  done
-}
-
-#####################################################
-## begin program
-
-if [ ! -x "`which dialog`" ]; then
-       echo "ninjahelper is a menu based wizard for backupninja."
-       echo "It requires 'dialog' in order to run. Do you want to install dialog now?"
-       while true; do
-         echo -n "(yes/no): "
-         read install
-         if [ "$install" == "yes" ]; then
-            apt-get install dialog
-            break
-         elif [ "$install" == "no" ]; then
-            exit
-         else
-            echo "You must answer 'yes' or 'no'"
-         fi
-    done
-fi
-
-conffile="/etc/backupninja.conf"
-if [ ! -r "$conffile" ]; then
-       echo "Configuration file $conffile not found." 
-       exit 1
-fi
-scriptdir=`grep scriptdirectory $conffile | awk '{print $3}'`
-if [ ! -n "$scriptdir" ]; then
-       echo "Cound not find entry 'scriptdirectory' in $conffile" 
-       exit 1
-fi
-if [ ! -d "$scriptdir" ]; then
-       echo "Script directory $scriptdir not found." 
-       exit 1
-fi
-configdirectory=`grep configdirectory $conffile | awk '{print $3}'`
-if [ ! -n "$configdirectory" ]; then
-       echo "Cound not find entry 'configdirectory' in $conffile" 
-       exit 1
-fi
-if [ ! -d "$configdirectory" ]; then
-       echo "Configuration directory $configdirectory not found." 
-       exit 1
-fi
-
-. $scriptdir/easydialog.sh
-
-if [ "$UID" != "0" ]; then
-       msgBox "warning" "ninjahelper must be run by root!"
-       exit 1
-fi
-
-# load all the helpers
-HELPERS=""
-for file in `find $scriptdir -follow -name '*.helper'`; do
-   check_perms $file
-   . $file
-done
-
-setApplicationTitle "ninjahelper"
-setDimension 75 19
-
-#####################################################
-## main event loop
-
-while true; do
-
-menulist=
-action=
-let "i = 1"
-for file in `find $conf/etc/backup.d/ -type f | sort -n`; do
-  menulist="$menulist $i $file"
-  actions[$i]=$file
-  let "i += 1"
-done
-
-menuBox "main menu" "Select a backup action for more options, or create a new action:" $menulist \
-  new "create a new backup action" \
-  quit "leave ninjahelper" 
-
-[ $? = 1 -o $? = 255 ] && exit 0;
-
-choice="$REPLY"
-if [ "$choice" == "new" ]; then
-  donew;
-elif [ "$choice" == "quit" ]; then
-  exit 0;
-else
-  action=${actions[$choice]};
-  if [ -f "$action" ]; then
-     doaction $action
-  else
-     msgBox "error" "error: cannot find the file '$action'"
-  fi
-fi
-
-
-done