#!/bin/ash
#
# args:
#   DISTRO_SPECS OLD_DISTRO_SPECS
#
# variables to check:
#   - WOOF_VERSION
#   - DISTRO_NAME
#   - DISTRO_VERSION
#
# exit codes:
#   0 = (dialog) perform upgrade
#   1 = (dialog) do not perform upgrade
#   * = no need to perform upgrade
#

#exec &>/tmp/validate_pupsave ; set -x # debug

if [ ! -f "$1" ] && [ ! -f "$2" ] ; then
  exit 2
fi

. "$1"
OLD_DISTRO_SPECS="$2"

KERNELVER="$(uname -r)"
DIALOG_TITLE="${DISTRO_NAME} ${DISTRO_VERSION} - Linux ${KERNELVER} - `uname -m`"

OLD_WOOF_VERSION="$(grep '^WOOF_VERSION=' $OLD_DISTRO_SPECS | cut -f 2 -d '=' | tr -d "'" | tr -d '"')"
OLD_DISTRO_NAME="$(grep '^DISTRO_NAME=' $OLD_DISTRO_SPECS | cut -f 2 -d '=' | tr -d "'" | tr -d '"')"
OLD_DISTRO_VERSION="$(grep '^DISTRO_VERSION' $OLD_DISTRO_SPECS | cut -f 2 -d '=' | tr -d "'" | tr -d '"')"

MSG=

if [ "$WOOF_VERSION" != "$OLD_WOOF_VERSION" ]; then
  MSG="
-     WOOF_VERSION=\\033[1;36m${WOOF_VERSION}\\033[0;39m
- OLD_WOOF_VERSION=\\033[1;36m${OLD_WOOF_VERSION}\\033[0;39m  [pupsave]
"

elif [ "$DISTRO_NAME" != "$OLD_DISTRO_NAME" ]; then
  MSG="
-     DISTRO_NAME=\\033[1;36m${DISTRO_NAME}\\033[0;39m
- OLD_DISTRO_NAME=\\033[1;36m${OLD_DISTRO_NAME}\\033[0;39m  [pupsave]
"

elif [ "$DISTRO_VERSION" != "$OLD_DISTRO_VERSION" ]; then
  MSG="
-     DISTRO_VERSION=\\033[1;36m${DISTRO_VERSION}\\033[0;39m
- OLD_DISTRO_VERSION=\\033[1;36m${OLD_DISTRO_VERSION}\\033[0;39m  [pupsave]
"
fi

if [ "$MSG" ] ; then
  #echo "$0: $MSG" # debug
  (
  echo -e "$MSG"
  echo "- It's not recommended to upgrade pupsave, it may break the system or cause it to misbehave.."
  echo "- Remember that you can open/mount the pupsave by clicking on it."
  echo
  echo "Type 'yes' if it is okay to upgrade this file"
  echo "Any other word = reject upgrade (boot in RAM)"
  echo -en "\\033[1;31mPupsave upgrade? [yes/no]:\\033[0;39m " #31=red
  ) > /dev/console
  read psu
  if [ "$psu" = "yes" ];then
    echo "$0: ** pupsave upgrade **" #debug
    exit 0
  else
    echo "$0: ** not upgrading pupsave **" #debug
    exit 1
  fi
fi

####################
exit 2 # no need to upgrade

### END ###