#!/bin/ksh MALL_CONFIGURATION_FILE=$1 FATAL_ERROR=1000 # # print debug string to appropriate location # # $1=debug string to be printed # print_debug() { ./debug_handler.ksh "$0" "mall" "$1" "$DEBUG_LOG_DIRECTORY" "$DEBUG_LOG_FILE" "$LOG_DEBUG" } # # # # print_abort_message() { printf "\n" printf "\n" printf "Aborting installation\n" printf "\n" } case $# in 0) ## No parameters passed in. Improper use of script. print_abort_message printf "No configuration file indicated.\n" printf "usage: start_install_mall_sc.ksh config_mall.aa\n" ERROR=`./error_handler.ksh $FATAL_ERROR` printf "ERROR: $ERROR\n" exit 1 ;; 1) ## Only a mall config file was passed in. ## Check that the mall config file actually exists. if ! test -e "$MALL_CONFIGURATION_FILE" then print_abort_message printf "The following mall configuration file does not exist:\n" printf "%s\n" $MALL_CONFIGURATION_FILE ERROR=`./error_handler.ksh $FATAL_ERROR` printf "ERROR: $ERROR\n" exit 1 fi ;; *) ## Illegal number of arguments print_abort_message printf "Illegal number of arguments passed.\n" printf "usage: start_install_mall_sc.ksh config_mall.aa\n" printf "ERROR: $ERROR\n" exit 1 ;; esac VALUE_FOUND="FALSE" while read -r field value do if test "X$field" = "XLOG_DEBUG:" then LOG_DEBUG=$value VALUE_FOUND="TRUE" elif test "X$field" = "XDEBUG_LOG_DIRECTORY:" then DEBUG_LOG_DIRECTORY=$value VALUE_FOUND="TRUE" elif test "X$field" = "XDEBUG_LOG_FILE:" then DEBUG_LOG_FILE=$value VALUE_FOUND="TRUE" fi if test "$VALUE_FOUND" = "TRUE" then ##printf "%s %s\n" "$field" "$value" VALUE_FOUND="FALSE" fi done < $MALL_CONFIGURATION_FILE ## Setup debug log file if needed if test "X$LOG_DEBUG" = "XYES" then if ! (./setup_debug_log_file.ksh $DEBUG_LOG_DIRECTORY $DEBUG_LOG_FILE) then print_abort_message printf "Unable to setup the log file.\n" ERROR=`./error_handler.ksh $FATAL_ERROR` printf "ERROR: $ERROR\n" exit 1 fi fi VALUE_FOUND="FALSE" while read -r field value do if test "X$field" = "XSHOPSITE_DIRECTORY:" then SHOPSITE_DIRECTORY=$value VALUE_FOUND="TRUE" elif test "X$field" = "XSHOPSITE_URL:" then SHOPSITE_URL=$value VALUE_FOUND="TRUE" elif test "X$field" = "XSHOPPING_CART_DIRECTORY:" then SHOPPING_CART_DIRECTORY=$value VALUE_FOUND="TRUE" elif test "X$field" = "XSHOPPING_CART_URL:" then SHOPPING_CART_URL=$value VALUE_FOUND="TRUE" elif test "X$field" = "XSHOPSITE_IMAGE_DIR:" then SHOPSITE_IMAGE_DIR=$value VALUE_FOUND="TRUE" elif test "X$field" = "XSHOPSITE_IMAGE_URL:" then SHOPSITE_IMAGE_URL=$value VALUE_FOUND="TRUE" elif test "X$field" = "XUNIX_WEB_USER_ID:" then UNIX_WEB_USER_ID=$value VALUE_FOUND="TRUE" elif test "X$field" = "XUNIX_WEB_GROUP_ID:" then UNIX_WEB_GROUP_ID=$value VALUE_FOUND="TRUE" elif test "X$field" = "XPATH_TO_TAR:" then PATH_TO_TAR=$value VALUE_FOUND="TRUE" elif test "X$field" = "XMALL_TYPE:" then MALL_TYPE=$value VALUE_FOUND="TRUE" fi if test "$VALUE_FOUND" = "TRUE" then # print_debug "$field $value" VALUE_FOUND="FALSE" fi done < $MALL_CONFIGURATION_FILE if ! test "$SHOPSITE_DIRECTORY" then printf "Error: No value provided for SHOPSITE_DIRECTORY.\n" error_encountered="TRUE" fi if ! test "$SHOPSITE_URL" then printf "Error: No value provided for SHOPSITE_URL.\n" error_encountered="TRUE" fi if ! test "$SHOPPING_CART_DIRECTORY" then printf "Error: No value provided for SHOPPING_CART_DIRECTORY.\n" error_encountered="TRUE" fi if ! test "$SHOPPING_CART_URL" then printf "Error: No value provided for SHOPPING_CART_URL.\n" error_encountered="TRUE" fi if ! test "$SHOPSITE_IMAGE_DIR" then printf "Error: No value provided for SHOPSITE_IMAGE_DIR.\n" error_encountered="TRUE" fi if ! test "$SHOPSITE_IMAGE_URL" then printf "Error: No value provided for SHOPSITE_IMAGE_URL.\n" error_encountered="TRUE" fi if ! test "$UNIX_WEB_USER_ID" then printf "Error: No value provided for UNIX_WEB_USER_ID.\n" error_encountered="TRUE" fi if ! test "$UNIX_WEB_GROUP_ID" then printf "Error: No value provided for UNIX_WEB_GROUP_ID.\n" error_encountered="TRUE" fi if ! test "$PATH_TO_TAR" then printf "Error: No value provided for PATH_TO_TAR.\n" error_encountered="TRUE" fi if ! test "$MALL_TYPE" then printf "Error: No value provided for MALL_TYPE.\n" error_encountered="TRUE" fi if test "$error_encountered" then printf "Values must be provided for the previously listed\n" printf "variables in the config_mall.aa file\n" print_abort_message ERROR=`./error_handler.ksh $FATAL_ERROR` printf "ERROR: $ERROR\n" exit 1 fi ## Check user input to make sure it makes sense and is do-able. if ! (./check_setup_mall_sc.ksh "INSTALL" "$SHOPSITE_DIRECTORY" "$SHOPPING_CART_DIRECTORY" "$SHOPSITE_IMAGE_DIR" "$UNIX_WEB_USER_ID" "$UNIX_WEB_GROUP_ID" "$PATH_TO_TAR" "$LOG_DEBUG" "$DEBUG_LOG_DIRECTORY" "$DEBUG_LOG_FILE") then print_debug "Aborting installation:" print_debug "FAILED: ./check_setup_mall_sc.ksh" ERROR=`./error_handler.ksh $FATAL_ERROR` printf "ERROR: $ERROR\n" exit 1 fi ## Put all ShopSite mall files in place. if ! (./install_mall_sc.ksh "$SHOPSITE_DIRECTORY" "$SHOPPING_CART_DIRECTORY" "$SHOPSITE_IMAGE_DIR" "$SHOPSITE_IMAGE_URL" "$UNIX_WEB_USER_ID" "$UNIX_WEB_GROUP_ID" "$PATH_TO_TAR" "$DEBUG_LOG_DIRECTORY" "$DEBUG_LOG_FILE" "$LOG_DEBUG") then print_debug "Aborting installation:" print_debug "FAILED: ./install_mall_sc.ksh" ERROR=`./error_handler.ksh $FATAL_ERROR` printf "ERROR: $ERROR\n" exit 1 fi print_debug print_debug print_debug "This portion of the mall installation process has finished." print_debug "Check all previous output for possible warnings or errors." print_debug ## Successfully completed this portion of the install. exit 0