From 5b6a05a09e215d408b31e7639742cc118452ec97 Mon Sep 17 00:00:00 2001 From: Mikhail Tergoev Date: Tue, 27 May 2025 16:25:02 +0300 Subject: [PATCH] bundled winetricks in use --- winehelper | 37 ++++++++++--------------------------- 1 file changed, 10 insertions(+), 27 deletions(-) diff --git a/winehelper b/winehelper index 233956f..fcde8c1 100755 --- a/winehelper +++ b/winehelper @@ -29,6 +29,9 @@ else check_variables DEBUG "0" fi +##### WINETRICKS VERSION ##### +WINETRICKS_VERSION="20250102" + ##### DEFAULT VARIABLES ##### SCRIPT_NAME="$(basename "$0")" if [[ "$(realpath "$0")" == "/usr/bin/$SCRIPT_NAME" ]] ; then @@ -50,6 +53,7 @@ WH_IMAGE_PATH="$DATA_PATH/image" WH_DB_DIR="$DATA_PATH/database" WH_AUTOINSTALL_DIR="$DATA_PATH/autoinstall" WH_MANUALINSTALL_DIR="$DATA_PATH/manualinstall" +WH_WINETRICKS="$DATA_PATH/winetricks_$WINETRICKS_VERSION" WH_MENU_DIR="$HOME/.local/share/applications/WineHelper" WH_MENU_CATEGORY="$HOME/.local/share/desktop-directories/WineHelper.directory" @@ -1011,25 +1015,6 @@ kill_autostart () { done } -update_winetricks () { - W_TRX_URL="https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks" - W_TRX_EXT_VER="$(curl -s --list-only "$W_TRX_URL" | grep -i 'WINETRICKS_VERSION=' | sed 's/WINETRICKS_VERSION=//')" - print_info "Актуальная версия winetricks: $W_TRX_EXT_VER" - if [[ -f "$WH_TMP_DIR/winetricks" ]] ; then - W_TRX_INT_VER="$(cat "$WH_TMP_DIR/winetricks" | grep -i 'WINETRICKS_VERSION=' | sed 's/WINETRICKS_VERSION=//')" - print_info "Установленная портативная версия winetricks: $W_TRX_INT_VER" - fi - if [[ -n "$W_TRX_EXT_VER" ]] && [[ "$W_TRX_INT_VER" != "$W_TRX_EXT_VER" ]] ; then - if try_download "$W_TRX_URL" "$WH_TMP_DIR/winetricks_new" ; then - mv -f "$WH_TMP_DIR/winetricks_new" "$WH_TMP_DIR/winetricks" - W_TRX_INT_VER="$(cat "$WH_TMP_DIR/winetricks" | grep -i 'WINETRICKS_VERSION=' | sed 's/_VERSION=//')" - print_info "Портативная версия winetricks обновлена до (${W_TRX_INT_VER})" - chmod u+x "$WH_TMP_DIR/winetricks" - fi - fi - export WINETRICKS="$WH_TMP_DIR/winetricks" -} - use_winetricks () { if [[ -n "$INSTALL_DLL" ]] ; then WH_DLL_INSTALL="$(echo "$INSTALL_DLL $WH_DLL_INSTALL" | awk '{ for(i=1;i<=NF;i++){a[$i]++} }END{ for(i in a){printf("%s ",i)} }' )" @@ -1052,13 +1037,11 @@ use_winetricks () { fi done if [[ "$USE_WT_FROM_DB" == "1" ]] ; then - if update_winetricks ; then - print_info "Пробуем установить библиотеки: ${WH_DLL_NEED_INSTALL}" - print_info "Запускаем WINETRICKS..." - export WINETRICKS_DOWNLOADER="curl" - env WINEDLLOVERRIDES="winegstreamer=" "$WH_TMP_DIR/winetricks" -q ${WH_DLL_NEED_INSTALL} - wait_wineserver - fi + print_info "Пробуем установить компоненты: ${WH_DLL_NEED_INSTALL}" + print_info "Запускаем WINETRICKS..." + export WINETRICKS_DOWNLOADER="curl" + env WINEDLLOVERRIDES="winegstreamer=" "$WH_WINETRICKS" -q ${WH_DLL_NEED_INSTALL} + wait_wineserver fi fi } @@ -1367,7 +1350,7 @@ case "${1,,}" in winereg|regedit) prepair_wine ; wine_run "regedit" ;; winefile|explorer) prepair_wine ; wine_run "winefile" ;; wineconsole|cmd) prepair_wine ; wine_run "wineconsole" ;; - winetricks) shift ; update_winetricks ; prepair_wine ; "$WINETRICKS" -q "$@" ;; + winetricks) shift ; prepair_wine ; "$WINETRICKS" -q "$@" ;; desktop) shift ; create_desktop "$@" ; exit 0 ;; install|-i) shift ; run_autoinstall "$@" ;; installed) shift ; check_installed_programs "$1" ;;