#!/bin/sh

# This file has priority over the ordinary template and is used
# for the developer-only packages to override the password
PRIO_SHADOW_TEMPLATE=/opt/userdata/devicestack/shadow.template

# Load ipmodule variables
. /opt/gira/share/devicestack/ipmodule-vars

case "$1" in
  start)

    printf "Restoring shadow from template ... "
    mkdir -p "$(dirname $(readlink /etc/shadow))"
    if [ -f "${PRIO_SHADOW_TEMPLATE}" ]
    then
      install -m 600 "${PRIO_SHADOW_TEMPLATE}" "$(readlink /etc/shadow)"
      printf "from userdata ..."
    else
      install -m 600 "${SHADOW_TEMPLATE}" "$(readlink /etc/shadow)"
      printf "from system ..."
    fi
    printf "done.\\n"

    printf "Checking existence of default device user ... "
    if [ -f "${DEFAULT_DEVICE_USER_FILE}" ]
    then
      printf "found.\\n"
    else
      printf "not found.\\n"
      mkdir -p "${DEVICE_USER_DIR}"

      # If device has initial device password
#      if [ -f /opt/extparam/fddp ]
#      then
#        printf "${me} Creating device user with initial device password..."
#        install -m 600 /dev/null "${DEFAULT_DEVICE_USER_FILE}"
#        printf "pwd:" > "${DEFAULT_DEVICE_USER_FILE}"
#        IGPW=$(cat /opt/extparam/fddp)
#        if /opt/gira/bin/encode-pw.sh "${IGPW}" >> "${DEFAULT_DEVICE_USER_FILE}"
#        then
#          printf "done.\\n"
#        else
#          printf "failed.\\n"
#        fi
#      else
        printf "%s Creating default device user ... " "${me}"
        if printf "x8q+DQfMqM4+77LfeRWer2C0A5B2kZ4A4kIfAVeJvbw=" > "${DEFAULT_DEVICE_USER_FILE}"
          then
          printf "done.\\n"
        else
          printf "failed.\\n"
        fi
#      fi
    fi

    printf "Checking appconfig.xml ... "
    if [ -f "${APPCONFIG_FILE}" ]
    then
      printf "found.\\n"
    else
      printf "not found.\\n"
      printf "Copying appconfig.xml ... "
      if cp "${APPCONFIG_FILE_TEMPLATE}" "${APPCONFIG_FILE}"
      then
        printf "done.\\n"
      else
        printf "failed.\\n"
      fi
    fi

    printf "Checking devicestackconfig.xml ... "
    if [ -f "${DSCONFIG_FILE}" ]
    then
      printf "found.\\n"
    else
      printf "not found.\\n"
      printf "Copying devicestackconfig.xml ... "
      if cp "${DSCONFIG_FILE_TEMPLATE}" "${DSCONFIG_FILE}"
      then
        printf "done.\\n"
      else
        printf "failed.\\n"
      fi
    fi

    printf "Checking custom channel definitions ... "
    if [ -d "${COSTOM_CHANNEL_DIR}" ]
    then
      printf "found.\\n"
    else
      printf "not found.\\n"
      printf "Copying custom channel definitions ... "
      if cp -a "${COSTOM_CHANNEL_DIR_TEMPLATE}" "${COSTOM_CHANNEL_DIR}"
      then
        printf "done.\\n"
      else
        printf "failed.\\n"
      fi
    fi

    printf "Checking custom project definitions ... "
    if [ -d "${CUSTOM_PROJECT_DEFINITION_DIR}" ]
    then
        printf "found.\\n"
    else
        printf "not found.\\n"
        printf "Copying custom project definitions ... "
        if cp -a "${CUSTOM_PROJECT_DEFINITION_DIR_TEMPLATE}" "${CUSTOM_PROJECT_DEFINITION_DIR}"
        then
          printf "done.\\n"
        else
          printf "failed.\\n"
        fi
    fi

    ;;
  stop)
    ;;
  *)
    printf "Usage: %s (start|stop)" "$0"
    exit 1
esac

exit 0
