Commit 361c737c authored by Mikhail Tergoev's avatar Mikhail Tergoev

Scripts version 1060

parent 936c27e9
......@@ -6,7 +6,6 @@
* добавить фикс установки dotnet
* добавить кнопку очистки префикса в PortProton
* проверка версий и обновления скриптов из https://github.com/Castro-Fidel/PortWINE/archive/refs/heads/master.zip
* добавить условие: если установлен vcrun2019, то не устанавливать vcrun2015-2017
* EDIT DB открывается не у всех
* пересоздать удаление PortProton (чистка ярлыков в меню с помощью grep "путь до порта")
* проверить windows steam под PortProton
......@@ -18,6 +17,32 @@
* проверка версий vkd3d на github: curl -s https://github.com/HansKristian-Work/vkd3d-proton/releases | grep Version | awk {'print $3'} | sed 's%</a>%%g'
* зарабатывать на жизнь развитием проекта с помощью вашей подписки на https://boosty.to/portwine-linux.ru
-----------------------------------------
###Scripts version 1061###
* проверка и удаление scripts.tar.xz перед обновлением
###Scripts version 1060###
* фикс работы EVE Online + Proton Experimental (netprofm.dll)
###Scripts version 1059###
* gnome-terminal отрабатывает не правильно, возвращен xterm
* вместо vcrun2015-2017 принудительно ставится vcrun2019 (так как имеет кумулятивные обновления)
###PortProton-77### 01.05.2021 ###Scripts version 1057###
* Обновлен Proton Experimental от 29.04.2021
* используется default_pfx при создании нового префикса
* фикс выбора режима запуска при уже созданном ярлыке, но отсутствующем PW_VULKAN_USE
###Scripts version 1056###
* исправлена работа gnome-terminal если "$SHELL" не равен "/bin/bash"
###Scripts version 1055###
* fix YAD
###Scripts version 1054###
* добавлен p7zip в libs_v10
* изменен приотет использования терминала (системный в приоритете как для KDE, GNOME, Cinnamon и LXQT)
* в AUTOINSTALL реализованна "тихая" установка EVE Online
###Scripts version 1053###
* HOTFIX - перенос всех функций в скрипте runlib (наверх)
* добавлена переменная в default ##export PW_WINE_ALLOW_XIM=1, которая отключает XIM (X input manager)
......
......@@ -107,15 +107,16 @@ PW_GOG () {
PW_EVE () {
export PW_WINDOWS_VER=10
export PW_DLL_INSTALL="vcrun2017"
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/EveLauncher-1602194.exe"
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/EveLauncher-1892908.exe"
START_PORTWINE
if try_download "https://binaries.eveonline.com/EveLauncher-1602194.exe" "${PW_AUTOINSTALL_EXE}"
if try_download "https://binaries.eveonline.com/EveLauncher-1892908.exe" "${PW_AUTOINSTALL_EXE}"
then
PW_START_PROGRESS_BAR_CS "Installing the EVE Launcher. Please wait..."
PW_RUN "${PW_AUTOINSTALL_EXE}"
portwine_exe=`find "$WINEPREFIX/drive_c/" -type f -name "evelauncher.exe"`
PW_START_PROGRESS_BAR_BLOCK "Installing the EVE Launcher. Please wait..."
dd if="${PW_AUTOINSTALL_EXE}" of="${PW_AUTOINSTALL_EXE}".7z bs=1M skip=31646603 count=196171208 iflag=skip_bytes,count_bytes
"$pw_7z" x "${PW_AUTOINSTALL_EXE}".7z -o"$WINEPREFIX/drive_c/Games/EVE Online"
try_remove_file "${PW_AUTOINSTALL_EXE}"
KILL_PORTWINE
try_remove_file "${PW_AUTOINSTALL_EXE}".7z
portwine_exe="$WINEPREFIX/drive_c/Games/EVE Online/Launcher/evelauncher.exe"
PW_STOP_PROGRESS_BAR
PORTWINE_CREATE_SHORTCUT
fi
......
......@@ -46,4 +46,4 @@
##ADD_IN_START_PORTWINE () { commands ; }
export PW_DLL_INSTALL="vcrun6 vcrun6sp6 mfc42 d3dcompiler_42 d3dcompiler_43 d3dcompiler_47 d3dx9"
export PW_DLL_INSTALL="vcrun2019 vcrun6 vcrun6sp6 mfc42 d3dcompiler_42 d3dcompiler_43 d3dcompiler_47 d3dx9"
......@@ -149,9 +149,9 @@ PW_STOP_PROGRESS_BAR () {
START_PORTWINE ()
{
if [ -x "`which konsole 2>/dev/null`" ]; then export PW_TERM="konsole --nofork -e"
elif [ -x "`which xterm 2>/dev/null`" ]; then export PW_TERM="${PW_XTERM}"
elif [ -x "`which gnome-terminal 2>/dev/null`" ]; then export PW_TERM="gnome-terminal -- $SHELL -c"
# elif [ -x "`which gnome-terminal 2>/dev/null`" ]; then export PW_TERM="gnome-terminal -- /bin/bash" ???
elif [ -x "`which lxterminal 2>/dev/null`" ]; then export PW_TERM="lxterminal -e"
elif [ -x "`which xterm 2>/dev/null`" ]; then export PW_TERM="${PW_XTERM}"
else export PW_TERM="${PW_XTERM}"
fi
......@@ -386,6 +386,10 @@ UPDATE_WINETRICKS () {
fi
fi
fi
if [ -f "${PORT_WINE_TMP_PATH}/winetricks" ] ; then
sed -i 's/w_metadata vcrun2015 dlls \\/w_metadata !dont_use_2015! dlls \\/' "${PORT_WINE_TMP_PATH}/winetricks"
sed -i 's/w_metadata vcrun2017 dlls \\/w_metadata !dont_use_2017! dlls \\/' "${PORT_WINE_TMP_PATH}/winetricks"
fi
}
RUN_WINETRICKS_FROM_DB () {
......@@ -396,7 +400,15 @@ RUN_WINETRICKS_FROM_DB () {
export USE_WT_FROM_DB=0
if [ -e "${WINEPREFIX}/winetricks.log" ] ; then
for need_install_dll_to_pfx in ${PW_DLL_INSTALL} ; do
grep "${need_install_dll_to_pfx}" "${WINEPREFIX}/winetricks.log"
if [ "${need_install_dll_to_pfx}" == "vcrun2015" ] || [ "${need_install_dll_to_pfx}" == "vcrun2017" ] ; then
need_install_dll_to_pfx="vcrun2019"
sed -i '/vcrun2015/d' "${WINEPREFIX}/winetricks.log"
sed -i '/vcrun2017/d' "${WINEPREFIX}/winetricks.log"
elif [ "${need_install_dll_to_pfx}" == "vcrun2019" ] ; then
sed -i '/vcrun2015/d' "${WINEPREFIX}/winetricks.log"
sed -i '/vcrun2017/d' "${WINEPREFIX}/winetricks.log"
fi
grep "${need_install_dll_to_pfx}" "${WINEPREFIX}/winetricks.log"
if [ "$?" == "1" ] ; then
if [ -z "${PW_DLL_NEED_INSTALL}" ]
then export PW_DLL_NEED_INSTALL="${need_install_dll_to_pfx}"
......@@ -447,6 +459,10 @@ PW_UPDATE () {
case $xsd in
"${port_upd4}")
KILL_PORTWINE
# if try_download https://portwine-linux.ru/ftp/portwine/PortProton-$current_ver "${HOME}/.PortWINE/tmp/PortProton-$current_ver" ; then
# sh "${HOME}/.PortWINE/tmp/PortProton-$current_ver"
# try_remove_file "${HOME}/.PortWINE/tmp/PortProton-$current_ver"
# fi &
xdg-open $porturl
exit 0 ;;
"${port_upd5}")
......@@ -493,11 +509,16 @@ PW_INIT_PFX () {
#sed -i '/HKCU,Software\\Valve\\Steam/d' "${WINEDIR}"*/share/wine/wine.inf
#sed -i '/HKLM,Software\\Wow6432Node\\Valve\\Steam/d' "${WINEDIR}"*/share/wine/wine.inf
#sed -i '/HKLM,Software\\Wow6432Node\\Valve\\Steam/d' "${WINEDIR}"*/share/wine/wine.inf
if [ ! -d "${WINEPREFIX}" ] || [ ! -d "${WINEPREFIX}"/drive_c/windows ] || [ ! -f "${WINEPREFIX}"/user.reg ] || [ ! -f "${WINEPREFIX}"/userdef.reg ] || [ ! -f "${WINEPREFIX}"/system.reg ] ; then
if [ ! -d "${WINEPREFIX}" ] || [ ! -d "${WINEPREFIX}"/drive_c/windows ] || \
[ ! -f "${WINEPREFIX}"/user.reg ] || [ ! -f "${WINEPREFIX}"/userdef.reg ] || \
[ ! -f "${WINEPREFIX}"/system.reg ] ;
then
sed -i '/HKCR,steam\\shell\\open\\command/d' "${WINEDIR}"*/share/wine/wine.inf
sed -i '/HKCR,steam\\shell\\open\\command/d' "${WINEDIR}"*/share/wine/wine.inf
try_remove_file "${WINEPREFIX}/winetricks.log"
create_new_dir "${WINEPREFIX}/drive_c/windows/syswow64/"
create_new_dir "${WINEPREFIX}/drive_c/windows/system32/"
cp -fr "${WINEDIR}/share/default_pfx/"* "${WINEPREFIX}"
cp -f "${WINEDIR}/lib/wine/fakedlls/"*.* "${WINEPREFIX}/drive_c/windows/syswow64/"
cp -f "${WINEDIR}/lib/wine/"*.* "${WINEPREFIX}/drive_c/windows/syswow64/"
cp -f "${WINEDIR}/lib64/wine/fakedlls/"*.* "${WINEPREFIX}/drive_c/windows/system32/"
......@@ -577,7 +598,8 @@ PW_INIT_PFX () {
export PW_WINDOWS_VER="10"
echo "Use VKD3D-PROTON version ${PW_VKD3D_VER} (DX12 to vulkan)"
fi
}
}
PW_SCRIPTS_UPDATE () {
if [ ! -f "${PORT_WINE_TMP_PATH}/scripts_ver" ] ; then
echo "1000" > "${PORT_WINE_TMP_PATH}/scripts_ver"
......@@ -589,12 +611,13 @@ PW_SCRIPTS_UPDATE () {
if [ ! -z "${scripts_current_ver}" ] && [ "${scripts_current_ver}" -gt "${scripts_install_ver}" ] ; then
echo "######################################################"
echo "Update scripts..."
try_remove_file "${PORT_WINE_TMP_PATH}/scripts.tar.xz"
try_download "${PW_FTP_URL}/dist/scripts.tar.xz" "${PORT_WINE_TMP_PATH}/scripts.tar.xz"
tar -Jxvf "${PORT_WINE_TMP_PATH}/scripts.tar.xz" -C "${PORT_WINE_PATH}/data/"
if [ "$?" == "0" ] ; then
try_remove_file "${PORT_WINE_TMP_PATH}/scripts.tar.xz"
echo "${scripts_current_ver}" > "${PORT_WINE_TMP_PATH}/scripts_ver"
yad --title="Changelog" --borders=10 \
"${pw_yad}" --title="Changelog" --borders=10 \
--text="Скрипты были успешно обновлены.\nДля продолжения запуска порта нажмите ОК." \
--text-align=center --text-info --show-uri --wrap --center --width=1200 --height=550 \
--filename="${PORT_WINE_PATH}/data/changelog"
......@@ -679,7 +702,9 @@ export install_ver=`cat "${PORT_WINE_TMP_PATH}/${portname}_ver" | head -n 1`
export scripts_install_ver=`cat "${PORT_WINE_TMP_PATH}/scripts_ver" | head -n 1`
if [ -z "${INSTALLING_PORT}" ] ; then
if [ ! -e "${WINELIB}/run.sh" ] || [ ! -e "${WINELIB}/usr/bin/yad" ] || [ ! -e "${WINELIB}/amd64/usr/bin/vkcube" ] || [ ! -e "${WINELIB}/amd64/usr/bin/xterm" ] || [ -e "${HOME}/.PortWINE/tmp/libs${pw_libs_ver}.tar.xz" ] ; then
if [ ! -e "${WINELIB}/run.sh" ] || [ ! -e "${WINELIB}/usr/bin/yad" ] || [ ! -e "${WINELIB}/usr/lib/p7zip/7zr" ] \
|| [ ! -e "${WINELIB}/amd64/usr/bin/vkcube" ] || [ ! -e "${WINELIB}/amd64/usr/bin/xterm" ] || \
[ -e "${HOME}/.PortWINE/tmp/libs${pw_libs_ver}.tar.xz" ] ; then
print_info "Download and install libraries..."
if try_download "https://github.com/Castro-Fidel/PortWINE/releases/download/libs${pw_libs_ver}/libs${pw_libs_ver}.tar.xz" "${HOME}/.PortWINE/tmp/libs${pw_libs_ver}.tar.xz" ; then
if unpack_tar_xz "${HOME}/.PortWINE/tmp/libs${pw_libs_ver}.tar.xz" "${HOME}/.PortWINE/" ; then
......@@ -702,6 +727,7 @@ if [ -z "${INSTALLING_PORT}" ] ; then
try_remove_dir "${WINELIB}/pinned_libs_64"
export pw_yad="${WINELIB}/usr/bin/yad"
export pw_zstd="${WINELIB}/usr/bin/zstd"
export pw_7z="${WINELIB}/usr/lib/p7zip/7zr"
if [ -x "`which xterm 2>/dev/null`" ]; then
export SYS_XTERM=`which xterm`
export PW_XTERM="${SYS_XTERM} -geometry 159x37 -e"
......@@ -767,3 +793,4 @@ if [ -z "${INSTALLING_PORT}" ] ; then
fi
[ -z "${INSTALLING_PORT}" ] && PW_UPDATE
[ -z "${INSTALLING_PORT}" ] && PW_SCRIPTS_UPDATE
......@@ -60,13 +60,6 @@ done
chmod u+x "${PORT_SCRIPTS_PATH}/"*
try_force_link_dir "${PORT_WINE_PATH}/data/pfx/drive_c/" "${PORT_WINE_PATH}/"
if [ -d "${PORT_WINE_PATH}/data/pfx/drive_c/users/Public" ] && [ ! -L "${PORT_WINE_PATH}/data/pfx/drive_c/users/Public" ]; then
cp -fr "${PORT_WINE_PATH}/data/pfx/drive_c/users/Public"/* "${PORT_WINE_PATH}/data/pfx/drive_c/users/steamuser/"
rm -fr "${PORT_WINE_PATH}/data/pfx/drive_c/users/Public"
elif [ -L "${PORT_WINE_PATH}/data/pfx/drive_c/users/Public" ]; then
rm -fr "${PORT_WINE_PATH}/data/pfx/drive_c/users/Public"
fi
ln -s "${PORT_WINE_PATH}/data/pfx/drive_c/users/steamuser" "${PORT_WINE_PATH}/data/pfx/drive_c/users/Public"
pw_clear_pfx
if [ "${s_install}" = "1" ]; then
echo "Installation completed successfully."
......
......@@ -5,7 +5,6 @@ if [ -f "$1" ]; then
export portwine_exe="$(readlink -f "$1")"
fi
. "$(dirname $(readlink -f "$0"))/runlib"
PW_SCRIPTS_UPDATE
PORTWINE_LAUNCH () {
KILL_PORTWINE
......@@ -167,7 +166,7 @@ PORTWINE_DEBUG () {
sleep 1 && zenity --info --title "DEBUG" --text "${port_debug}" --no-wrap &> /dev/null && KILL_PORTWINE
deb_text=$(cat "${PORT_WINE_PATH}/${portname}.log" | awk '! a[$0]++')
echo "$deb_text" > "${PORT_WINE_PATH}/${portname}.log"
yad --title="${portname}.log" --borders=10 --no-buttons --text-align=center \
"$pw_yad" --title="${portname}.log" --borders=10 --no-buttons --text-align=center \
--text-info --show-uri --wrap --center --width=1200 --height=550 \
--filename="${PORT_WINE_PATH}/${portname}.log"
}
......@@ -204,7 +203,7 @@ PW_AUTO_INSTALL_FROM_DB () {
if [ ! -z "${portwine_exe}" ]; then
if [ -z "${PW_GUI_DISABLED_CS}" ] || [ "${PW_GUI_DISABLED_CS}" = 0 ] ; then
if [ -z "${PW_GUI_DISABLED_CS}" ] || [ "${PW_GUI_DISABLED_CS}" = 0 ] || [ -z "${PW_VULKAN_USE}" ]; then
if [ ! -z "${PORTWINE_DB_FILE}" ] && [ ! -z "${PW_VULKAN_USE}" ]; then
if [ -z "${PW_COMMENT_DB}" ] ; then
PW_COMMENT_DB="PortWINE database file for "\"${PORTWINE_DB}"\" was found."
......@@ -265,7 +264,7 @@ else
export -f button_click
open_changelog () {
yad --title="Changelog" --borders=10 --no-buttons --text-align=center \
"${pw_yad}" --title="Changelog" --borders=10 --no-buttons --text-align=center \
--text-info --show-uri --wrap --center --width=1200 --height=550 \
--filename="${PORT_WINE_PATH}/data/changelog"
}
......
......@@ -20,7 +20,7 @@ export WINEARCH="win64"
export mono_ver=6.1.2
export gecko_ver=2.47.2
export pw_libs_ver="_v9"
export pw_libs_ver="_v10"
export PW_FORCE_LARGE_ADDRESS_AWARE=1
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment