#!/bin/bash

menu_text="Recovery Menu"


while true; do
  unset items

  for i in /usr/share/recovery-mode/options/*; do
    if [ -x "$i" ]; then
      name="`"$i" test`"
      if [ $? -eq 0 ]; then
        items[c++]="`basename "$i"`"
        items[c++]="   $name"
      fi
    fi
  done

  choice="`/usr/bin/whiptail --menu "$menu_text" 15 70 6 \
                             resume "   resume normal boot" \
                             "${items[@]}" \
                             3>&1 1>&2 2>&3 3>&-`"

  if [ $? -ne 0 ]; then
    exit
  fi

  if [ "$choice" = "resume" ]; then
    exit
  fi

  "/usr/share/recovery-mode/options/$choice"

  if [ "$?" -eq 42 ]; then
    exit 0
  fi
done
