bundled winetricks in use
This commit is contained in:
		
							
								
								
									
										31
									
								
								winehelper
									
									
									
									
									
								
							
							
						
						
									
										31
									
								
								winehelper
									
									
									
									
									
								
							| @@ -29,6 +29,9 @@ else | |||||||
|     check_variables DEBUG "0" |     check_variables DEBUG "0" | ||||||
| fi | fi | ||||||
|  |  | ||||||
|  | ##### WINETRICKS VERSION ##### | ||||||
|  | WINETRICKS_VERSION="20250102" | ||||||
|  |  | ||||||
| ##### DEFAULT VARIABLES ##### | ##### DEFAULT VARIABLES ##### | ||||||
| SCRIPT_NAME="$(basename "$0")" | SCRIPT_NAME="$(basename "$0")" | ||||||
| if [[ "$(realpath "$0")" == "/usr/bin/$SCRIPT_NAME" ]] ; then | 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_DB_DIR="$DATA_PATH/database" | ||||||
| WH_AUTOINSTALL_DIR="$DATA_PATH/autoinstall" | WH_AUTOINSTALL_DIR="$DATA_PATH/autoinstall" | ||||||
| WH_MANUALINSTALL_DIR="$DATA_PATH/manualinstall" | WH_MANUALINSTALL_DIR="$DATA_PATH/manualinstall" | ||||||
|  | WH_WINETRICKS="$DATA_PATH/winetricks_$WINETRICKS_VERSION" | ||||||
|  |  | ||||||
| WH_MENU_DIR="$HOME/.local/share/applications/WineHelper" | WH_MENU_DIR="$HOME/.local/share/applications/WineHelper" | ||||||
| WH_MENU_CATEGORY="$HOME/.local/share/desktop-directories/WineHelper.directory" | WH_MENU_CATEGORY="$HOME/.local/share/desktop-directories/WineHelper.directory" | ||||||
| @@ -1011,25 +1015,6 @@ kill_autostart () { | |||||||
|     done |     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 () { | use_winetricks () { | ||||||
|     if [[ -n "$INSTALL_DLL" ]] ; then |     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)} }' )" |         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,15 +1037,13 @@ use_winetricks () { | |||||||
|             fi |             fi | ||||||
|         done |         done | ||||||
|         if [[ "$USE_WT_FROM_DB" == "1" ]] ; then |         if [[ "$USE_WT_FROM_DB" == "1" ]] ; then | ||||||
|             if update_winetricks ; then |             print_info "Пробуем установить компоненты: ${WH_DLL_NEED_INSTALL}" | ||||||
|                 print_info "Пробуем установить библиотеки: ${WH_DLL_NEED_INSTALL}" |  | ||||||
|             print_info "Запускаем WINETRICKS..." |             print_info "Запускаем WINETRICKS..." | ||||||
|             export WINETRICKS_DOWNLOADER="curl" |             export WINETRICKS_DOWNLOADER="curl" | ||||||
|                 env WINEDLLOVERRIDES="winegstreamer=" "$WH_TMP_DIR/winetricks" -q ${WH_DLL_NEED_INSTALL} |             env WINEDLLOVERRIDES="winegstreamer=" "$WH_WINETRICKS" -q ${WH_DLL_NEED_INSTALL} | ||||||
|             wait_wineserver |             wait_wineserver | ||||||
|         fi |         fi | ||||||
|     fi |     fi | ||||||
|     fi |  | ||||||
| } | } | ||||||
|  |  | ||||||
| kill_wine () { | kill_wine () { | ||||||
| @@ -1367,7 +1350,7 @@ case "${1,,}" in | |||||||
|     winereg|regedit) prepair_wine ; wine_run "regedit" ;; |     winereg|regedit) prepair_wine ; wine_run "regedit" ;; | ||||||
|     winefile|explorer) prepair_wine ; wine_run "winefile" ;; |     winefile|explorer) prepair_wine ; wine_run "winefile" ;; | ||||||
|     wineconsole|cmd) prepair_wine ; wine_run "wineconsole" ;; |     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 ;; |     desktop) shift ; create_desktop "$@" ; exit 0 ;; | ||||||
|     install|-i) shift ; run_autoinstall "$@" ;; |     install|-i) shift ; run_autoinstall "$@" ;; | ||||||
|     installed) shift ; check_installed_programs "$1" ;; |     installed) shift ; check_installed_programs "$1" ;; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user