From ad74fbd730147ba0f6d59b34964e072b7e21da98 Mon Sep 17 00:00:00 2001 From: Mikhail Tergoev Date: Fri, 19 Apr 2024 19:53:35 +0300 Subject: [PATCH] fix pack and unpack prefixes --- data_from_portwine/changelog_rus | 5 +++++ data_from_portwine/scripts/functions_helper | 8 ++++---- data_from_portwine/scripts/start.sh | 16 ++++++++-------- 3 files changed, 17 insertions(+), 12 deletions(-) diff --git a/data_from_portwine/changelog_rus b/data_from_portwine/changelog_rus index 0bd34fa..c5bf99f 100755 --- a/data_from_portwine/changelog_rus +++ b/data_from_portwine/changelog_rus @@ -2,6 +2,11 @@ ----------------------------------------- История изменений: +* исправлено скачивание необходимых версий WINE из игрового режима SteamDeck +* улучшены функции связанные c работой flatpak (спасибо Boria138) +* исправлено создание и распаковка префиксов +* добавлен выбор версии MESA_GL_VERSION_OVERRIDE в настройки при запуске .exe файлов (спасибо Htylol) + ###Scripts version 2281### Дата: 18.04.2024 / Размер скачиваемого обновления: 15 мегабайт * обновлено окно обновления скриптов PortProton * иконки для интерфейса переведены из png в svg (спасибо Dervart) diff --git a/data_from_portwine/scripts/functions_helper b/data_from_portwine/scripts/functions_helper index f6fc517..2daca4d 100755 --- a/data_from_portwine/scripts/functions_helper +++ b/data_from_portwine/scripts/functions_helper @@ -3463,15 +3463,15 @@ pw_create_prefix_backup () { else TMP_ALL_PATH="env PATH=\"${PATH}\" LD_LIBRARY_PATH=\"${PW_LD_LIBRARY_PATH}\"" fi chmod -R u+w "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}" -cat << EOF > /tmp/pp_pfx_backup.sh +cat << EOF > "${PORT_WINE_TMP_PATH}"/pp_pfx_backup.sh #!/usr/bin/env bash ${TMP_ALL_PATH} mksquashfs "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}" \ "${PW_PREFIX_TO_BACKUP}/${PW_PREFIX_NAME}.ppack.part" -comp zstd \ || rm -f "${PW_PREFIX_TO_BACKUP}/${PW_PREFIX_NAME}.ppack.part" EOF - chmod u+x /tmp/pp_pfx_backup.sh - ${pw_runtime} ${PW_TERM} /tmp/pp_pfx_backup.sh - try_remove_file /tmp/pp_pfx_backup.sh + chmod u+x "${PORT_WINE_TMP_PATH}"/pp_pfx_backup.sh + ${pw_runtime} ${PW_TERM} "${PORT_WINE_TMP_PATH}"/pp_pfx_backup.sh + try_remove_file "${PORT_WINE_TMP_PATH}"/pp_pfx_backup.sh if [[ -f "${PW_PREFIX_TO_BACKUP}/${PW_PREFIX_NAME}.ppack.part" ]] ; then mv -f "${PW_PREFIX_TO_BACKUP}/${PW_PREFIX_NAME}.ppack.part" "${PW_PREFIX_TO_BACKUP}/${PW_PREFIX_NAME}.ppack" yad_info "$PW_PFX_BACKUP_SUCCESS $PW_PREFIX_NAME" diff --git a/data_from_portwine/scripts/start.sh b/data_from_portwine/scripts/start.sh index 0025b4a..5a9174f 100755 --- a/data_from_portwine/scripts/start.sh +++ b/data_from_portwine/scripts/start.sh @@ -224,20 +224,20 @@ if [[ ! -z $(basename "${portwine_exe}" | grep .ppack) ]] ; then else TMP_ALL_PATH="env PATH=\"${PATH}\" LD_LIBRARY_PATH=\"${PW_LD_LIBRARY_PATH}\"" fi export PW_PREFIX_NAME=$(basename "$1" | awk -F'.' '{print $1}') -cat << EOF > /tmp/pp_pfx_unpack.sh +cat << EOF > "${PORT_WINE_TMP_PATH}"/pp_pfx_unpack.sh #!/usr/bin/env bash ${TMP_ALL_PATH} unsquashfs -f -d "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}" "$1" \ - || echo "ERROR" >/tmp/pp_pfx_unpack_error + || echo "ERROR" > "${PORT_WINE_TMP_PATH}"/pp_pfx_unpack_error EOF - chmod u+x /tmp/pp_pfx_unpack.sh - ${pw_runtime} ${PW_TERM} /tmp/pp_pfx_unpack.sh - if grep "ERROR" /tmp/pp_pfx_unpack_error &>/dev/null ; then - try_remove_file /tmp/pp_pfx_unpack_error - try_remove_file /tmp/pp_pfx_unpack.sh + chmod u+x "${PORT_WINE_TMP_PATH}"/pp_pfx_unpack.sh + ${pw_runtime} ${PW_TERM} "${PORT_WINE_TMP_PATH}"/pp_pfx_unpack.sh + if grep "ERROR" "${PORT_WINE_TMP_PATH}"/pp_pfx_unpack_error &>/dev/null ; then + try_remove_file "${PORT_WINE_TMP_PATH}"/pp_pfx_unpack_error + try_remove_file "${PORT_WINE_TMP_PATH}"/pp_pfx_unpack.sh yad_error "Unpack has FAILED for prefix: \"${PW_PREFIX_NAME}\"." exit 1 else - try_remove_file /tmp/pp_pfx_unpack.sh + try_remove_file "${PORT_WINE_TMP_PATH}"/pp_pfx_unpack.sh if [[ -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/.create_shortcut" ]] ; then orig_IFS="$IFS" IFS=$'\n'