From 6b5d7736b6a1209e81f6e330d221e56f9b9c1d4e Mon Sep 17 00:00:00 2001 From: Mikhail Tergoev Date: Thu, 19 Jun 2025 12:20:10 +0300 Subject: [PATCH] added minimal self check --- winehelper | 32 +++++++++++++++++++++----------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/winehelper b/winehelper index 49986cb..6e89cbb 100755 --- a/winehelper +++ b/winehelper @@ -6,6 +6,27 @@ if [[ $(id -u) -eq 0 ]] ; then exit 1 fi +##### DEFAULT PATH ##### +SCRIPT_NAME="$(basename "$0")" +if [[ "$(realpath "$0")" == "/usr/bin/$SCRIPT_NAME" ]] ; then + # переменные для установленного WineHelper в систему + USER_WORK_PATH="$HOME/.local/share/$SCRIPT_NAME" + RUN_SCRIPT="/usr/bin/$SCRIPT_NAME" + DATA_PATH="/usr/share/$SCRIPT_NAME" +else + # переменные для тестового запуска WineHelper из репозитория + USER_WORK_PATH="$HOME/test-$SCRIPT_NAME" + RUN_SCRIPT="$(realpath "$0")" + DATA_PATH="$(dirname "$RUN_SCRIPT")" + + # минимальная проверка синтаксиса скриптов + for self_check_script in "$RUN_SCRIPT" \ + "$DATA_PATH/dependencies.sh" "$DATA_PATH/autoinstall"/* \ + "$DATA_PATH/manualinstall"/* "$DATA_PATH/database"/* + do /usr/bin/bash -n "$self_check_script" || exit 1 + done +fi + ##### MESSAGES FUNCTIONS ##### print_error () { printf "\E[31m%s Ошибка: $@ %s\e[0m\n" ;} print_warning () { printf "\E[33m%s Предупреждение: $@ %s\e[0m\n" ;} @@ -53,17 +74,6 @@ fi WINETRICKS_VERSION="20250102" ##### DEFAULT VARIABLES ##### -SCRIPT_NAME="$(basename "$0")" -if [[ "$(realpath "$0")" == "/usr/bin/$SCRIPT_NAME" ]] ; then - USER_WORK_PATH="$HOME/.local/share/$SCRIPT_NAME" - RUN_SCRIPT="/usr/bin/$SCRIPT_NAME" - DATA_PATH="/usr/share/$SCRIPT_NAME" -else - USER_WORK_PATH="$HOME/test-$SCRIPT_NAME" - RUN_SCRIPT="$(realpath "$0")" - DATA_PATH="$(dirname "$RUN_SCRIPT")" -fi - WH_VULKAN_LIBDIR="$USER_WORK_PATH/vulkan" WH_PREFIXES_DIR="$USER_WORK_PATH/prefixes" WH_DIST_DIR="$USER_WORK_PATH/dist"