updated backup functions
This commit is contained in:
@@ -7478,30 +7478,8 @@ pw_create_prefix_backup () {
|
|||||||
if [[ "$YAD_STATUS" == "1" || "$YAD_STATUS" == "252" ]] ; then
|
if [[ "$YAD_STATUS" == "1" || "$YAD_STATUS" == "252" ]] ; then
|
||||||
restart_pp
|
restart_pp
|
||||||
fi
|
fi
|
||||||
if [[ -n "$(grep "/${PW_PREFIX_NAME}/" "${PORT_WINE_PATH}"/*.desktop )" ]] ; then
|
|
||||||
try_remove_file "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/.create_shortcut"
|
if pw_create_prefix_backup_cli "$PW_PREFIX_NAME" "$PW_PREFIX_TO_BACKUP" ; then
|
||||||
grep "/${PW_PREFIX_NAME}/" "${PORT_WINE_PATH}"/*.desktop | awk -F"/${PW_PREFIX_NAME}/" '{print $2}' \
|
|
||||||
| awk -F\" '{print $1}' > "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/.create_shortcut"
|
|
||||||
fi
|
|
||||||
unset PW_SANDBOX_HOME_PATH
|
|
||||||
pw_init_runtime
|
|
||||||
if check_flatpak
|
|
||||||
then TMP_ALL_PATH=""
|
|
||||||
else TMP_ALL_PATH="LD_LIBRARY_PATH=\"${PW_LD_LIBRARY_PATH}\""
|
|
||||||
fi
|
|
||||||
chmod -R u+w "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}"
|
|
||||||
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"
|
|
||||||
sleep 3
|
|
||||||
EOF
|
|
||||||
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 "${translations[Backup has been successfully created for prefix:]} $PW_PREFIX_NAME"
|
yad_info "${translations[Backup has been successfully created for prefix:]} $PW_PREFIX_NAME"
|
||||||
if [[ ! -f "${PORT_WINE_TMP_PATH}/pfx_backup_info" ]] ; then
|
if [[ ! -f "${PORT_WINE_TMP_PATH}/pfx_backup_info" ]] ; then
|
||||||
yad_info "${translations[Attention! Do not pass the resev copy to third parties, there is a risk of losing accounts!]}"
|
yad_info "${translations[Attention! Do not pass the resev copy to third parties, there is a risk of losing accounts!]}"
|
||||||
@@ -7517,6 +7495,12 @@ pw_create_prefix_backup_cli () {
|
|||||||
PW_PREFIX_NAME="$1"
|
PW_PREFIX_NAME="$1"
|
||||||
PW_PREFIX_TO_BACKUP="$2"
|
PW_PREFIX_TO_BACKUP="$2"
|
||||||
|
|
||||||
|
if [[ -n "$(grep "/${PW_PREFIX_NAME}/" "${PORT_WINE_PATH}"/*.desktop )" ]] ; then
|
||||||
|
try_remove_file "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/.create_shortcut"
|
||||||
|
grep "/${PW_PREFIX_NAME}/" "${PORT_WINE_PATH}"/*.desktop | awk -F"/${PW_PREFIX_NAME}/" '{print $2}' \
|
||||||
|
| awk -F\" '{print $1}' > "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/.create_shortcut"
|
||||||
|
fi
|
||||||
|
|
||||||
unset PW_SANDBOX_HOME_PATH
|
unset PW_SANDBOX_HOME_PATH
|
||||||
pw_init_runtime
|
pw_init_runtime
|
||||||
if check_flatpak; then
|
if check_flatpak; then
|
||||||
@@ -7583,6 +7567,16 @@ pw_unpack_prefix_cli () {
|
|||||||
return 1
|
return 1
|
||||||
else
|
else
|
||||||
try_remove_file "${PORT_WINE_TMP_PATH}/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
|
||||||
|
while read -r line
|
||||||
|
do
|
||||||
|
export portwine_exe="$PORT_WINE_PATH/data/prefixes/$PW_PREFIX_NAME/$line"
|
||||||
|
if check_start_from_steam
|
||||||
|
then portwine_output_yad_shortcut --silent
|
||||||
|
else portwine_create_shortcut
|
||||||
|
fi
|
||||||
|
done < "$PORT_WINE_PATH/data/prefixes/$PW_PREFIX_NAME/.create_shortcut"
|
||||||
|
fi
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
@@ -390,42 +390,10 @@ export SKIP_CHECK_UPDATES="1"
|
|||||||
[[ "$MISSING_DESKTOP_FILE" == "1" ]] && portwine_missing_shortcut
|
[[ "$MISSING_DESKTOP_FILE" == "1" ]] && portwine_missing_shortcut
|
||||||
|
|
||||||
if [[ $(basename "${portwine_exe,,}") =~ .ppack$ ]] ; then
|
if [[ $(basename "${portwine_exe,,}") =~ .ppack$ ]] ; then
|
||||||
unset PW_SANDBOX_HOME_PATH
|
if ! pw_unpack_prefix_cli "$portwine_exe" ; then
|
||||||
pw_init_runtime
|
|
||||||
if check_flatpak
|
|
||||||
then TMP_ALL_PATH=""
|
|
||||||
else TMP_ALL_PATH="LD_LIBRARY_PATH=\"${PW_LD_LIBRARY_PATH}\""
|
|
||||||
fi
|
|
||||||
if check_selinux
|
|
||||||
then NO_XATTRS_NEED="-no-xattrs"
|
|
||||||
else NO_XATTRS_NEED=""
|
|
||||||
fi
|
|
||||||
PW_PREFIX_NAME=$(basename "${1^^}" .PPACK)
|
|
||||||
cat << EOF > "${PORT_WINE_TMP_PATH}"/pp_pfx_unpack.sh
|
|
||||||
#!/usr/bin/env bash
|
|
||||||
${TMP_ALL_PATH} unsquashfs $NO_XATTRS_NEED -f -d "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}" "$1" \
|
|
||||||
|| echo "ERROR" > "${PORT_WINE_TMP_PATH}"/pp_pfx_unpack_error
|
|
||||||
sleep 3
|
|
||||||
EOF
|
|
||||||
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 "${translations[Unpack has FAILED for prefix:]} <b>\"${PW_PREFIX_NAME}\"</b>."
|
yad_error "${translations[Unpack has FAILED for prefix:]} <b>\"${PW_PREFIX_NAME}\"</b>."
|
||||||
exit 1
|
exit 1
|
||||||
else
|
else
|
||||||
try_remove_file "${PORT_WINE_TMP_PATH}"/pp_pfx_unpack.sh
|
|
||||||
if [[ -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/.create_shortcut" ]] ; then
|
|
||||||
while read -r line
|
|
||||||
do
|
|
||||||
export portwine_exe="$PORT_WINE_PATH/data/prefixes/$PW_PREFIX_NAME/$line"
|
|
||||||
if check_start_from_steam
|
|
||||||
then portwine_output_yad_shortcut --silent
|
|
||||||
else portwine_create_shortcut
|
|
||||||
fi
|
|
||||||
done < "$PORT_WINE_PATH/data/prefixes/$PW_PREFIX_NAME/.create_shortcut"
|
|
||||||
fi
|
|
||||||
if ! check_start_from_steam
|
if ! check_start_from_steam
|
||||||
then yad_info "${translations[Unpack is DONE for prefix:]} <b>\"${PW_PREFIX_NAME}\"</b>."
|
then yad_info "${translations[Unpack is DONE for prefix:]} <b>\"${PW_PREFIX_NAME}\"</b>."
|
||||||
fi
|
fi
|
||||||
|
Reference in New Issue
Block a user