diff --git a/build/scripts/migration/script.d/02-migrate-user-service.sh b/build/scripts/migration/script.d/02-migrate-user-service.sh index 3e95f2a..9e35a0e 100644 --- a/build/scripts/migration/script.d/02-migrate-user-service.sh +++ b/build/scripts/migration/script.d/02-migrate-user-service.sh @@ -58,29 +58,37 @@ __is_migration_needed() { } BUILD_PATH=$(dirname "${BASH_SOURCE[0]}")/../../.. -SOURCE_ROOT=${BUILD_PATH}/sysroot -APP_NAME="casaos-user-service" -APP_NAME_FORMAL="CasaOS-UserService" -APP_NAME_SHORT="user-service" -APP_NAME_LEGACY="casaos" +readonly BUILD_PATH +readonly SOURCE_ROOT=${BUILD_PATH}/sysroot + +readonly APP_NAME="casaos-user-service" +readonly APP_NAME_FORMAL="CasaOS-UserService" +readonly APP_NAME_SHORT="user-service" +readonly APP_NAME_LEGACY="casaos" # check if migration is needed -SOURCE_BIN_PATH=${SOURCE_ROOT}/usr/bin -SOURCE_BIN_FILE=${SOURCE_BIN_PATH}/${APP_NAME} +readonly SOURCE_BIN_PATH=${SOURCE_ROOT}/usr/bin +readonly SOURCE_BIN_FILE=${SOURCE_BIN_PATH}/${APP_NAME} + +readonly CURRENT_BIN_PATH=/usr/bin +readonly CURRENT_BIN_PATH_LEGACY=/usr/local/bin +readonly CURRENT_BIN_FILE=${CURRENT_BIN_PATH}/${APP_NAME} -CURRENT_BIN_PATH=/usr/bin -CURRENT_BIN_PATH_LEGACY=/usr/local/bin -CURRENT_BIN_FILE=${CURRENT_BIN_PATH}/${APP_NAME} CURRENT_BIN_FILE_LEGACY=$(realpath -e ${CURRENT_BIN_PATH}/${APP_NAME_LEGACY} || realpath -e ${CURRENT_BIN_PATH_LEGACY}/${APP_NAME_LEGACY} || which ${APP_NAME_LEGACY} || echo CURRENT_BIN_FILE_LEGACY_NOT_FOUND) +readonly CURRENT_BIN_FILE_LEGACY SOURCE_VERSION="$(${SOURCE_BIN_FILE} -v)" +readonly SOURCE_VERSION + CURRENT_VERSION="$(${CURRENT_BIN_FILE} -v || ${CURRENT_BIN_FILE_LEGACY} -v || (stat "${CURRENT_BIN_FILE_LEGACY}" > /dev/null && echo LEGACY_WITHOUT_VERSION) || echo CURRENT_VERSION_NOT_FOUND)" +readonly CURRENT_VERSION __info_done "CURRENT_VERSION: ${CURRENT_VERSION}" __info_done "SOURCE_VERSION: ${SOURCE_VERSION}" NEED_MIGRATION=$(__is_migration_needed "${CURRENT_VERSION}" "${SOURCE_VERSION}" && echo "true" || echo "false") +readonly NEED_MIGRATION if [ "${NEED_MIGRATION}" = "false" ]; then __info_done "Migration is not needed." @@ -93,9 +101,9 @@ if [ -z "${MIGRATION_SERVICE_DIR}" ]; then MIGRATION_SERVICE_DIR=${BUILD_PATH}/scripts/migration/service.d/${APP_NAME_SHORT} fi -MIGRATION_LIST_FILE=${MIGRATION_SERVICE_DIR}/migration.list -MIGRATION_PATH=() +readonly MIGRATION_LIST_FILE=${MIGRATION_SERVICE_DIR}/migration.list +MIGRATION_PATH=() CURRENT_VERSION_FOUND="false" # a VERSION_PAIR looks like "v0.3.5 v0.3.6-alpha2" diff --git a/build/scripts/setup/script.d/02-setup-user-service.sh b/build/scripts/setup/script.d/02-setup-user-service.sh index 3553c72..93a3474 100755 --- a/build/scripts/setup/script.d/02-setup-user-service.sh +++ b/build/scripts/setup/script.d/02-setup-user-service.sh @@ -4,7 +4,8 @@ set -e BUILD_PATH=$(dirname "${BASH_SOURCE[0]}")/../../.. -APP_NAME_SHORT=user-service +readonly BUILD_PATH +readonly APP_NAME_SHORT=user-service __get_setup_script_directory_by_os_release() { pushd "$(dirname "${BASH_SOURCE[0]}")/../service.d/${APP_NAME_SHORT}" >/dev/null @@ -39,9 +40,10 @@ __get_setup_script_directory_by_os_release() { } SETUP_SCRIPT_DIRECTORY=$(__get_setup_script_directory_by_os_release) -SETUP_SCRIPT_FILENAME="setup-${APP_NAME_SHORT}.sh" -SETUP_SCRIPT_FILEPATH="${SETUP_SCRIPT_DIRECTORY}/${SETUP_SCRIPT_FILENAME}" +readonly SETUP_SCRIPT_DIRECTORY +readonly SETUP_SCRIPT_FILENAME="setup-${APP_NAME_SHORT}.sh" +readonly SETUP_SCRIPT_FILEPATH="${SETUP_SCRIPT_DIRECTORY}/${SETUP_SCRIPT_FILENAME}" { echo "🟩 Running ${SETUP_SCRIPT_FILENAME}..." diff --git a/build/scripts/setup/service.d/user-service/debian/setup-user-service.sh b/build/scripts/setup/service.d/user-service/debian/setup-user-service.sh index 0e5494f..98d262b 100644 --- a/build/scripts/setup/service.d/user-service/debian/setup-user-service.sh +++ b/build/scripts/setup/service.d/user-service/debian/setup-user-service.sh @@ -2,13 +2,13 @@ set -e -APP_NAME="casaos-user-service" -APP_NAME_SHORT="user-service" +readonly APP_NAME="casaos-user-service" +readonly APP_NAME_SHORT="user-service" # copy config files -CONF_PATH=/etc/casaos -CONF_FILE=${CONF_PATH}/${APP_NAME_SHORT}.conf -CONF_FILE_SAMPLE=${CONF_PATH}/${APP_NAME_SHORT}.conf.sample +readonly CONF_PATH=/etc/casaos +readonly CONF_FILE=${CONF_PATH}/${APP_NAME_SHORT}.conf +readonly CONF_FILE_SAMPLE=${CONF_PATH}/${APP_NAME_SHORT}.conf.sample if [ ! -f "${CONF_FILE}" ]; then \ echo "Initializing config file..."