mirror of
				https://github.com/inventree/InvenTree.git
				synced 2025-10-31 05:05:42 +00:00 
			
		
		
		
	Package is not checking for already existing installs (#7555)
* rename var * Single-line installer is not looking for already exsisting installs Fixes #6891 * move update script up * fix check * small syntax fix * fix missing var assigment * fix assigment * better message * log found settingsmore logging * also check for 'null' * fix name confusion
This commit is contained in:
		| @@ -132,22 +132,22 @@ function detect_envs() { | ||||
|     pip install --require-hashes -r ${APP_HOME}/contrib/dev_reqs/requirements.txt -q | ||||
|  | ||||
|     # Load config | ||||
|     local CONF=$(cat ${INVENTREE_CONFIG_FILE} | jc --yaml) | ||||
|     export INVENTREE_CONF_DATA=$(cat ${INVENTREE_CONFIG_FILE} | jc --yaml) | ||||
|  | ||||
|     # Parse the config file | ||||
|     export INVENTREE_MEDIA_ROOT=$(jq -r '.[].media_root' <<< ${CONF}) | ||||
|     export INVENTREE_STATIC_ROOT=$(jq -r '.[].static_root' <<< ${CONF}) | ||||
|     export INVENTREE_BACKUP_DIR=$(jq -r '.[].backup_dir' <<< ${CONF}) | ||||
|     export INVENTREE_PLUGINS_ENABLED=$(jq -r '.[].plugins_enabled' <<< ${CONF}) | ||||
|     export INVENTREE_PLUGIN_FILE=$(jq -r '.[].plugin_file' <<< ${CONF}) | ||||
|     export INVENTREE_SECRET_KEY_FILE=$(jq -r '.[].secret_key_file' <<< ${CONF}) | ||||
|     export INVENTREE_MEDIA_ROOT=$(jq -r '.[].media_root' <<< ${INVENTREE_CONF_DATA}) | ||||
|     export INVENTREE_STATIC_ROOT=$(jq -r '.[].static_root' <<< ${INVENTREE_CONF_DATA}) | ||||
|     export INVENTREE_BACKUP_DIR=$(jq -r '.[].backup_dir' <<< ${INVENTREE_CONF_DATA}) | ||||
|     export INVENTREE_PLUGINS_ENABLED=$(jq -r '.[].plugins_enabled' <<< ${INVENTREE_CONF_DATA}) | ||||
|     export INVENTREE_PLUGIN_FILE=$(jq -r '.[].plugin_file' <<< ${INVENTREE_CONF_DATA}) | ||||
|     export INVENTREE_SECRET_KEY_FILE=$(jq -r '.[].secret_key_file' <<< ${INVENTREE_CONF_DATA}) | ||||
|  | ||||
|     export INVENTREE_DB_ENGINE=$(jq -r '.[].database.ENGINE' <<< ${CONF}) | ||||
|     export INVENTREE_DB_NAME=$(jq -r '.[].database.NAME' <<< ${CONF}) | ||||
|     export INVENTREE_DB_USER=$(jq -r '.[].database.USER' <<< ${CONF}) | ||||
|     export INVENTREE_DB_PASSWORD=$(jq -r '.[].database.PASSWORD' <<< ${CONF}) | ||||
|     export INVENTREE_DB_HOST=$(jq -r '.[].database.HOST' <<< ${CONF}) | ||||
|     export INVENTREE_DB_PORT=$(jq -r '.[].database.PORT' <<< ${CONF}) | ||||
|     export INVENTREE_DB_ENGINE=$(jq -r '.[].database.ENGINE' <<< ${INVENTREE_CONF_DATA}) | ||||
|     export INVENTREE_DB_NAME=$(jq -r '.[].database.NAME' <<< ${INVENTREE_CONF_DATA}) | ||||
|     export INVENTREE_DB_USER=$(jq -r '.[].database.USER' <<< ${INVENTREE_CONF_DATA}) | ||||
|     export INVENTREE_DB_PASSWORD=$(jq -r '.[].database.PASSWORD' <<< ${INVENTREE_CONF_DATA}) | ||||
|     export INVENTREE_DB_HOST=$(jq -r '.[].database.HOST' <<< ${INVENTREE_CONF_DATA}) | ||||
|     export INVENTREE_DB_PORT=$(jq -r '.[].database.PORT' <<< ${INVENTREE_CONF_DATA}) | ||||
|   else | ||||
|     echo "# No config file found: ${INVENTREE_CONFIG_FILE}, using envs or defaults" | ||||
|  | ||||
| @@ -355,3 +355,44 @@ function final_message() { | ||||
|   echo -e "   Password: ${INVENTREE_ADMIN_PASSWORD}" | ||||
|   echo -e "####################################################################################" | ||||
| } | ||||
|  | ||||
|  | ||||
| function update_checks() { | ||||
|   echo "# Running upgrade" | ||||
|   local old_version=$1 | ||||
|   local old_version_rev=$(echo ${old_version} | cut -d'-' -f1 | cut -d'.' -f2) | ||||
|   echo "# Old version is: ${old_version} - release: ${old_version_rev}" | ||||
|  | ||||
|   local ABORT=false | ||||
|   function check_config_value() { | ||||
|     local env_key=$1 | ||||
|     local config_key=$2 | ||||
|     local name=$3 | ||||
|  | ||||
|     local value=$(inventree config:get ${env_key}) | ||||
|     if [ -z "${value}" ] || [ "$value" == "null" ]; then | ||||
|       value=$(jq -r ".[].${config_key}" <<< ${INVENTREE_CONF_DATA}) | ||||
|     fi | ||||
|     if [ -z "${value}" ] || [ "$value" == "null" ]; then | ||||
|       echo "# No setting for ${name} found - please set it manually either in ${INVENTREE_CONFIG_FILE} under '${config_key}' or with 'inventree config:set ${env_key}=value'" | ||||
|       ABORT=true | ||||
|     else | ||||
|       echo "# Found setting for ${name} - ${value}" | ||||
|     fi | ||||
|   } | ||||
|  | ||||
|   # Custom checks if old version is below 0.8.0 | ||||
|   if [ "${old_version_rev}" -lt "9" ]; then | ||||
|     echo "# Old version is below 0.9.0 - You might be missing some configs" | ||||
|  | ||||
|     # Check for BACKUP_DIR and SITE_URL in INVENTREE_CONF_DATA and config | ||||
|     check_config_value "INVENTREE_SITE_URL" "site_url" "site URL" | ||||
|     check_config_value "INVENTREE_BACKUP_DIR" "backup_dir" "backup dir" | ||||
|  | ||||
|     if [ "${ABORT}" = true ]; then | ||||
|       echo "# Aborting - please set the missing values and run the update again" | ||||
|       exit 1 | ||||
|     fi | ||||
|     echo "# All checks passed - continuing with the update" | ||||
|   fi | ||||
| } | ||||
|   | ||||
| @@ -35,6 +35,14 @@ detect_initcmd | ||||
| detect_ip | ||||
| detect_python | ||||
|  | ||||
| # Check if we are updating and need to alert | ||||
| echo "# Checking if update checks are needed" | ||||
| if [ -z "$2" ]; then | ||||
|   echo "# Normal install - no need for checks" | ||||
| else | ||||
|   update_checks $2 | ||||
| fi | ||||
|  | ||||
| # create processes | ||||
| create_initscripts | ||||
| create_admin | ||||
|   | ||||
		Reference in New Issue
	
	Block a user