diff --git a/data_from_portwine/changelog b/data_from_portwine/changelog index 6c8db32..16e67c8 100755 --- a/data_from_portwine/changelog +++ b/data_from_portwine/changelog @@ -10,6 +10,10 @@ * добавить проверку количества db файлов на один exe * заниматься только развитием проекта за счет вашей подписки на https://boosty.to/portwine-linux.ru ----------------------------------------- +###Scripts version 2059### +* обновлена автоустановка GOG +* + ###Scripts version 2058### * по умочанию выбран PW_WINE_USE=PROTON_STEAM для EGS diff --git a/data_from_portwine/scripts/functions_helper b/data_from_portwine/scripts/functions_helper index adef692..b6a93e0 100755 --- a/data_from_portwine/scripts/functions_helper +++ b/data_from_portwine/scripts/functions_helper @@ -629,7 +629,7 @@ pw_kill_autostart () { if [ "$PW_USE_RUNTIME" != 1 ] then print_info "PW_USE_RUNTIME=$PW_USE_RUNTIME" else - sleep 10 + sleep 5 while true ; do if [[ -z "`ps aux | grep -m 1 "$1" | grep -v grep | awk '{print $2}'`" && ! -z "`ps aux | grep wrap | grep -v grep | grep -i ${portname} | head -n 1`" ]] ; then echo -e "PID "$1" not found" diff --git a/data_from_portwine/scripts/portwine_db/DXHRDC b/data_from_portwine/scripts/portwine_db/DXHRDC new file mode 100644 index 0000000..148105e --- /dev/null +++ b/data_from_portwine/scripts/portwine_db/DXHRDC @@ -0,0 +1,38 @@ +#!/bin/bash +#Author: xuser +#DXHRDC.exe +#Rating=1-5 +#####################examples########################### +##export PW_COMMENT_DB="blablabla" +##export PW_WINDOWS_VER=10 # Set windows version 10, 7 or XP +##export PW_DLL_INSTALL="vcrun2017" # Install DDL in port prefix (used winetricks) +export WINEDLLOVERRIDES="WINMM=n,b" +##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')" # Additional launch options +export PW_WINE_USE=PROTON_GE_6.19-5 +export PW_VULKAN_USE=1 +##export PW_USE_DXR10=1 +##export PW_DLSS_ON=1 +##export PW_VULKAN_NO_ASYNC=1 # Disabled ASYNC for VULKAN +##export PW_USE_NVAPI_AND_DLSS=0 +##export PW_OLD_GL_STRING=1 +##export PW_HIDE_NVIDIA_GPU=1 +##export PW_FORCE_USE_VSYNC=0 # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT +##export PW_VIRTUAL_DESKTOP=1 +##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue +export ENABLE_VKBASALT=1 +export PW_VKBASALT_EFFECTS=cas:FilmGrain2:Curves +export PW_VKBASALT_FFX_CAS=1 +export PW_NO_FSYNC=0 # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support. +export PW_NO_ESYNC=0 # Do not use eventfd-based in-process synchronization primitives +export PW_USE_GSTREAMER=0 # 0 - disabled use winegstreamer +##export PULSE_LATENCY_MSEC=60 # Fix crackling audio in games +##export PW_NO_WRITE_WATCH=1 # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games). +##export PW_HEAP_DELAY_FREE=1 +##export PW_WINE_ALLOW_XIM=1 # Disable XIM support until libx11 >= 1.7 is widespread +##export WINEARCH=win32 # defaut = win64 +##export WINEPREFIX= +export PW_WINEDBG_DISABLE=1 # Disabled WINEDBG +##export PW_USE_TERMINAL=1 # Force run in terminal +##export PW_GUI_DISABLED_CS=1 # 1 = disabled GUI +##export PATH_TO_GAME= +##add_in_start_portwine () { commands ; } diff --git a/data_from_portwine/scripts/pw_autoinstall/PW_GOG b/data_from_portwine/scripts/pw_autoinstall/PW_GOG index f26c033..b4e892a 100755 --- a/data_from_portwine/scripts/pw_autoinstall/PW_GOG +++ b/data_from_portwine/scripts/pw_autoinstall/PW_GOG @@ -2,12 +2,33 @@ # Author: Castro-Fidel (PortWINE-Linux.ru) ######################################################################## export LAUNCH_PARAMETERS=("/VERYSILENT") -export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/setup_galaxy_2.0.41.150.exe" +export PW_GOG_WEB_INSTALL_EXE="${PW_USER_TEMP}/users/steamuser/Temp/GOG_Galaxy_2.0.exe" start_portwine -if try_download "https://content-system.gog.com/open_link/download?path=/open/galaxy/client/2.0.41.150/setup_galaxy_2.0.41.150.exe" "${PW_AUTOINSTALL_EXE}" +if try_download_silent "https://webinstallers.gog-statics.com/download/GOG_Galaxy_2.0.exe" "${PW_GOG_WEB_INSTALL_EXE}" then + pw_kill_autostart GalaxyInstaller.exe & + pw_kill_autostart GOG_Galaxy_2.0.exe & + # while true; do + # if [ -z `ps -Ao pid,cmd | grep -v grep | grep GalaxyInstaller.exe | awk '{print $1}'` ]; then + # sleep 1 + # else + # [ `ps -Ao pid,cmd | grep -v grep | grep -E ${PW_GOG_WEB_INSTALL_EXE} | tail -n 1 | awk '{print $1}'` ] + # kill -s KILL `ps -Ao pid,cmd | grep -v grep | grep -E ${PW_GOG_WEB_INSTALL_EXE} | tail -n 1 | awk '{print $1}'` + # [ -z `ps -Ao pid,cmd | grep -v grep | grep GalaxyInstaller.exe | awk '{print $1}'` ] + # killall -s KILL "GalaxyInstaller.exe" + # break + # fi + # done & pw_start_progress_bar_block "Installing the GOG Galaxy. Please wait..." - pw_kill_autostart GalaxyClient.* & + pw_run "${PW_GOG_WEB_INSTALL_EXE}" + if [ -f "${PW_USER_TEMP}/users/steamuser/Temp/GalaxyInstaller_"*"/remoteconfig.json" ]; then + export PW_GOG_URL_EXE=$(cat "${PW_USER_TEMP}/users/steamuser/Temp/GalaxyInstaller_"*"/remoteconfig.json" | grep -Eo '[[:alnum:]+\.\_\-\/\=\?\:\-]*.exe' | sed s%'\\'%%g ) + fi +fi +export PW_AUTOINSTALL_EXE="`echo ${PW_USER_TEMP}/${PW_GOG_URL_EXE} | awk -F/ '{print $NF}'`" +echo "${PW_AUTOINSTALL_EXE}" +if try_download "${PW_GOG_URL_EXE}" "${PW_AUTOINSTALL_EXE}" +then pw_run "${PW_AUTOINSTALL_EXE}" portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/GOG Galaxy/GalaxyClient.exe" try_remove_file "${PW_AUTOINSTALL_EXE}" @@ -15,4 +36,4 @@ then pw_stop_progress_bar portwine_create_shortcut fi -stop_portwine +stop_portwine \ No newline at end of file diff --git a/data_from_portwine/scripts/setup.sh b/data_from_portwine/scripts/setup.sh index 4b5824e..5d8cd76 100755 --- a/data_from_portwine/scripts/setup.sh +++ b/data_from_portwine/scripts/setup.sh @@ -2,26 +2,25 @@ # Author: PortWINE-Linux.ru . "$(dirname $(readlink -f "$0"))/runlib" -try_remove_file "${PORT_WINE_TMP_PATH}/update_notifier" -try_remove_dir "${PORT_SCRIPTS_PATH}/vars" -create_new_dir "${HOME}/.local/share/applications" -name_desktop="PortProton" -echo "[Desktop Entry]" > "${PORT_WINE_PATH}/${name_desktop}.desktop" -echo "Name=${name_desktop}" >> "${PORT_WINE_PATH}/${name_desktop}.desktop" -echo "Exec=env "${PORT_SCRIPTS_PATH}/start.sh %F"" >> "${PORT_WINE_PATH}/${name_desktop}.desktop" -echo "Type=Application" >> "${PORT_WINE_PATH}/${name_desktop}.desktop" -echo "Terminal=False" >> "${PORT_WINE_PATH}/${name_desktop}.desktop" -echo "Categories=Game" >> "${PORT_WINE_PATH}/${name_desktop}.desktop" -echo "StartupNotify=true" >> "${PORT_WINE_PATH}/${name_desktop}.desktop" -echo "MimeType=application/x-ms-dos-executable;application/x-wine-extension-msp;application/x-msi;application/x-msdos-program" >> "${PORT_WINE_PATH}/${name_desktop}.desktop" -echo "Path="${PORT_SCRIPTS_PATH}/"" >> "${PORT_WINE_PATH}/${name_desktop}.desktop" -echo "Icon="${PORT_WINE_PATH}/data/img/w.png"" >> "${PORT_WINE_PATH}/${name_desktop}.desktop" -chmod u+x "${PORT_WINE_PATH}/${name_desktop}.desktop" -cp -f "${PORT_WINE_PATH}/${name_desktop}.desktop" ${HOME}/.local/share/applications/ - -update-desktop-database -q "${HOME}/.local/share/applications" -xdg-mime default PortProton.desktop "application/x-ms-dos-executable;application/x-wine-extension-msp;application/x-msi;application/x-msdos-program" +if [ -z "${PW_AUTOPLAY}" ] ; then + create_new_dir "${HOME}/.local/share/applications" + name_desktop="PortProton" + echo "[Desktop Entry]" > "${PORT_WINE_PATH}/${name_desktop}.desktop" + echo "Name=${name_desktop}" >> "${PORT_WINE_PATH}/${name_desktop}.desktop" + echo "Exec=env "${PORT_SCRIPTS_PATH}/start.sh %F"" >> "${PORT_WINE_PATH}/${name_desktop}.desktop" + echo "Type=Application" >> "${PORT_WINE_PATH}/${name_desktop}.desktop" + echo "Terminal=False" >> "${PORT_WINE_PATH}/${name_desktop}.desktop" + echo "Categories=Game" >> "${PORT_WINE_PATH}/${name_desktop}.desktop" + echo "StartupNotify=true" >> "${PORT_WINE_PATH}/${name_desktop}.desktop" + echo "MimeType=application/x-ms-dos-executable;application/x-wine-extension-msp;application/x-msi;application/x-msdos-program" >> "${PORT_WINE_PATH}/${name_desktop}.desktop" + echo "Path="${PORT_SCRIPTS_PATH}/"" >> "${PORT_WINE_PATH}/${name_desktop}.desktop" + echo "Icon="${PORT_WINE_PATH}/data/img/w.png"" >> "${PORT_WINE_PATH}/${name_desktop}.desktop" + chmod u+x "${PORT_WINE_PATH}/${name_desktop}.desktop" + cp -f "${PORT_WINE_PATH}/${name_desktop}.desktop" ${HOME}/.local/share/applications/ + update-desktop-database -q "${HOME}/.local/share/applications" + xdg-mime default PortProton.desktop "application/x-ms-dos-executable;application/x-wine-extension-msp;application/x-msi;application/x-msdos-program" +fi name_desktop="readme" echo "[Desktop Entry]" > "${PORT_WINE_PATH}/${name_desktop}.desktop" echo "Name=${name_desktop}" >> "${PORT_WINE_PATH}/${name_desktop}.desktop" @@ -31,8 +30,13 @@ echo "Icon="${PORT_WINE_PATH}/data/img/readme.png"" >> "${PORT_WINE_PATH}/${name echo "URL=${urlg}" >> "${PORT_WINE_PATH}/${name_desktop}.desktop" chmod u+x "${PORT_WINE_PATH}/${name_desktop}.desktop" -if [ "${silent_install}" = "1" ]; then - echo "Installation completed successfully." +if [ "${PW_SILENT_INSTALL}" = "1" ] ; then + if [ "${PW_AUTOPLAY}" = "1" ] ; then + unset INSTALLING_PORT + sh "$HOME/PortWINE/PortProton/data/scripts/start.sh" $@ & exit 0 + else + echo "Installation completed successfully." + fi else `zenity --info --title "${inst_set_top}" --text "${inst_succ}" --no-wrap ` > /dev/null 2>&1 xdg-open "http://portwine-linux.ru/portwine-faq/" > /dev/null 2>&1 & exit 0 diff --git a/data_from_portwine/scripts/start.sh b/data_from_portwine/scripts/start.sh index 5d20e4f..951af32 100755 --- a/data_from_portwine/scripts/start.sh +++ b/data_from_portwine/scripts/start.sh @@ -206,7 +206,6 @@ pw_winetricks () { export PW_USE_TERMINAL=1 export PW_WINE_VER="${PW_PROTON_STEAM_VER}" init_wine_ver - cabextract_fix start_portwine while [[ -f "${PORT_WINE_TMP_PATH}/update_pfx_log" ]] ; do sleep 1 diff --git a/data_from_portwine/scripts/var b/data_from_portwine/scripts/var index 24be35e..ba7345e 100755 --- a/data_from_portwine/scripts/var +++ b/data_from_portwine/scripts/var @@ -1,11 +1,11 @@ #!/bin/bash #Author: Castro-Fidel (PortWINE-Linux.ru) -#SCRIPTS_NEXT_VERSION=2058 +#SCRIPTS_NEXT_VERSION=2059 #PORT_NEXT_VERSION=97 ######################################################################## export PW_MANGOHUD=1 export MANGOHUD_CONFIG=font_size=24,position=top-left,toggle_hud=Shift_R+F12,no_display,resolution,wine,gpu_name,vulkan_driver,gpu_stats,vkbasalt -#export DXVK_HUD=fps,devinfo +export DXVK_HUD=compiler #export ENABLE_VKBASALT=1 #export PW_VIRTUAL_DESKTOP=1 diff --git a/portwine_install_script/PortProton-97 b/portwine_install_script/PortProton-97 index ceae083..2182a26 100755 --- a/portwine_install_script/PortProton-97 +++ b/portwine_install_script/PortProton-97 @@ -10,6 +10,22 @@ clear && echo ' ' ######################################################################## +unset PW_AUTOPLAY PW_SET_LANG PW_SILENT_INSTALL +[ $(id -u) -eq 0 ] && echo "Do not run the script from the superuser!" && zenity --error --text "Do not run the script from the superuser!" 2> /dev/null && exit 1 +if [ "$(dirname "`readlink -f "$0"`")" == "/usr/bin" ] ; then + if [ -f "$HOME/PortWINE/PortProton/data/scripts/start.sh" ] ; then + sh "$HOME/PortWINE/PortProton/data/scripts/start.sh" $@ & exit 0 + else + if [ ! -z "`locale | grep "LANG=ru_RU.UTF-8"`" ] ; then + PW_SET_LANG="Russian" + else + PW_SET_LANG="English" + fi + export PW_SILENT_INSTALL="1" + export PW_AUTOPLAY=1 + fi +fi +######################################################################## export portname="PortProton" export port_ver=97 ######################################################################## @@ -17,7 +33,7 @@ export INSTALLING_PORT=1 export PROGS_INST="" export vexit=0 ######################################################################## -for PROGS in "wget" "curl" "tar" "awk" "zenity" "cabextract" ; do +for PROGS in "wget" "curl" "tar" "awk" "zenity" "cabextract" "pidof" ; do if [ ! -x "`which "${PROGS}" 2>/dev/null`" ] ; then PROGS_INST="${PROGS_INST} ${PROGS}" && vexit=1 fi @@ -30,21 +46,20 @@ fi cd "$(dirname "`readlink -f "$0"`")" links="$(pwd)" deflink="${HOME}/PortWINE/${portname}" -[ $(id -u) -eq 0 ] && echo "Do not run the script from the superuser!" && zenity --error --text "Do not run the script from the superuser!" 2> /dev/null && exit 1 ######################################################################## if [ "$1" = "-rus" ] ; then - SET_LANG="Russian" - export silent_install="1" + PW_SET_LANG="Russian" + export PW_SILENT_INSTALL="1" elif [ "$1" = "-eng" ] ; then - SET_LANG="English" - export silent_install="1" -else - SET_LANG=`zenity --title "Install $portname" --text "Select the installation language" --list --radiolist \ + PW_SET_LANG="English" + export PW_SILENT_INSTALL="1" +elif [ -z "${PW_SET_LANG}" ] ; then + PW_SET_LANG=`zenity --title "Install $portname" --text "Select the installation language" --list --radiolist \ --column="Set:" --column "Language:" \ TRUE "Russian" \ FALSE "English" ` 2> /dev/null if [ $? -eq 1 ] ; then exit 1 ; fi - case $SET_LANG in + case $PW_SET_LANG in "Russian") INFO_TEXT="Вы запустили установщик PortWINE ${portname} версии ${port_ver}. \n\nЭто не коммерческий продукт и развивается исключительно за идею и Ваши пожертвования. \nВсе права сторонего програмного обеспечения принадлежат их владельцам! \nПродолжая установку вы автоматически соглашаетесь с данными условиями." > /dev/null 2>&1 ;; "English") @@ -54,11 +69,11 @@ else if [ $? -eq 1 ] ; then echo "error" && exit 1 ; fi fi ######################################################################## -if [ "${silent_install}" = "1" ] ; then +if [ "${PW_SILENT_INSTALL}" = "1" ] ; then echo "${portname} is installed in ${deflink}" D_PATH="${deflink}" else - case $SET_LANG in + case $PW_SET_LANG in "Russian") inst1=`zenity --title "Install ${portname}" --text "Выберите путь для установки (обновления) порта,\nили оставьте его по умолчанию." --list --radiolist --width=350 --height=220 \ --column="Выбор" --column "Путь:" \ @@ -89,8 +104,8 @@ else if [ $? -eq 1 ] ; then echo "error" && exit 1 ; fi fi ######################################################################## -if [ "${silent_install}" != "1" ] ; then - case $SET_LANG in +if [ "${PW_SILENT_INSTALL}" != "1" ] ; then + case $PW_SET_LANG in "Russian") progress_bar() { zenity --progress --title="Установка..." --text="Настройка ${portname}" --pulsate --auto-close --auto-kill --width=450 > /dev/null 2>&1 @@ -113,7 +128,7 @@ fi ######################################################################## mkdir -p "${PORT_WINE_PATH}/data/tmp" echo "${port_ver}" > "${PORT_WINE_PATH}/data/tmp/${portname}_ver" -case $SET_LANG in +case $PW_SET_LANG in "Russian") echo "RUS" > "${PORT_WINE_PATH}/data/tmp/${portname}_loc" ;; "English") echo "ENG" > "${PORT_WINE_PATH}/data/tmp/${portname}_loc" ;; esac @@ -142,7 +157,7 @@ try_download_scripts () { try_download_scripts fi } -if [ "${silent_install}" = "1" ] ; then +if [ "${PW_SILENT_INSTALL}" = "1" ] ; then try_download_scripts else try_download_scripts | progress_bar diff --git a/portwine_install_script/portproton b/portwine_install_script/portproton new file mode 100755 index 0000000..2182a26 --- /dev/null +++ b/portwine_install_script/portproton @@ -0,0 +1,169 @@ +#!/bin/bash +# License GPL +######################################################################## +clear && echo ' +████─████─████─███─█───█─███─█──█─███ +█──█─█──█─█──█──█──█───█──█──██─█─█ +████─█──█─████──█──█─█─█──█──█─██─███ +█────█──█─█─█───█──█████──█──█──█─█ +█────████─█─█───█───█─█──███─█──█─███ + +' +######################################################################## +unset PW_AUTOPLAY PW_SET_LANG PW_SILENT_INSTALL +[ $(id -u) -eq 0 ] && echo "Do not run the script from the superuser!" && zenity --error --text "Do not run the script from the superuser!" 2> /dev/null && exit 1 +if [ "$(dirname "`readlink -f "$0"`")" == "/usr/bin" ] ; then + if [ -f "$HOME/PortWINE/PortProton/data/scripts/start.sh" ] ; then + sh "$HOME/PortWINE/PortProton/data/scripts/start.sh" $@ & exit 0 + else + if [ ! -z "`locale | grep "LANG=ru_RU.UTF-8"`" ] ; then + PW_SET_LANG="Russian" + else + PW_SET_LANG="English" + fi + export PW_SILENT_INSTALL="1" + export PW_AUTOPLAY=1 + fi +fi +######################################################################## +export portname="PortProton" +export port_ver=97 +######################################################################## +export INSTALLING_PORT=1 +export PROGS_INST="" +export vexit=0 +######################################################################## +for PROGS in "wget" "curl" "tar" "awk" "zenity" "cabextract" "pidof" ; do + if [ ! -x "`which "${PROGS}" 2>/dev/null`" ] ; then + PROGS_INST="${PROGS_INST} ${PROGS}" && vexit=1 + fi +done +if [ "${vexit}" -eq "1" ] ; then + echo "You will need to install: ${PROGS_INST}, and restart the script" + exit 1 +fi +######################################################################## +cd "$(dirname "`readlink -f "$0"`")" +links="$(pwd)" +deflink="${HOME}/PortWINE/${portname}" +######################################################################## +if [ "$1" = "-rus" ] ; then + PW_SET_LANG="Russian" + export PW_SILENT_INSTALL="1" +elif [ "$1" = "-eng" ] ; then + PW_SET_LANG="English" + export PW_SILENT_INSTALL="1" +elif [ -z "${PW_SET_LANG}" ] ; then + PW_SET_LANG=`zenity --title "Install $portname" --text "Select the installation language" --list --radiolist \ +--column="Set:" --column "Language:" \ + TRUE "Russian" \ + FALSE "English" ` 2> /dev/null + if [ $? -eq 1 ] ; then exit 1 ; fi + case $PW_SET_LANG in + "Russian") + INFO_TEXT="Вы запустили установщик PortWINE ${portname} версии ${port_ver}. \n\nЭто не коммерческий продукт и развивается исключительно за идею и Ваши пожертвования. \nВсе права сторонего програмного обеспечения принадлежат их владельцам! \nПродолжая установку вы автоматически соглашаетесь с данными условиями." > /dev/null 2>&1 ;; + "English") + INFO_TEXT="You run the installer PortWINE ${portname} v. ${port_ver}. \n\nThis is not a commercial product and developed exclusively for the idea and donate. \nAll rights to third-party software belong to their respective owners! \nContinuing the installation of you agree to these terms." > /dev/null 2>&1 ;; + esac + `zenity --info --title "INFO" --text "$INFO_TEXT" --no-wrap ` 2> /dev/null + if [ $? -eq 1 ] ; then echo "error" && exit 1 ; fi +fi +######################################################################## +if [ "${PW_SILENT_INSTALL}" = "1" ] ; then + echo "${portname} is installed in ${deflink}" + D_PATH="${deflink}" +else + case $PW_SET_LANG in + "Russian") + inst1=`zenity --title "Install ${portname}" --text "Выберите путь для установки (обновления) порта,\nили оставьте его по умолчанию." --list --radiolist --width=350 --height=220 \ + --column="Выбор" --column "Путь:" \ + TRUE "${deflink}" \ + FALSE "Другой путь..." ` 2> /dev/null + if [ $? -eq 1 ] ; then exit 1 ; fi + case $inst1 in + "${deflink}") + D_PATH="${deflink}" ;; + "Другой путь...") + D_PATH=`zenity --file-selection --directory --title="Выберите путь..." ` + D_PATH="${D_PATH}/${portname}" ;; + esac ;; + "English") + inst1=`zenity --title "Install ${portname}" --text "Select the installation path (update) port,\nor leave it in default." --list --radiolist --width=350 --height=220 \ + --column="Set..." --column "Path:" \ + TRUE "${deflink}" \ + FALSE "Other path..." ` 2> /dev/null + if [ $? -eq 1 ];then exit 1; fi + case $inst1 in + "${deflink}") + D_PATH="${deflink}" ;; + "Other path...") + D_PATH=`zenity --file-selection --directory --title="Select the path..." ` + D_PATH="${D_PATH}/${portname}" ;; + esac ;; + esac + if [ $? -eq 1 ] ; then echo "error" && exit 1 ; fi +fi +######################################################################## +if [ "${PW_SILENT_INSTALL}" != "1" ] ; then + case $PW_SET_LANG in + "Russian") + progress_bar() { + zenity --progress --title="Установка..." --text="Настройка ${portname}" --pulsate --auto-close --auto-kill --width=450 > /dev/null 2>&1 + } ;; + "English") + progress_bar() { + zenity --progress --title="Install..." --text="Install ${portname}" --pulsate --auto-close --auto-kill --width=450 > /dev/null 2>&1 + } ;; + esac + if [ $? -eq 1 ] ; then echo "error" && exit 1 ; fi +fi +######################################################################## +export PORT_WINE_PATH="${D_PATH}" +if [ ! -d "${PORT_WINE_PATH}" ] ; then + mkdir -p "$PORT_WINE_PATH" +else + rm -fr "${PORT_WINE_PATH}/data/tmp" + rm -f "${PORT_WINE_PATH}/data/scripts/"* > /dev/null 2>&1 +fi +######################################################################## +mkdir -p "${PORT_WINE_PATH}/data/tmp" +echo "${port_ver}" > "${PORT_WINE_PATH}/data/tmp/${portname}_ver" +case $PW_SET_LANG in + "Russian") echo "RUS" > "${PORT_WINE_PATH}/data/tmp/${portname}_loc" ;; + "English") echo "ENG" > "${PORT_WINE_PATH}/data/tmp/${portname}_loc" ;; +esac +######################################################################## +export PORT_WINE_TMP_PATH="${PORT_WINE_PATH}/data/tmp" +cd "${PORT_WINE_PATH}" +try_download_scripts () { + wget -O "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz" -nd -c --read-timeout 300 \ + --retry-connrefused --timeout 15 --tries 3 \ + --user-agent="Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" \ + "https://github.com/Castro-Fidel/PortWINE/archive/refs/heads/master.tar.gz" + if [ "$?" = "0" ] ; then + tar -xvzf "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz" -C "${PORT_WINE_TMP_PATH}" + if [ "$?" = "0" ] ; then + [ ! -d "${PORT_WINE_PATH}/data/" ] && mkdir "${PORT_WINE_PATH}/data/" + cp -fr "${PORT_WINE_TMP_PATH}/PortWINE-master/data_from_portwine/"* "${PORT_WINE_PATH}/data/" + rm -f "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz" + rm -fr "${PORT_WINE_TMP_PATH}/PortWINE-master/" + export scripts_current_ver=`cat "${PORT_WINE_PATH}/data/scripts/var" | grep SCRIPTS_NEXT_VERSION | awk -F "=" '{print $2}'` + echo "${scripts_current_ver}" > "${PORT_WINE_TMP_PATH}/scripts_ver" + else + rm -f "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz" + try_download_scripts + fi + else + try_download_scripts + fi +} +if [ "${PW_SILENT_INSTALL}" = "1" ] ; then + try_download_scripts +else + try_download_scripts | progress_bar +fi +chmod 755 -R "${PORT_WINE_PATH}" +######################################################################## +cd "${PORT_WINE_PATH}/data/scripts" +/bin/bash -c "${PORT_WINE_PATH}/data/scripts/setup.sh" && exit 0 +################################ARCH_BIN################################