From 297f8fe32919ecb5a6d82dcf8c52a2bccc6ae5f5 Mon Sep 17 00:00:00 2001 From: icenine451 <59938822+icenine451@users.noreply.github.com> Date: Sun, 21 Jul 2024 18:33:24 -0400 Subject: [PATCH] Fix failed move commands in 0.8.2b post_update and add recovery for previous failed moves in 0.8.3b --- functions/post_update.sh | 43 +++++++++++++++++++++++++++++++--------- 1 file changed, 34 insertions(+), 9 deletions(-) diff --git a/functions/post_update.sh b/functions/post_update.sh index 39b18a27..c543cefb 100644 --- a/functions/post_update.sh +++ b/functions/post_update.sh @@ -304,7 +304,7 @@ post_update() { log i "In version 0.8.1b, the following changes were made that required config file updates/reset or other changes to the filesystem:" log i "- ES-DE files were moved inside the retrodeck folder, migrating to the new structure" log i "- Give the user the option to reset Ryujinx, which was not properly initialized in 0.8.0b" - + log d "ES-DE files were moved inside the retrodeck folder, migrating to the new structure" dir_prep "$rdhome/ES-DE/collections" "/var/config/ES-DE/collections" dir_prep "$rdhome/ES-DE/gamelists" "/var/config/ES-DE/gamelists" @@ -339,14 +339,39 @@ post_update() { fi if [[ $(check_version_is_older_than "0.8.2b") == "true" ]]; then - log i "Vita3K changed some paths, reflecting them: moving \"/var/data/Vita3K\" in \"/var/config/Vita3K\"" - mv -f "/var/data/Vita3K" "/var/config/Vita3K" - log i "Moving ES-DE downloaded_media, gamelist, and themes from \"$rdhome\" to \"$rdhome/ES-DE\" due to a RetroDECK Framework bug" - mv -f "$rdhome/themes" "$rdhome/ES-DE/themes" && log d "Move of \"$rdhome/themes\" completed" - mv -f "$rdhome/downloaded_media" "$rdhome/ES-DE/downloaded_media" && log d "Move of \"$rdhome/downloaded_media\" completed" - mv -f "$rdhome/gamelists/"* "$rdhome/ES-DE/gamelists" && log d "Move of \"$rdhome/gamelists/\" completed" && rm -rf "$rdhome/gamelists" - log i "Since in this version we moved to a PR build of Ryujinx we need to symlink it." - ln -sv $ryujinxconf "$(dirname $ryujinxconf)/PRConfig.json" + log i "Vita3K changed some paths, reflecting them: moving \"/var/data/Vita3K\" in \"/var/config/Vita3K\"" + move "/var/data/Vita3K" "/var/config/Vita3K" + log i "Moving ES-DE downloaded_media, gamelist, and themes from \"$rdhome\" to \"$rdhome/ES-DE\" due to a RetroDECK Framework bug" + move "$rdhome/themes" "$rdhome/ES-DE/themes" && log d "Move of \"$rdhome/themes\" completed" + move "$rdhome/downloaded_media" "$rdhome/ES-DE/downloaded_media" && log d "Move of \"$rdhome/downloaded_media\" completed" + move "$rdhome/gamelists" "$rdhome/ES-DE/gamelists" && log d "Move of \"$rdhome/gamelists/\" completed" + log i "Since in this version we moved to a PR build of Ryujinx we need to symlink it." + ln -sv $ryujinxconf "$(dirname $ryujinxconf)/PRConfig.json" + fi + + if [[ $(check_version_is_older_than "0.8.3b") == "true" ]]; then + # In version 0.8.3b, the following changes were made: + # - Recovery from a failed move of the themes, downloaded_media and gamelists folder to their new ES-DE locations. + if [[ !-d "$rdhome/ES-DE/themes" || ! -d "$rdhome/ES-DE/downloaded_media" || ! -d "$rdhome/ES-DE/gamelists" ]]; then + log i "Moving ES-DE downloaded_media, gamelist, and themes from \"$rdhome\" to \"$rdhome/ES-DE\" due to a RetroDECK Framework bug" + if [[ -d "$rdhome/themes" && ! -d "$rdhome/ES-DE/themes" ]]; then + move "$rdhome/themes" "$rdhome/ES-DE/themes" && log d "Move of \"$rdhome/themes\" completed" + else + log i "ES-DE themes appears to already have been migrated." + fi + if [[ -d "$rdhome/downloaded_media" && ! -d "$rdhome/ES-DE/downloaded_media" ]]; then + move "$rdhome/downloaded_media" "$rdhome/ES-DE/downloaded_media" && log d "Move of \"$rdhome/downloaded_media\" completed" + else + log i "ES-DE downloaded media appears to already have been migrated." + fi + if [[ -d "$rdhome/gamelists" && ! -d "$rdhome/ES-DE/gamelists" ]]; then + move "$rdhome/gamelists" "$rdhome/ES-DE/gamelists" && log d "Move of \"$rdhome/gamelists/\" completed" + else + log i "ES-DE gamelists appears to already have been migrated." + fi + else + log i "ES-DE dfolders appears to already have been migrated." + fi fi # if [[ $(check_version_is_older_than "0.9.0b") == "true" ]]; then