From d188c4a43e51404be0a71f8f0be0d481cdc46a80 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Fri, 2 Aug 2024 10:22:36 +0900 Subject: [PATCH 01/29] POST_UPDATE: removing the main check --- functions/post_update.sh | 68 +++++++++++++++++++--------------------- 1 file changed, 33 insertions(+), 35 deletions(-) diff --git a/functions/post_update.sh b/functions/post_update.sh index 002d395c..a538c0b2 100644 --- a/functions/post_update.sh +++ b/functions/post_update.sh @@ -355,45 +355,43 @@ if [[ $(check_version_is_older_than "0.8.3b") == "true" ]]; then # - Recovery from a failed move of the themes, downloaded_media and gamelists folder to their new ES-DE locations. # Check if any of the directories exist - if [ -d "$rdhome/themes" ] || [ -d "$rdhome/downloaded_media" ] || [ -d "$rdhome/gamelists" ] || [ -d "$rdhome/collections" ]; then - log i "Moving ES-DE downloaded_media, gamelist, and themes from \"$rdhome\" to \"$rdhome/ES-DE\" due to a RetroDECK Framework bug" - # Ask user if they want to move and overwrite the data - if [[ $(configurator_generic_question_dialog "Move Data" "In the previous version some users suffered a bug where ES-DE appeared empty (no scraped data or collections for example).\n\nYour data is not gone!\n\nit's just in a different path.\n\nDo you want to recover your old data replacing the actual one?\nBy choosing no instead, the folder with be moved but no data will be replaced and it will be availalbe in the retrodeck folder.\n\nThe affected folders are:\n\nretrodeck/themes\t\t\t\t->\tretrodeck/ES-DE/themes\nretrodeck/downloaded_media\t->\tretrodeck/ES-DE/downloaded_media\nretrodeck/gamelists\t\t\t\t->\tretrodeck/ES-DE/gamelist\nretrodeck/collections\t\t\t->\tretrodeck/ES-DE/collections") == "true" ]]; then - move_cmd="mv -f" # Use mv with overwrite - log i "User chose to move and overwrite the data." - else - move_cmd="move" # Use existing move function - log i "User chose to move the data without overwriting." - fi + log i "Checking if ES-DE downloaded_media, gamelist, and themes folder must be migrated from \"$rdhome\" to \"$rdhome/ES-DE\" due to a RetroDECK Framework bug" - # Move each directory if it exists - if [[ -d "$rdhome/themes" ]]; then - $move_cmd "$rdhome/themes" "$rdhome/ES-DE/" && 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" ]]; then - $move_cmd "$rdhome/downloaded_media" "$rdhome/ES-DE/" && 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" ]]; then - $move_cmd "$rdhome/gamelists" "$rdhome/ES-DE/" && log d "Move of \"$rdhome/gamelists/\" completed" - else - log i "ES-DE gamelists appears to already have been migrated." - fi - - if [[ -d "$rdhome/collections" ]]; then - $move_cmd "$rdhome/collections" "$rdhome/ES-DE/" && log d "Move of \"$rdhome/collections/\" completed" - else - log i "ES-DE collections appears to already have been migrated." - fi + # Ask user if they want to move and overwrite the data + if [[ $(configurator_generic_question_dialog "Move Data" "In the previous version some users suffered a bug where ES-DE appeared empty (no scraped data or collections for example).\n\nYour data is not gone!\n\nit might just be in a different path.\n\nDo you want to recover your old data replacing the actual one?\nBy choosing no instead, the folder with be moved but no data will be replaced and it will be availalbe in the retrodeck folder.\n\nThe affected folders are:\n\nretrodeck/themes\t\t\t\t->\tretrodeck/ES-DE/themes\nretrodeck/downloaded_media\t->\tretrodeck/ES-DE/downloaded_media\nretrodeck/gamelists\t\t\t\t->\tretrodeck/ES-DE/gamelist\nretrodeck/collections\t\t\t->\tretrodeck/ES-DE/collections") == "true" ]]; then + move_cmd="mv -f" # Use mv with overwrite + log i "User chose to move and overwrite the data." else - log i "ES-DE folders appears to already have been migrated." + move_cmd="move" # Use existing move function + log i "User chose to move the data without overwriting." fi + + # Move each directory if it exists + if [[ -d "$rdhome/themes" ]]; then + $move_cmd "$rdhome/themes" "$rdhome/ES-DE/" && 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" ]]; then + $move_cmd "$rdhome/downloaded_media" "$rdhome/ES-DE/" && 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" ]]; then + $move_cmd "$rdhome/gamelists" "$rdhome/ES-DE/" && log d "Move of \"$rdhome/gamelists/\" completed" + else + log i "ES-DE gamelists appears to already have been migrated." + fi + + if [[ -d "$rdhome/collections" ]]; then + $move_cmd "$rdhome/collections" "$rdhome/ES-DE/" && log d "Move of \"$rdhome/collections/\" completed" + else + log i "ES-DE collections appears to already have been migrated." + fi + # Better to refresh the paths set_setting_value "$es_settings" "ROMDirectory" "$roms_folder" "es_settings" set_setting_value "$es_settings" "MediaDirectory" "$media_folder" "es_settings" From 800f021a3cfdaf3aec19a417bc1d9dfaf0c63343 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Fri, 2 Aug 2024 14:44:42 +0900 Subject: [PATCH 02/29] Rerouting some urls --- automation_tools/automation_task_list.cfg | 4 ++-- net.retrodeck.retrodeck.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/automation_tools/automation_task_list.cfg b/automation_tools/automation_task_list.cfg index 2284832c..8dbbdf1f 100644 --- a/automation_tools/automation_task_list.cfg +++ b/automation_tools/automation_task_list.cfg @@ -8,8 +8,8 @@ hash^MSXBIOSHASHPLACEHOLDER^http://bluemsx.msxblue.com/rel_download/blueMSXv282f hash^XEMUHDDHASHPLACEHOLDER^https://github.com/mborgerson/xemu-hdd-image/releases/latest/download/xbox_hdd.qcow2.zip hash^VITA3KSHAPLACEHOLDER^https://github.com/Vita3K/Vita3K/releases/download/continuous/ubuntu-latest.zip hash^RANIGHTLYCORESPLACEHOLDER^https://buildbot.libretro.com/nightly/linux/x86_64/RetroArch_cores.7z -hash^RETRODECKMAMEPLACEHOLDER^"https://github.com/XargonWan/RetroDECK-MAME/releases/download/$(curl -s https://api.github.com/repos/XargonWan/RetroDECK-MAME/releases/latest | grep -oP '"tag_name": "\K(.*?)(?=")')/RetroDECK-MAME-Artifact.tar.gz" -url^RETRODECKMAMEURLPLACEHOLDER^"https://github.com/XargonWan/RetroDECK-MAME/releases/download/$(curl -s https://api.github.com/repos/XargonWan/RetroDECK-MAME/releases/latest | grep -oP '"tag_name": "\K(.*?)(?=")')/RetroDECK-MAME-Artifact.tar.gz" +hash^RETRODECKMAMEPLACEHOLDER^"https://github.com/RetroDECK/MAME/releases/download/$(curl -s https://api.github.com/repos/XargonWan/RetroDECK-MAME/releases/latest | grep -oP '"tag_name": "\K(.*?)(?=")')/RetroDECK-MAME-Artifact.tar.gz" +url^RETRODECKMAMEURLPLACEHOLDER^"https://github.com/RetroDECK/MAME/releases/download/$(curl -s https://api.github.com/repos/XargonWan/RetroDECK-MAME/releases/latest | grep -oP '"tag_name": "\K(.*?)(?=")')/RetroDECK-MAME-Artifact.tar.gz" latestcommit^UNIVERSALDYNAMICINPUTCOMMITPLACEHOLDER^https://github.com/Venomalia/UniversalDynamicInput^main outside_file^VERSIONPLACEHOLDER^${GITHUB_WORKSPACE}/buildid branch^THISBRANCH diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index ed5c22fe..2ec8cb15 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -415,7 +415,7 @@ modules: - es-core sources: - type: git - url: https://github.com/XargonWan/RetroDECK-ES-DE + url: https://github.com/XargonWan/ES-DE branch: retrodeck-main - type: shell From 7019e6913a5486431d53dda3f31a5a6c9ee7351d Mon Sep 17 00:00:00 2001 From: XargonWan Date: Fri, 2 Aug 2024 15:14:57 +0900 Subject: [PATCH 03/29] POST_UPDATE: enhanced warning message and reset ES-DE --- functions/post_update.sh | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/functions/post_update.sh b/functions/post_update.sh index a538c0b2..3a5a2b7e 100644 --- a/functions/post_update.sh +++ b/functions/post_update.sh @@ -359,12 +359,12 @@ if [[ $(check_version_is_older_than "0.8.3b") == "true" ]]; then log i "Checking if ES-DE downloaded_media, gamelist, and themes folder must be migrated from \"$rdhome\" to \"$rdhome/ES-DE\" due to a RetroDECK Framework bug" # Ask user if they want to move and overwrite the data - if [[ $(configurator_generic_question_dialog "Move Data" "In the previous version some users suffered a bug where ES-DE appeared empty (no scraped data or collections for example).\n\nYour data is not gone!\n\nit might just be in a different path.\n\nDo you want to recover your old data replacing the actual one?\nBy choosing no instead, the folder with be moved but no data will be replaced and it will be availalbe in the retrodeck folder.\n\nThe affected folders are:\n\nretrodeck/themes\t\t\t\t->\tretrodeck/ES-DE/themes\nretrodeck/downloaded_media\t->\tretrodeck/ES-DE/downloaded_media\nretrodeck/gamelists\t\t\t\t->\tretrodeck/ES-DE/gamelist\nretrodeck/collections\t\t\t->\tretrodeck/ES-DE/collections") == "true" ]]; then + if [[ $(configurator_generic_question_dialog "Move Data" "In the previous version some users suffered a bug where ES-DE appeared empty (no scraped data or collections for example).\n\nYour data is not gone!\n\nit might just be in a different path.\n\nDo you want to recover your old data replacing the actual one and reset ES-DE?\nBy choosing no instead, the folders will still be moved but no data will be replaced and ES-DE will not be reset.\nYour data will still be availalbe in the retrodeck folder, outside of the ES-DE folder.\n\nThe affected folders are:\n\nretrodeck/themes\t\t\t\t->\tretrodeck/ES-DE/themes\nretrodeck/downloaded_media\t->\tretrodeck/ES-DE/downloaded_media\nretrodeck/gamelists\t\t\t\t->\tretrodeck/ES-DE/gamelist\nretrodeck/collections\t\t\t->\tretrodeck/ES-DE/collections") == "true" ]]; then move_cmd="mv -f" # Use mv with overwrite log i "User chose to move and overwrite the data." else move_cmd="move" # Use existing move function - log i "User chose to move the data without overwriting." + log i "User chose to move the data without overwriting and reseting ES-DE." fi # Move each directory if it exists @@ -392,10 +392,11 @@ if [[ $(check_version_is_older_than "0.8.3b") == "true" ]]; then log i "ES-DE collections appears to already have been migrated." fi - # Better to refresh the paths - set_setting_value "$es_settings" "ROMDirectory" "$roms_folder" "es_settings" - set_setting_value "$es_settings" "MediaDirectory" "$media_folder" "es_settings" - set_setting_value "$es_settings" "UserThemeDirectory" "$themes_folder" "es_settings" + if [[ "$move_cmd" == "mv -f" ]]; then # If the user decided to reset + prepare_component "reset" "es-de" + else + configurator_generic_dialog "RetroDECK Configurator - Move Data" "You decided to don't overwrite the files and not reset ES-DE, but be aware that this might cause issues.\n\nRetroDECk will now start." + fi fi From 54de671f5e5a048129aa78bec148191963dfe573 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Fri, 2 Aug 2024 16:29:29 +0900 Subject: [PATCH 04/29] AUTOMATION_TASK_LIST: fixed mame --- automation_tools/automation_task_list.cfg | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/automation_tools/automation_task_list.cfg b/automation_tools/automation_task_list.cfg index 8dbbdf1f..6c6889f1 100644 --- a/automation_tools/automation_task_list.cfg +++ b/automation_tools/automation_task_list.cfg @@ -8,8 +8,8 @@ hash^MSXBIOSHASHPLACEHOLDER^http://bluemsx.msxblue.com/rel_download/blueMSXv282f hash^XEMUHDDHASHPLACEHOLDER^https://github.com/mborgerson/xemu-hdd-image/releases/latest/download/xbox_hdd.qcow2.zip hash^VITA3KSHAPLACEHOLDER^https://github.com/Vita3K/Vita3K/releases/download/continuous/ubuntu-latest.zip hash^RANIGHTLYCORESPLACEHOLDER^https://buildbot.libretro.com/nightly/linux/x86_64/RetroArch_cores.7z -hash^RETRODECKMAMEPLACEHOLDER^"https://github.com/RetroDECK/MAME/releases/download/$(curl -s https://api.github.com/repos/XargonWan/RetroDECK-MAME/releases/latest | grep -oP '"tag_name": "\K(.*?)(?=")')/RetroDECK-MAME-Artifact.tar.gz" -url^RETRODECKMAMEURLPLACEHOLDER^"https://github.com/RetroDECK/MAME/releases/download/$(curl -s https://api.github.com/repos/XargonWan/RetroDECK-MAME/releases/latest | grep -oP '"tag_name": "\K(.*?)(?=")')/RetroDECK-MAME-Artifact.tar.gz" +hash^RETRODECKMAMEPLACEHOLDER^"https://github.com/RetroDECK/MAME/releases/download/$(curl -s https://api.github.com/repos/RetroDECK/MAME/releases/latest | grep -oP '"tag_name": "\K(.*?)(?=")')/RetroDECK-MAME-Artifact.tar.gz" +url^RETRODECKMAMEURLPLACEHOLDER^"https://github.com/RetroDECK/MAME/releases/download/$(curl -s https://api.github.com/repos/RetroDECK/MAME/releases/latest | grep -oP '"tag_name": "\K(.*?)(?=")')/RetroDECK-MAME-Artifact.tar.gz" latestcommit^UNIVERSALDYNAMICINPUTCOMMITPLACEHOLDER^https://github.com/Venomalia/UniversalDynamicInput^main outside_file^VERSIONPLACEHOLDER^${GITHUB_WORKSPACE}/buildid branch^THISBRANCH From ed0b5d3ea9b31ae5b1b12b19e3ca9e6e54932d6c Mon Sep 17 00:00:00 2001 From: XargonWan Date: Fri, 2 Aug 2024 17:06:26 +0900 Subject: [PATCH 05/29] AUTOMATION_TASK_LIST: fixed es-de --- net.retrodeck.retrodeck.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 2ec8cb15..a9082805 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -415,9 +415,8 @@ modules: - es-core sources: - type: git - url: https://github.com/XargonWan/ES-DE + url: https://github.com/RetroDECK/ES-DE branch: retrodeck-main - - type: shell # ES-DE - END From 9d9b3eeffea87dad27a18b24188628967d3f63e0 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Fri, 2 Aug 2024 23:32:56 +0900 Subject: [PATCH 06/29] WORKFLOW: moving to the new runner [skip ci] --- .github/workflows/cooker-selfhosted.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cooker-selfhosted.yml b/.github/workflows/cooker-selfhosted.yml index 411662b5..0c814482 100644 --- a/.github/workflows/cooker-selfhosted.yml +++ b/.github/workflows/cooker-selfhosted.yml @@ -30,7 +30,7 @@ on: jobs: Building_RetroDECK: - runs-on: self-hosted + runs-on: retrodeck steps: # Circumventing this bug: https://github.com/flatpak/flatpak-builder/issues/317 From d05bb8a37d66f55c4b047c6635bc2929574a4770 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Sat, 3 Aug 2024 09:31:37 +0900 Subject: [PATCH 07/29] REVERT ME: testing actions token --- .github/workflows/cooker-selfhosted.yml | 91 +++++++++++++------------ 1 file changed, 47 insertions(+), 44 deletions(-) diff --git a/.github/workflows/cooker-selfhosted.yml b/.github/workflows/cooker-selfhosted.yml index 0c814482..260b876e 100644 --- a/.github/workflows/cooker-selfhosted.yml +++ b/.github/workflows/cooker-selfhosted.yml @@ -97,49 +97,52 @@ jobs: - name: "[DEBUG] Outputting manifest" run: cat net.retrodeck.retrodeck.yml - - name: "Build flatpak: download only" - id: "flatpak-download" - run: "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/flatpak_build_download_only.sh" - continue-on-error: true + - name: ¨DEBUG - Creating dummy file" + run: touch RetroDECK-cooker.flatpak - # Sometimes flatpak download fails, in this case it tries a second time - - name: "Build flatpak: download only (retry)" - if: steps.flatpak-download.outcome == 'failure' - run: | - echo "Download failed, maybe some hash changed since the build start." - echo "Recalculating hashes and retrying download..." - rm -f "{GITHUB_WORKSPACE}/net.retrodeck.retrodeck.yml" - cp "${GITHUB_WORKSPACE}/net.retrodeck.retrodeck.yml.bak" "${GITHUB_WORKSPACE}/net.retrodeck.retrodeck.yml" - "${GITHUB_WORKSPACE}/automation_tools/pre_build_automation.sh" - "${GITHUB_WORKSPACE}/automation_tools/flatpak_build_download_only.sh" + # - name: "Build flatpak: download only" + # id: "flatpak-download" + # run: "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/flatpak_build_download_only.sh" + # continue-on-error: true - - name: Build flatpak - run: "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/flatpak_build_only.sh" + # # Sometimes flatpak download fails, in this case it tries a second time + # - name: "Build flatpak: download only (retry)" + # if: steps.flatpak-download.outcome == 'failure' + # run: | + # echo "Download failed, maybe some hash changed since the build start." + # echo "Recalculating hashes and retrying download..." + # rm -f "{GITHUB_WORKSPACE}/net.retrodeck.retrodeck.yml" + # cp "${GITHUB_WORKSPACE}/net.retrodeck.retrodeck.yml.bak" "${GITHUB_WORKSPACE}/net.retrodeck.retrodeck.yml" + # "${GITHUB_WORKSPACE}/automation_tools/pre_build_automation.sh" + # "${GITHUB_WORKSPACE}/automation_tools/flatpak_build_download_only.sh" - - name: Create Artifact for flathub - run: | - tar -czf ${GITHUB_WORKSPACE}/RetroDECK-Artifact-cooker.tar.gz -C ${GITHUB_WORKSPACE}/retrodeck-flatpak-cooker . - hash=($(sha256sum ${GITHUB_WORKSPACE}/RetroDECK-Artifact-cooker.tar.gz)) - echo $hash > ${GITHUB_WORKSPACE}/RetroDECK-Artifact-cooker.sha - mv -f RetroDECK-Artifact-cooker.* ${{ secrets.ARTIFACT_REPO }} - continue-on-error: true + # - name: Build flatpak + # run: "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/flatpak_build_only.sh" - - name: Create Bundle - run: "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/flatpak_build_bundle.sh" + # - name: Create Artifact for flathub + # run: | + # tar -czf ${GITHUB_WORKSPACE}/RetroDECK-Artifact-cooker.tar.gz -C ${GITHUB_WORKSPACE}/retrodeck-flatpak-cooker . + # hash=($(sha256sum ${GITHUB_WORKSPACE}/RetroDECK-Artifact-cooker.tar.gz)) + # echo $hash > ${GITHUB_WORKSPACE}/RetroDECK-Artifact-cooker.sha + # mv -f RetroDECK-Artifact-cooker.* ${{ secrets.ARTIFACT_REPO }} + # continue-on-error: true - - name: Set environment variable with current branch name - run: echo "GITHUB_REF_SLUG=$(git rev-parse --abbrev-ref HEAD)" >> $GITHUB_ENV + # - name: Create Bundle + # run: "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/flatpak_build_bundle.sh" - - name: Get commits since last release - run: | - # Get the latest release tag - LATEST_TAG=$(git describe --tags --abbrev=0) - # Get all commits since the latest release tag - COMMITS=$(git log $LATEST_TAG..HEAD --pretty=format:"- %s") - # Set the output variable - echo "::set-output name=commits::$COMMITS" - id: commits - continue-on-error: true + # - name: Set environment variable with current branch name + # run: echo "GITHUB_REF_SLUG=$(git rev-parse --abbrev-ref HEAD)" >> $GITHUB_ENV + + # - name: Get commits since last release + # run: | + # # Get the latest release tag + # LATEST_TAG=$(git describe --tags --abbrev=0) + # # Get all commits since the latest release tag + # COMMITS=$(git log $LATEST_TAG..HEAD --pretty=format:"- %s") + # # Set the output variable + # echo "::set-output name=commits::$COMMITS" + # id: commits + # continue-on-error: true - name: Publish the flatpak in a new cooker release uses: ncipollo/release-action@v1 @@ -176,13 +179,13 @@ jobs: git tag "${{ env.TAG }}" # Create the tag locally git push origin "${{ env.TAG }}" # Push the new tag in the remote repo - # In case it cannot publish the release at least it's providing the flatpak file for creating a manual release - - name: Upload RetroDECK-cooker.flatpak - uses: actions/upload-artifact@v3 - with: - name: retrodeck-flatpak - path: RetroDECK-cooker.flatpak - continue-on-error: true + # # In case it cannot publish the release at least it's providing the flatpak file for creating a manual release + # - name: Upload RetroDECK-cooker.flatpak + # uses: actions/upload-artifact@v3 + # with: + # name: retrodeck-flatpak + # path: RetroDECK-cooker.flatpak + # continue-on-error: true # - name: Upload RetroDECK-cooker.flatpak to Gitea Release # run: | From d251697b94057a49ae0966ae0083f802d254e6f7 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Sat, 3 Aug 2024 10:01:12 +0900 Subject: [PATCH 08/29] REVERT ME: testing actions token --- .github/workflows/cooker-selfhosted.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cooker-selfhosted.yml b/.github/workflows/cooker-selfhosted.yml index 260b876e..dd146de2 100644 --- a/.github/workflows/cooker-selfhosted.yml +++ b/.github/workflows/cooker-selfhosted.yml @@ -164,7 +164,7 @@ jobs: artifacts: "RetroDECK-cooker.flatpak,RetroDECK-cooker.flatpak.sha,RetroDECK-Artifact.tar.gz" allowUpdates: true makeLatest: ${{env.MAKE_LATEST}} # if it's a feat branch is not considered the latest build - token: ${{ secrets.TRIGGER_BUILD_TOKEN }} + token: ${{ secrets.RETRODECK_PAT }} repo: RetroDECK-cooker continue-on-error: true From ad15a358cb894c7f81ef8c26ea5a47ab7767c9f0 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Sat, 3 Aug 2024 10:09:06 +0900 Subject: [PATCH 09/29] Revert "REVERT ME: testing actions token" This reverts commit d05bb8a37d66f55c4b047c6635bc2929574a4770. --- .github/workflows/cooker-selfhosted.yml | 91 ++++++++++++------------- 1 file changed, 44 insertions(+), 47 deletions(-) diff --git a/.github/workflows/cooker-selfhosted.yml b/.github/workflows/cooker-selfhosted.yml index dd146de2..87ae0938 100644 --- a/.github/workflows/cooker-selfhosted.yml +++ b/.github/workflows/cooker-selfhosted.yml @@ -97,52 +97,49 @@ jobs: - name: "[DEBUG] Outputting manifest" run: cat net.retrodeck.retrodeck.yml - - name: ¨DEBUG - Creating dummy file" - run: touch RetroDECK-cooker.flatpak + - name: "Build flatpak: download only" + id: "flatpak-download" + run: "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/flatpak_build_download_only.sh" + continue-on-error: true - # - name: "Build flatpak: download only" - # id: "flatpak-download" - # run: "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/flatpak_build_download_only.sh" - # continue-on-error: true + # Sometimes flatpak download fails, in this case it tries a second time + - name: "Build flatpak: download only (retry)" + if: steps.flatpak-download.outcome == 'failure' + run: | + echo "Download failed, maybe some hash changed since the build start." + echo "Recalculating hashes and retrying download..." + rm -f "{GITHUB_WORKSPACE}/net.retrodeck.retrodeck.yml" + cp "${GITHUB_WORKSPACE}/net.retrodeck.retrodeck.yml.bak" "${GITHUB_WORKSPACE}/net.retrodeck.retrodeck.yml" + "${GITHUB_WORKSPACE}/automation_tools/pre_build_automation.sh" + "${GITHUB_WORKSPACE}/automation_tools/flatpak_build_download_only.sh" - # # Sometimes flatpak download fails, in this case it tries a second time - # - name: "Build flatpak: download only (retry)" - # if: steps.flatpak-download.outcome == 'failure' - # run: | - # echo "Download failed, maybe some hash changed since the build start." - # echo "Recalculating hashes and retrying download..." - # rm -f "{GITHUB_WORKSPACE}/net.retrodeck.retrodeck.yml" - # cp "${GITHUB_WORKSPACE}/net.retrodeck.retrodeck.yml.bak" "${GITHUB_WORKSPACE}/net.retrodeck.retrodeck.yml" - # "${GITHUB_WORKSPACE}/automation_tools/pre_build_automation.sh" - # "${GITHUB_WORKSPACE}/automation_tools/flatpak_build_download_only.sh" + - name: Build flatpak + run: "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/flatpak_build_only.sh" - # - name: Build flatpak - # run: "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/flatpak_build_only.sh" + - name: Create Artifact for flathub + run: | + tar -czf ${GITHUB_WORKSPACE}/RetroDECK-Artifact-cooker.tar.gz -C ${GITHUB_WORKSPACE}/retrodeck-flatpak-cooker . + hash=($(sha256sum ${GITHUB_WORKSPACE}/RetroDECK-Artifact-cooker.tar.gz)) + echo $hash > ${GITHUB_WORKSPACE}/RetroDECK-Artifact-cooker.sha + mv -f RetroDECK-Artifact-cooker.* ${{ secrets.ARTIFACT_REPO }} + continue-on-error: true - # - name: Create Artifact for flathub - # run: | - # tar -czf ${GITHUB_WORKSPACE}/RetroDECK-Artifact-cooker.tar.gz -C ${GITHUB_WORKSPACE}/retrodeck-flatpak-cooker . - # hash=($(sha256sum ${GITHUB_WORKSPACE}/RetroDECK-Artifact-cooker.tar.gz)) - # echo $hash > ${GITHUB_WORKSPACE}/RetroDECK-Artifact-cooker.sha - # mv -f RetroDECK-Artifact-cooker.* ${{ secrets.ARTIFACT_REPO }} - # continue-on-error: true + - name: Create Bundle + run: "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/flatpak_build_bundle.sh" - # - name: Create Bundle - # run: "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/flatpak_build_bundle.sh" + - name: Set environment variable with current branch name + run: echo "GITHUB_REF_SLUG=$(git rev-parse --abbrev-ref HEAD)" >> $GITHUB_ENV - # - name: Set environment variable with current branch name - # run: echo "GITHUB_REF_SLUG=$(git rev-parse --abbrev-ref HEAD)" >> $GITHUB_ENV - - # - name: Get commits since last release - # run: | - # # Get the latest release tag - # LATEST_TAG=$(git describe --tags --abbrev=0) - # # Get all commits since the latest release tag - # COMMITS=$(git log $LATEST_TAG..HEAD --pretty=format:"- %s") - # # Set the output variable - # echo "::set-output name=commits::$COMMITS" - # id: commits - # continue-on-error: true + - name: Get commits since last release + run: | + # Get the latest release tag + LATEST_TAG=$(git describe --tags --abbrev=0) + # Get all commits since the latest release tag + COMMITS=$(git log $LATEST_TAG..HEAD --pretty=format:"- %s") + # Set the output variable + echo "::set-output name=commits::$COMMITS" + id: commits + continue-on-error: true - name: Publish the flatpak in a new cooker release uses: ncipollo/release-action@v1 @@ -179,13 +176,13 @@ jobs: git tag "${{ env.TAG }}" # Create the tag locally git push origin "${{ env.TAG }}" # Push the new tag in the remote repo - # # In case it cannot publish the release at least it's providing the flatpak file for creating a manual release - # - name: Upload RetroDECK-cooker.flatpak - # uses: actions/upload-artifact@v3 - # with: - # name: retrodeck-flatpak - # path: RetroDECK-cooker.flatpak - # continue-on-error: true + # In case it cannot publish the release at least it's providing the flatpak file for creating a manual release + - name: Upload RetroDECK-cooker.flatpak + uses: actions/upload-artifact@v3 + with: + name: retrodeck-flatpak + path: RetroDECK-cooker.flatpak + continue-on-error: true # - name: Upload RetroDECK-cooker.flatpak to Gitea Release # run: | From 1392f468f0e142ac1c70944f434e89ac1a4bb358 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Sat, 3 Aug 2024 16:53:04 +0900 Subject: [PATCH 10/29] cooker-0.8.4b init --- functions/post_update.sh | 84 ++++++++++++++++++++--------- net.retrodeck.retrodeck.appdata.xml | 13 +++++ net.retrodeck.retrodeck.yml | 2 +- 3 files changed, 73 insertions(+), 26 deletions(-) diff --git a/functions/post_update.sh b/functions/post_update.sh index 3a5a2b7e..b4d8d23d 100644 --- a/functions/post_update.sh +++ b/functions/post_update.sh @@ -311,9 +311,9 @@ post_update() { log i "Moving ES-DE collections, downloaded_media, gamelist, and themes from \"$rdhome\" to \"$rdhome/ES-DE\"" set_setting_value "$es_settings" "MediaDirectory" "$rdhome/ES-DE/downloaded_media" "es_settings" set_setting_value "$es_settings" "UserThemeDirectory" "$rdhome/ES-DE/themes" "es_settings" - 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" + mv -f "$rdhome/themes" "$rdhome/ES-DE/themes" && log d "Move of \"$rdhome/themes\" in \"$rdhome/ES-DE\" folder completed" + mv -f "$rdhome/downloaded_media" "$rdhome/ES-DE/downloaded_media" && log d "Move of \"$rdhome/downloaded_media\" in \"$rdhome/ES-DE\" folder completed" + mv -f "$rdhome/gamelists/"* "$rdhome/ES-DE/gamelists" && log d "Move of \"$rdhome/gamelists/\" in \"$rdhome/ES-DE\" folder completed" && rm -rf "$rdhome/gamelists" log i "MAME-SA, migrating samples to the new exposed folder: from \"/var/data/mame/assets/samples\" to \"$bios_folder/mame-sa/samples\"" create_dir "$bios_folder/mame-sa/samples" @@ -342,10 +342,10 @@ post_update() { 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" - move "$rdhome/collections" "$rdhome/ES-DE/collections" && log d "Move of \"$rdhome/collections/\" completed" + move "$rdhome/themes" "$rdhome/ES-DE/themes" && log d "Move of \"$rdhome/themes\" in \"$rdhome/ES-DE\" folder completed" + move "$rdhome/downloaded_media" "$rdhome/ES-DE/downloaded_media" && log d "Move of \"$rdhome/downloaded_media\" in \"$rdhome/ES-DE\" folder completed" + move "$rdhome/gamelists" "$rdhome/ES-DE/gamelists" && log d "Move of \"$rdhome/gamelists/\" in \"$rdhome/ES-DE\" folder completed" + move "$rdhome/collections" "$rdhome/ES-DE/collections" && log d "Move of \"$rdhome/collections/\" in \"$rdhome/ES-DE\" folder 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 @@ -355,48 +355,82 @@ if [[ $(check_version_is_older_than "0.8.3b") == "true" ]]; then # - Recovery from a failed move of the themes, downloaded_media and gamelists folder to their new ES-DE locations. # Check if any of the directories exist + if [ -d "$rdhome/themes" ] || [ -d "$rdhome/downloaded_media" ] || [ -d "$rdhome/gamelists" ] || [ -d "$rdhome/collections" ]; then + log i "Moving ES-DE downloaded_media, gamelist, and themes from \"$rdhome\" to \"$rdhome/ES-DE\" due to a RetroDECK Framework bug" + + # Ask user if they want to move and overwrite the data + if [[ $(configurator_generic_question_dialog "Move Data" "In the previous version some users suffered a bug where ES-DE appeared empty (no scraped data or collections for example).\n\nYour data is not gone!\n\nit's just in a different path.\n\nDo you want to recover your old data replacing the actual one?\nBy choosing no instead, the folder with be moved but no data will be replaced and it will be availalbe in the retrodeck folder.\n\nThe affected folders are:\n\nretrodeck/themes\t\t\t\t->\t\"$rdhome/ES-DE\"/themes\nretrodeck/downloaded_media\t->\t\"$rdhome/ES-DE\"/downloaded_media\nretrodeck/gamelists\t\t\t\t->\t\"$rdhome/ES-DE\"/gamelist\nretrodeck/collections\t\t\t->\t\"$rdhome/ES-DE\"/collections") == "true" ]]; then + move_cmd="mv -f" # Use mv with overwrite + log i "User chose to move and overwrite the data." + else + move_cmd="move" # Use existing move function + log i "User chose to move the data without overwriting." + fi + + # Move each directory if it exists + if [[ -d "$rdhome/themes" ]]; then + mv -f "$rdhome/themes" "$rdhome/ES-DE/" && log d "Move of \"$rdhome/themes\" in \"$rdhome/ES-DE\" folder completed" + else + log i "ES-DE themes appears to already have been migrated." + fi + + if [[ -d "$rdhome/downloaded_media" ]]; then + mv -f "$rdhome/downloaded_media" "$rdhome/ES-DE/" && log d "Move of \"$rdhome/downloaded_media\" in \"$rdhome/ES-DE\" folder completed" + else + log i "ES-DE downloaded media appears to already have been migrated." + fi + + if [[ -d "$rdhome/gamelists" ]]; then + mv -f "$rdhome/gamelists" "$rdhome/ES-DE/" && log d "Move of \"$rdhome/gamelists/\" in \"$rdhome/ES-DE\" folder completed" + else + log i "ES-DE gamelists appears to already have been migrated." + fi + + if [[ -d "$rdhome/collections" ]]; then + mv -f "$rdhome/collections" "$rdhome/ES-DE/" && log d "Move of \"$rdhome/collections/\" in \"$rdhome/ES-DE\" folder completed" + else + log i "ES-DE collections appears to already have been migrated." + fi + else + log i "ES-DE folders appears to already have been migrated." + fi + # Better to refresh the paths + set_setting_value "$es_settings" "ROMDirectory" "$roms_folder" "es_settings" + set_setting_value "$es_settings" "MediaDirectory" "$media_folder" "es_settings" + set_setting_value "$es_settings" "UserThemeDirectory" "$themes_folder" "es_settings" +fi + +if [[ $(check_version_is_older_than "0.8.4b") == "true" ]]; then + # In version 0.8.4b, the following changes were made: + # - Recovery from a failed move of the themes, downloaded_media and gamelists folder to their new ES-DE locations (AGAIN) log i "Checking if ES-DE downloaded_media, gamelist, and themes folder must be migrated from \"$rdhome\" to \"$rdhome/ES-DE\" due to a RetroDECK Framework bug" - # Ask user if they want to move and overwrite the data - if [[ $(configurator_generic_question_dialog "Move Data" "In the previous version some users suffered a bug where ES-DE appeared empty (no scraped data or collections for example).\n\nYour data is not gone!\n\nit might just be in a different path.\n\nDo you want to recover your old data replacing the actual one and reset ES-DE?\nBy choosing no instead, the folders will still be moved but no data will be replaced and ES-DE will not be reset.\nYour data will still be availalbe in the retrodeck folder, outside of the ES-DE folder.\n\nThe affected folders are:\n\nretrodeck/themes\t\t\t\t->\tretrodeck/ES-DE/themes\nretrodeck/downloaded_media\t->\tretrodeck/ES-DE/downloaded_media\nretrodeck/gamelists\t\t\t\t->\tretrodeck/ES-DE/gamelist\nretrodeck/collections\t\t\t->\tretrodeck/ES-DE/collections") == "true" ]]; then - move_cmd="mv -f" # Use mv with overwrite - log i "User chose to move and overwrite the data." - else - move_cmd="move" # Use existing move function - log i "User chose to move the data without overwriting and reseting ES-DE." - fi - # Move each directory if it exists if [[ -d "$rdhome/themes" ]]; then - $move_cmd "$rdhome/themes" "$rdhome/ES-DE/" && log d "Move of \"$rdhome/themes\" completed" + mv -f "$rdhome/themes" "$rdhome/ES-DE/" && log d "Move of \"$rdhome/themes\" in \"$rdhome/ES-DE\" folder completed" else log i "ES-DE themes appears to already have been migrated." fi if [[ -d "$rdhome/downloaded_media" ]]; then - $move_cmd "$rdhome/downloaded_media" "$rdhome/ES-DE/" && log d "Move of \"$rdhome/downloaded_media\" completed" + mv -f "$rdhome/downloaded_media" "$rdhome/ES-DE/" && log d "Move of \"$rdhome/downloaded_media\" in \"$rdhome/ES-DE\" folder completed" else log i "ES-DE downloaded media appears to already have been migrated." fi if [[ -d "$rdhome/gamelists" ]]; then - $move_cmd "$rdhome/gamelists" "$rdhome/ES-DE/" && log d "Move of \"$rdhome/gamelists/\" completed" + mv -f "$rdhome/gamelists" "$rdhome/ES-DE/" && log d "Move of \"$rdhome/gamelists/\" in \"$rdhome/ES-DE\" folder completed" else log i "ES-DE gamelists appears to already have been migrated." fi if [[ -d "$rdhome/collections" ]]; then - $move_cmd "$rdhome/collections" "$rdhome/ES-DE/" && log d "Move of \"$rdhome/collections/\" completed" + mv -f "$rdhome/collections" "$rdhome/ES-DE/" && log d "Move of \"$rdhome/collections/\" in \"$rdhome/ES-DE\" folder completed" else log i "ES-DE collections appears to already have been migrated." fi - if [[ "$move_cmd" == "mv -f" ]]; then # If the user decided to reset - prepare_component "reset" "es-de" - else - configurator_generic_dialog "RetroDECK Configurator - Move Data" "You decided to don't overwrite the files and not reset ES-DE, but be aware that this might cause issues.\n\nRetroDECk will now start." - fi fi diff --git a/net.retrodeck.retrodeck.appdata.xml b/net.retrodeck.retrodeck.appdata.xml index c8d6445e..e771d77a 100644 --- a/net.retrodeck.retrodeck.appdata.xml +++ b/net.retrodeck.retrodeck.appdata.xml @@ -67,6 +67,19 @@ GPL-3.0 CC0-1.0 + + https://github.com/XargonWan/RetroDECK/releases/tag/0.8.4b + +

Bug fixes:

+
    +
  • FRAMEWORK: Fixed a bug where the ES-DE folders were not correctly migrated from retrodeck folder to retrodeck/ES-DE folder
  • +
+

Known issues:

+
    +
  • Please check the know issues in the Wiki under General Information
  • +
+
+
https://github.com/XargonWan/RetroDECK/releases/tag/0.8.3b diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index a9082805..989739bb 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -78,7 +78,7 @@ modules: # on main please update this with the version variable, eg: VERSION=0.8.0b # on cooker will be THISBRANCH - VERSION=cooker-0.8.3b + VERSION=cooker-0.8.4b git checkout ${GITHUB_REF_NAME} mkdir -p ${FLATPAK_DEST}/retrodeck/ From 5e354fdb44e9b8958106df495d04f583923ec380 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Sat, 3 Aug 2024 22:00:34 +0900 Subject: [PATCH 11/29] Fixing workflow token [skip ci] --- .github/workflows/cooker-selfhosted.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cooker-selfhosted.yml b/.github/workflows/cooker-selfhosted.yml index 87ae0938..0c814482 100644 --- a/.github/workflows/cooker-selfhosted.yml +++ b/.github/workflows/cooker-selfhosted.yml @@ -161,7 +161,7 @@ jobs: artifacts: "RetroDECK-cooker.flatpak,RetroDECK-cooker.flatpak.sha,RetroDECK-Artifact.tar.gz" allowUpdates: true makeLatest: ${{env.MAKE_LATEST}} # if it's a feat branch is not considered the latest build - token: ${{ secrets.RETRODECK_PAT }} + token: ${{ secrets.TRIGGER_BUILD_TOKEN }} repo: RetroDECK-cooker continue-on-error: true From 3f92c6f127d95ded5faf344fe181e8f49dbfe8ec Mon Sep 17 00:00:00 2001 From: XargonWan Date: Sun, 4 Aug 2024 21:55:58 +0900 Subject: [PATCH 12/29] POST_UPDATE: almost there to fix the ES-DE folder issue --- functions/post_update.sh | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/functions/post_update.sh b/functions/post_update.sh index b4d8d23d..935af404 100644 --- a/functions/post_update.sh +++ b/functions/post_update.sh @@ -404,6 +404,10 @@ if [[ $(check_version_is_older_than "0.8.4b") == "true" ]]; then # In version 0.8.4b, the following changes were made: # - Recovery from a failed move of the themes, downloaded_media and gamelists folder to their new ES-DE locations (AGAIN) + log d "Injecting the new retrodeck/ES-DE subdir into the retrodeck.cfg" + sed -i -e '/media_folder=/s|retrodeck/|retrodeck/ES-DE/|g' -e '/themes_folder=/s|retrodeck/|retrodeck/ES-DE/|g' "$rd_conf" && log d "Injection successful" + conf_read + log i "Checking if ES-DE downloaded_media, gamelist, and themes folder must be migrated from \"$rdhome\" to \"$rdhome/ES-DE\" due to a RetroDECK Framework bug" # Move each directory if it exists @@ -431,6 +435,10 @@ if [[ $(check_version_is_older_than "0.8.4b") == "true" ]]; then log i "ES-DE collections appears to already have been migrated." fi + # Setting the correct variables once again + set_setting_value "$es_settings" "MediaDirectory" "$media_folder" "es_settings" + set_setting_value "$es_settings" "UserThemeDirectory" "$themes_folder" "es_settings" + fi From 3b72cfdf60092855fb63a514ce54a39f9e5c217d Mon Sep 17 00:00:00 2001 From: Lazorne Date: Sun, 4 Aug 2024 13:16:51 +0000 Subject: [PATCH 13/29] Update other_licenses.txt Added more licenses --- other_licenses.txt | 486 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 483 insertions(+), 3 deletions(-) diff --git a/other_licenses.txt b/other_licenses.txt index 1b8073a9..94837c31 100644 --- a/other_licenses.txt +++ b/other_licenses.txt @@ -1,11 +1,13 @@ +--- RetroDECK 3rd Party Licences --- + All Licenses of the projects we are using are listed on the wiki: https://retrodeck.readthedocs.io/en/latest/wiki_about/donations-licenses/ If we have made some linkage errors or your license needs to be included in the projects github page please contact the RetroDECK Team on Discord or Matrix. ---- +--- Freedoom --- + -Freedoom https://github.com/freedoom/freedoom?tab=License-1-ov-file#readme Copyright © 2001-2024 Contributors to the Freedoom project. All rights reserved. @@ -22,6 +24,484 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” For a list of contributors to the Freedoom project, see the file CREDITS. ---- +--- Visual Pinball --- + + +https://github.com/vpinball/vpinball?tab=License-1-ov-file#readme + +IMPORTANT NOTE: +--------------- + +As of October 2020, we, the Visual Pinball team, are working on replacing +the inherited 'old MAME'-like license (listed directly below) by +the GPLv3+ License (listed at the very end of this file). + +Each source file/snippet that is already under GPLv3+ will have its +very first line marked with +// license:GPLv3+ +Every file/snippet that doesn't, will stay (for now) under the 'old MAME'-like license. + + +=============================================================================== +=============================================================================== +=============================================================================== + + +Unless otherwise explicitly stated (e.g. external libraries/code), +all code in Visual Pinball is released under the following license +(derived from the MAME license): + +Copyright Randy Davis and the Visual Pinball development team and contributors +All rights reserved. + +Redistribution and use of this code or any derivative works are permitted +provided that the following conditions are met: + +* Redistributions may not be sold, nor may they be used in a commercial +product or activity. + +* Redistributions that are modified from the original source must include the +complete source code, including the source code for all components used by a +binary built from the modified sources. However, as a special exception, the +source code distributed need not include anything that is normally distributed +(in either source or binary form) with the major components (compiler, kernel, +and so on) of the operating system on which the executable runs, unless that +component itself accompanies the executable. + +* Redistributions must reproduce the above copyright notice, this list of +conditions and the following disclaimer in the documentation and/or other +materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + + +=============================================================================== +=============================================================================== +=============================================================================== + +Thirdparty licenses: + +=============================================================================== + +This software uses the FreeImage open source image library. See http://freeimage.sourceforge.net for details. +FreeImage is used under the (GNU GPL or FIPL), version (license version), see http://freeimage.sourceforge.net/freeimage-license.txt for details. +The contents of this file are subject to the FreeImage Public License Version 1.0 (the "License"); you may not use this file except in compliance with the License. +Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. + +=============================================================================== + +It also uses BASS.DLL for loading and playing sound effects and music. +From the website https://www.un4seen.com/bass.html : +BASS is free for non-commercial use. +If you are a non-commercial entity (eg. an individual) and you are not making any money from your product (through sales, advertising, etc), +then you can use BASS in it for free. Otherwise, one of the following licences will be required (see website for current prices). + +=============================================================================== + +License for OpenVR (https://github.com/ValveSoftware/openvr) used in the GL/VR version of VPX: +Copyright (c) 2015, Valve Corporation +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation and/or +other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors +may be used to endorse or promote products derived from this software without +specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +=============================================================================== + +Simple DirectMedia Layer/SDL (used in the GL/VR version of VPX): +Copyright (C) 1997-2018 Sam Lantinga + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. + +=============================================================================== + + The FreeType Project LICENSE + ---------------------------- + + 2006-Jan-27 + + Copyright 1996-2002, 2006 by + David Turner, Robert Wilhelm, and Werner Lemberg + +Introduction +============ + + The FreeType Project is distributed in several archive packages; + some of them may contain, in addition to the FreeType font engine, + various tools and contributions which rely on, or relate to, the + FreeType Project. + + This license applies to all files found in such packages, and + which do not fall under their own explicit license. The license + affects thus the FreeType font engine, the test programs, + documentation and makefiles, at the very least. + + This license was inspired by the BSD, Artistic, and IJG + (Independent JPEG Group) licenses, which all encourage inclusion + and use of free software in commercial and freeware products + alike. As a consequence, its main points are that: + + o We don't promise that this software works. However, we will be + interested in any kind of bug reports. (`as is' distribution) + + o You can use this software for whatever you want, in parts or + full form, without having to pay us. (`royalty-free' usage) + + o You may not pretend that you wrote this software. If you use + it, or only parts of it, in a program, you must acknowledge + somewhere in your documentation that you have used the + FreeType code. (`credits') + + We specifically permit and encourage the inclusion of this + software, with or without modifications, in commercial products. + We disclaim all warranties covering The FreeType Project and + assume no liability related to The FreeType Project. + + Finally, many people asked us for a preferred form for a + credit/disclaimer to use in compliance with this license. We thus + encourage you to use the following text: + + """ + Portions of this software are copyright © The FreeType + Project (www.freetype.org). All rights reserved. + """ + + Please replace with the value from the FreeType version you + actually use. + +Legal Terms +=========== + +0. Definitions +-------------- + + Throughout this license, the terms `package', `FreeType Project', + and `FreeType archive' refer to the set of files originally + distributed by the authors (David Turner, Robert Wilhelm, and + Werner Lemberg) as the `FreeType Project', be they named as alpha, + beta or final release. + + `You' refers to the licensee, or person using the project, where + `using' is a generic term including compiling the project's source + code as well as linking it to form a `program' or `executable'. + This program is referred to as `a program using the FreeType + engine'. + + This license applies to all files distributed in the original + FreeType Project, including all source code, binaries and + documentation, unless otherwise stated in the file in its + original, unmodified form as distributed in the original archive. + If you are unsure whether or not a particular file is covered by + this license, you must contact us to verify this. + + The FreeType Project is copyright (C) 1996-2000 by David Turner, + Robert Wilhelm, and Werner Lemberg. All rights reserved except as + specified below. + +1. No Warranty +-------------- + + THE FREETYPE PROJECT IS PROVIDED `AS IS' WITHOUT WARRANTY OF ANY + KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE. IN NO EVENT WILL ANY OF THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY DAMAGES CAUSED BY THE USE OR THE INABILITY TO + USE, OF THE FREETYPE PROJECT. + +2. Redistribution +----------------- + + This license grants a worldwide, royalty-free, perpetual and + irrevocable right and license to use, execute, perform, compile, + display, copy, create derivative works of, distribute and + sublicense the FreeType Project (in both source and object code + forms) and derivative works thereof for any purpose; and to + authorize others to exercise some or all of the rights granted + herein, subject to the following conditions: + + o Redistribution of source code must retain this license file + (`FTL.TXT') unaltered; any additions, deletions or changes to + the original files must be clearly indicated in accompanying + documentation. The copyright notices of the unaltered, + original files must be preserved in all copies of source + files. + + o Redistribution in binary form must provide a disclaimer that + states that the software is based in part of the work of the + FreeType Team, in the distribution documentation. We also + encourage you to put an URL to the FreeType web page in your + documentation, though this isn't mandatory. + + These conditions apply to any software derived from or based on + the FreeType Project, not just the unmodified files. If you use + our work, you must acknowledge us. However, no fee need be paid + to us. + +3. Advertising +-------------- + + Neither the FreeType authors and contributors nor you shall use + the name of the other for commercial, advertising, or promotional + purposes without specific prior written permission. + + We suggest, but do not require, that you use one or more of the + following phrases to refer to this software in your documentation + or advertising materials: `FreeType Project', `FreeType Engine', + `FreeType library', or `FreeType Distribution'. + + As you have not signed this license, you are not required to + accept it. However, as the FreeType Project is copyrighted + material, only this license, or another one contracted with the + authors, grants you the right to use, distribute, and modify it. + Therefore, by using, distributing, or modifying the FreeType + Project, you indicate that you understand and accept all the terms + of this license. + +4. Contacts +----------- + + There are two mailing lists related to FreeType: + + o freetype@nongnu.org + + Discusses general use and applications of FreeType, as well as + future and wanted additions to the library and distribution. + If you are looking for support, start in this list if you + haven't found anything to help you in the documentation. + + o freetype-devel@nongnu.org + + Discusses bugs, as well as engine internals, design issues, + specific licenses, porting, etc. + + Our home page can be found at + + http://www.freetype.org + +=============================================================================== + +OpenGL used in the GL/VR version of VPX + +Copyright (c) 2008-2018 The Khronos Group Inc. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and/or associated documentation files (the +"Materials"), to deal in the Materials without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Materials, and to +permit persons to whom the Materials are furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Materials. + +THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. + +=============================================================================== + +OpenGL glad headers are Public Domain/WTFPL/CC0 https://github.com/Dav1dde/glad/issues/101 + +=============================================================================== + +OpenGL Stereo Rendering with less DrawCalls based on https://github.com/kondrak/oculusvr_samples used in the GL/VR version of VPX + +Copyright (c) 2016 Krzysztof Kondrak + +Permission is hereby granted, free of charge, to any +person obtaining a copy of this software and associated +documentation files (the "Software"), to deal in the +Software without restriction, including without +limitation the rights to use, copy, modify, merge, +publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software +is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice +shall be included in all copies or substantial portions +of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. + + +=============================================================================== +=============================================================================== +=============================================================================== + + +The GPLv3+ License: + +Copyright (C) 2000-2024 Visual Pinball development team and contributors + (unless specifically noted differently in a respective source file) + +Visual Pinball is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +Visual Pinball is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details: . + +--- The MAME License --- + + +https://docs.mamedev.org/license.html + +The MAME project as a whole is distributed under the terms of the GNU General Public License, version 2 or later (GPL-2.0+), since it contains code made available under multiple GPL-compatible licenses. A great majority of files (over 90% including core files) are under the 3-Clause BSD License and we would encourage new contributors to distribute files under this license. + +Please note that MAME is a registered trademark of Gregory Ember, and permission is required to use the “MAME” name, logo, or wordmark. + + Copyright (c) 1997-2024 MAMEDev and contributors + + This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Please see the license information for further details. + +--- Xenia --- + +Copyright (c) 2015, Ben Vanik. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the project nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL BEN VANIK BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +--- WINE --- + +https://github.com/wine-mirror/wine/blob/master/LICENSE + +Copyright (c) 1993-2024 the Wine project authors (see the file AUTHORS +for a complete list) + +Wine is free software; you can redistribute it and/or modify it under +the terms of the GNU Lesser General Public License as published by the +Free Software Foundation; either version 2.1 of the License, or (at +your option) any later version. + +This program is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +A copy of the GNU Lesser General Public License is included in the +Wine distribution in the file COPYING.LIB. If you did not receive this +copy, write to the Free Software Foundation, Inc., 51 Franklin St, +Fifth Floor, Boston, MA 02110-1301, USA. + +--- Proton --- + +https://github.com/ValveSoftware/Proton/blob/proton_9.0/LICENSE.proton +https://github.com/ValveSoftware/Proton/blob/proton_9.0/LICENSE + +Copyright (c) 2018-2022, Valve Corporation +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation and/or +other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors +may be used to endorse or promote products derived from this software without +specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. From 8d7fc44be71e0ef7a4ad0df173655e8a8575690a Mon Sep 17 00:00:00 2001 From: Lazorne Date: Sun, 4 Aug 2024 13:23:40 +0000 Subject: [PATCH 14/29] Update retrodeck_credits.txt Added MonkeyX to credits --- .../reference_lists/retrodeck_credits.txt | 64 ++++++++++++------- 1 file changed, 40 insertions(+), 24 deletions(-) diff --git a/emu-configs/defaults/retrodeck/reference_lists/retrodeck_credits.txt b/emu-configs/defaults/retrodeck/reference_lists/retrodeck_credits.txt index e2f0a385..65e61d59 100644 --- a/emu-configs/defaults/retrodeck/reference_lists/retrodeck_credits.txt +++ b/emu-configs/defaults/retrodeck/reference_lists/retrodeck_credits.txt @@ -1,56 +1,72 @@ The Team ---- - -XargonWan +--- XargonWan --- +About: RetroDECK project founder and also one of the founding members of AmberELEC. + +Pizza War: Grand General of the IPL (Italian Pizza Legion) also known as the Napoletanan Fist in the internal pizza war. ---- - -Lazorne +--- Lazorne --- +About: Community management/outreach, testing, documentation, emulator configurations, Steam Input and feature request / issue management. + +Pizza War: Meme Lord of the Wiki and also the cult leader of the NPC (The Nordic Pizza Cult) also called by the others as "The Pizza Heresy Cult" or "Harbingers of Pizza Chaos". Instigator of the internal pizza war. ---- +--- jiannazzone --- -jiannazzone +About: +Web Development, Community management/outreach, testing, documentation. -Web Development, Community management/outreach, testing, documentation. Have not choosen a side yet in the Pizza War. +Pizza War: +Pizza War refugee. ---- +--- IceNine451 --- -IceNine451 +About: +Creator of the RetroDECK configurator, bash genius, the RetroDECK Framework and various cool things. -Creator of the RetroDECK configurator, the RetroDECK Framework and various cool things. +Pizza War: Freedom loving leader of the MCCP (Murican Cheese Crust Patriots) in the internal pizza war. ---- - -Lx32 - +--- Lx32 --- +About: Develops various new features, functions and tools. + +Pizza War: 1st Commander of the IPL (Italian Pizza Legion) nicknamed Paladin al Taglio in the internal pizza war. ---- - -WallK +--- WallK --- +About: Checks GODOT and other things. -Pizza Mercenary ---- +Pizza War: +Pizza Mercenary that fights for all sides. -dottormac +--- dottormac --- +About: Does bleeding edge cooker testing (lives in the danger zone), some feature suggestions and design. ---- +Pizza War: +2nd Commander of the IPL (Italian Pizza Legion) nicknamed The Wrath of Siciliana in the internal pizza war. - We want give special thanks to: + +--- MonkeyX --- + +About: +Godot, Emulators and more things! + +Pizza War: +Wartime Pizza peace broker. + + +--- Special Thanks --- - Our Patreon and donors that keeps the build servers running and provide feedback. From 87a5a25cb3f6aba6c320a5792e7631d2135b9b35 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Mon, 5 Aug 2024 11:15:12 +0900 Subject: [PATCH 15/29] POST_UPDATE: almost there to fix the ES-DE folder issue, but there are issues --- functions/post_update.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/functions/post_update.sh b/functions/post_update.sh index 935af404..cab2cd80 100644 --- a/functions/post_update.sh +++ b/functions/post_update.sh @@ -404,9 +404,13 @@ if [[ $(check_version_is_older_than "0.8.4b") == "true" ]]; then # In version 0.8.4b, the following changes were made: # - Recovery from a failed move of the themes, downloaded_media and gamelists folder to their new ES-DE locations (AGAIN) + log d "Injecting the new retrodeck/ES-DE subdir into the retrodeck.cfg" sed -i -e '/media_folder=/s|retrodeck/|retrodeck/ES-DE/|g' -e '/themes_folder=/s|retrodeck/|retrodeck/ES-DE/|g' "$rd_conf" && log d "Injection successful" + log d "$(cat "$rd_conf" | grep media_folder)" + log d "$(cat "$rd_conf" | grep themes_folder)" conf_read + conf_write log i "Checking if ES-DE downloaded_media, gamelist, and themes folder must be migrated from \"$rdhome\" to \"$rdhome/ES-DE\" due to a RetroDECK Framework bug" From 2f90cd4c94581cc855fdfd0f32b19e034c34e8d1 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Mon, 5 Aug 2024 11:18:39 +0900 Subject: [PATCH 16/29] WORKFLOW: rofiles fix for the new runner --- .github/workflows/cooker-selfhosted.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cooker-selfhosted.yml b/.github/workflows/cooker-selfhosted.yml index 0c814482..80dbceab 100644 --- a/.github/workflows/cooker-selfhosted.yml +++ b/.github/workflows/cooker-selfhosted.yml @@ -35,7 +35,7 @@ jobs: # Circumventing this bug: https://github.com/flatpak/flatpak-builder/issues/317 - name: Remove stuck mounts - run: sudo umount -f /home/ubuntu/actions-runner/_work/RetroDECK/RetroDECK/.flatpak-builder/rofiles/* + run: sudo umount -f /home/ubuntu/retrodeck-runner/_work/RetroDECK/RetroDECK/.flatpak-builder/rofiles/* continue-on-error: true - name: Clone RetroDECK repo From 7a1c78bc6e8bbb38834fad5142453365c9f86077 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Mon, 5 Aug 2024 15:13:11 +0900 Subject: [PATCH 17/29] LOGGER: enhanced logging when writing or loading config [skip ci] --- functions/other_functions.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/functions/other_functions.sh b/functions/other_functions.sh index ca1c3fb4..f5d4d0ac 100644 --- a/functions/other_functions.sh +++ b/functions/other_functions.sh @@ -205,6 +205,7 @@ conf_read() { fi fi done < $rd_conf + log d "retrodeck.cfg loaded" } conf_write() { @@ -228,6 +229,7 @@ conf_write() { fi fi done < $rd_conf + log d "retrodeck.cfg written" } dir_prep() { From 382b63bc92cb1670f0e4d9bceb4b0d92c7576ac6 Mon Sep 17 00:00:00 2001 From: icenine451 Date: Mon, 5 Aug 2024 06:42:36 -0400 Subject: [PATCH 18/29] Changes to retrodeck.cfg variables were being lost in Zenity subshell --- functions/post_update.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/functions/post_update.sh b/functions/post_update.sh index cab2cd80..9650e388 100644 --- a/functions/post_update.sh +++ b/functions/post_update.sh @@ -404,7 +404,6 @@ if [[ $(check_version_is_older_than "0.8.4b") == "true" ]]; then # In version 0.8.4b, the following changes were made: # - Recovery from a failed move of the themes, downloaded_media and gamelists folder to their new ES-DE locations (AGAIN) - log d "Injecting the new retrodeck/ES-DE subdir into the retrodeck.cfg" sed -i -e '/media_folder=/s|retrodeck/|retrodeck/ES-DE/|g' -e '/themes_folder=/s|retrodeck/|retrodeck/ES-DE/|g' "$rd_conf" && log d "Injection successful" log d "$(cat "$rd_conf" | grep media_folder)" @@ -488,6 +487,7 @@ fi --width=400 --height=200 \ --text="RetroDECK is finishing up the upgrading process, please be patient.\n\nNOTICE - If the process is taking too long:\n\nSome windows might be running in the background that could require your attention: pop-ups from emulators or the upgrade itself that needs user input to continue.\n\n" + conf_read version=$hard_version conf_write From 10ec0c81ac1237d2e6141275e77a05750c65005c Mon Sep 17 00:00:00 2001 From: icenine451 Date: Mon, 5 Aug 2024 06:44:55 -0400 Subject: [PATCH 19/29] Revert "Changes to retrodeck.cfg variables were being lost in Zenity subshell" This reverts commit 382b63bc92cb1670f0e4d9bceb4b0d92c7576ac6. --- functions/post_update.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/functions/post_update.sh b/functions/post_update.sh index 9650e388..cab2cd80 100644 --- a/functions/post_update.sh +++ b/functions/post_update.sh @@ -404,6 +404,7 @@ if [[ $(check_version_is_older_than "0.8.4b") == "true" ]]; then # In version 0.8.4b, the following changes were made: # - Recovery from a failed move of the themes, downloaded_media and gamelists folder to their new ES-DE locations (AGAIN) + log d "Injecting the new retrodeck/ES-DE subdir into the retrodeck.cfg" sed -i -e '/media_folder=/s|retrodeck/|retrodeck/ES-DE/|g' -e '/themes_folder=/s|retrodeck/|retrodeck/ES-DE/|g' "$rd_conf" && log d "Injection successful" log d "$(cat "$rd_conf" | grep media_folder)" @@ -487,7 +488,6 @@ fi --width=400 --height=200 \ --text="RetroDECK is finishing up the upgrading process, please be patient.\n\nNOTICE - If the process is taking too long:\n\nSome windows might be running in the background that could require your attention: pop-ups from emulators or the upgrade itself that needs user input to continue.\n\n" - conf_read version=$hard_version conf_write From bcf432eb7aff0a79c7ffb777e9bf69c0377feb24 Mon Sep 17 00:00:00 2001 From: icenine451 Date: Mon, 5 Aug 2024 06:51:12 -0400 Subject: [PATCH 20/29] Changes to retrodeck.cfg variables were being lost in Zenity subshell --- functions/post_update.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/functions/post_update.sh b/functions/post_update.sh index cab2cd80..67545017 100644 --- a/functions/post_update.sh +++ b/functions/post_update.sh @@ -488,6 +488,7 @@ fi --width=400 --height=200 \ --text="RetroDECK is finishing up the upgrading process, please be patient.\n\nNOTICE - If the process is taking too long:\n\nSome windows might be running in the background that could require your attention: pop-ups from emulators or the upgrade itself that needs user input to continue.\n\n" + conf_read version=$hard_version conf_write From 57db0d885ee3188ab3b5df9901e02edd4c6b5316 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Mon, 5 Aug 2024 22:34:13 +0900 Subject: [PATCH 21/29] CONF_READ: testing to export all the variables globally --- functions/other_functions.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/functions/other_functions.sh b/functions/other_functions.sh index f5d4d0ac..9bbbaaae 100644 --- a/functions/other_functions.sh +++ b/functions/other_functions.sh @@ -201,6 +201,7 @@ conf_read() { local current_setting_name=$(get_setting_name "$current_setting_line" "retrodeck") # Read the variable name from the current line local current_setting_value=$(get_setting_value "$rd_conf" "$current_setting_name" "retrodeck" "$current_section") # Read the variables value from retrodeck.cfg declare -g "$current_setting_name=$current_setting_value" # Write the current setting name and value to memory + export "$current_setting_name" fi fi fi From 2b3eb346ff76fb4c08973fddb91a9498a5b3ebf9 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Tue, 6 Aug 2024 11:08:54 +0900 Subject: [PATCH 22/29] FRAMEWORK: fixing online updater to point to the new org/repo --- functions/checks.sh | 6 +++--- functions/global.sh | 6 ++++-- retrodeck.sh | 2 +- tools/configurator.sh | 2 +- 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/functions/checks.sh b/functions/checks.sh index d0a60f73..9d1de11d 100644 --- a/functions/checks.sh +++ b/functions/checks.sh @@ -44,10 +44,10 @@ check_for_version_update() { log d "Entering funtcion check_for_version_update" - wget -q --spider "https://api.github.com/repos/XargonWan/$update_repo/releases/latest" + wget -q --spider "https://api.github.com/repos/$git_organization_name/$update_repo/releases/latest" if [ $? -eq 0 ]; then - local online_version=$(curl --silent "https://api.github.com/repos/XargonWan/$update_repo/releases/latest" | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/') + local online_version=$(curl --silent "https://api.github.com/repos/$git_organization_name/$update_repo/releases/latest" | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/') if [[ ! "$update_ignore" == "$online_version" ]]; then if [[ "$update_repo" == "RetroDECK" ]] && [[ $(sed -e 's/[\.a-z]//g' <<< $version) -le $(sed -e 's/[\.a-z]//g' <<< $online_version) ]]; then @@ -83,7 +83,7 @@ check_for_version_update() { log i "Selected: \"OK\"" set_setting_value $rd_conf "update_ignore" "$online_version" retrodeck "options" # Store version to ignore for future checks fi - elif [[ "$update_repo" == "RetroDECK-cooker" ]] && [[ ! $version == $online_version ]]; then + elif [[ "$update_repo" == "$cooker_repository_name" ]] && [[ ! $version == $online_version ]]; then log i "Showing update request dialog as \"$online_version\" was found and is greater then \"$version\"" choice=$(rd_zenity --icon-name=net.retrodeck.retrodeck --info --no-wrap --ok-label="Yes" --extra-button="No" --extra-button="Ignore this version" \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ diff --git a/functions/global.sh b/functions/global.sh index 52db4426..8623902f 100644 --- a/functions/global.sh +++ b/functions/global.sh @@ -49,6 +49,8 @@ RA_API_URL="https://retroachievements.org/dorequest.php" presets_dir="$emuconfigs/defaults/retrodeck/presets" # Repository for all system preset config files incompatible_presets_reference_list="$emuconfigs/defaults/retrodeck/reference_lists/incompatible_presets.cfg" # A config file listing all incompatible presets for reference (eg. cannot have borders and widescreen enabled simultaniously) pretty_system_names_reference_list="$emuconfigs/defaults/retrodeck/reference_lists/pretty_system_names.cfg" # An internal translation list for turning internal names (eg. gbc) to "pretty" names (Nintendo GameBoy Color) +git_organization_name="RetroDECK" # The name of the organization in our git repository such as GitHub +cooker_repository_name="Cooker" # The name of the cooker repository under RetroDECK organization # Godot data transfer temp files @@ -176,7 +178,7 @@ if [[ ! -f "$rd_conf" ]]; then set_setting_value $rd_conf "sdcard" "$default_sd" retrodeck "paths" # Set SD card location if default path has changed if grep -qF "cooker" <<< "$hard_version" || grep -qF "PR-" <<< "$hard_version"; then # If newly-installed version is a "cooker" or PR build - set_setting_value $rd_conf "update_repo" "RetroDECK-cooker" retrodeck "options" + set_setting_value $rd_conf "update_repo" "$cooker_repository_name" retrodeck "options" set_setting_value $rd_conf "update_check" "true" retrodeck "options" set_setting_value $rd_conf "developer_options" "true" retrodeck "options" fi @@ -193,7 +195,7 @@ else log i "Loading it" if grep -qF "cooker" <<< $hard_version; then # If newly-installed version is a "cooker" build - set_setting_value $rd_conf "update_repo" "RetroDECK-cooker" retrodeck "options" + set_setting_value $rd_conf "update_repo" "$cooker_repository_name" retrodeck "options" set_setting_value $rd_conf "update_check" "true" retrodeck "options" set_setting_value $rd_conf "developer_options" "true" retrodeck "options" fi diff --git a/retrodeck.sh b/retrodeck.sh index b2ef5a7e..1c2b1f85 100644 --- a/retrodeck.sh +++ b/retrodeck.sh @@ -109,7 +109,7 @@ if [ -f "$lockfile" ]; then if grep -qF "cooker" <<< $hard_version; then # If newly-installed version is a "cooker" build log d "Newly-installed version is a \"cooker\" build" configurator_generic_dialog "RetroDECK Cooker Warning" "RUNNING COOKER VERSIONS OF RETRODECK CAN BE EXTREMELY DANGEROUS AND ALL OF YOUR RETRODECK DATA\n(INCLUDING BIOS FILES, BORDERS, DOWNLOADED MEDIA, GAMELISTS, MODS, ROMS, SAVES, STATES, SCREENSHOTS, TEXTURE PACKS AND THEMES)\nARE AT RISK BY CONTINUING!" - set_setting_value $rd_conf "update_repo" "RetroDECK-cooker" retrodeck "options" + set_setting_value $rd_conf "update_repo" "$cooker_repository_name" retrodeck "options" set_setting_value $rd_conf "update_check" "true" retrodeck "options" set_setting_value $rd_conf "developer_options" "true" retrodeck "options" cooker_base_version=$(echo $hard_version | cut -d'-' -f2) diff --git a/tools/configurator.sh b/tools/configurator.sh index 27514d6a..c2d455e0 100644 --- a/tools/configurator.sh +++ b/tools/configurator.sh @@ -1367,7 +1367,7 @@ configurator_online_update_channel_dialog() { if [ $? == 0 ] # User clicked "Yes" then - set_setting_value $rd_conf "update_repo" "RetroDECK-cooker" retrodeck "options" + set_setting_value $rd_conf "update_repo" "$cooker_repository_name" retrodeck "options" else # User clicked "Cancel" configurator_developer_dialog fi From b137b8984e8f0f4794a1df3d0541c11cb025bc3c Mon Sep 17 00:00:00 2001 From: XargonWan Date: Sun, 4 Aug 2024 22:07:41 +0900 Subject: [PATCH 23/29] WORKFLOW: targetting the old repo for the release --- .github/workflows/cooker-selfhosted.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cooker-selfhosted.yml b/.github/workflows/cooker-selfhosted.yml index 80dbceab..37bf8bce 100644 --- a/.github/workflows/cooker-selfhosted.yml +++ b/.github/workflows/cooker-selfhosted.yml @@ -162,7 +162,7 @@ jobs: allowUpdates: true makeLatest: ${{env.MAKE_LATEST}} # if it's a feat branch is not considered the latest build token: ${{ secrets.TRIGGER_BUILD_TOKEN }} - repo: RetroDECK-cooker + repo: Cooker continue-on-error: true - name: Rewrite Tag From 190cfa3b787a923ea6f814d82db253dc43ef3481 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Tue, 6 Aug 2024 20:07:57 +0900 Subject: [PATCH 24/29] ES-DE: pointing to a static commit before 0.9.0b additions [skip ci] --- net.retrodeck.retrodeck.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 989739bb..19ea5732 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -416,7 +416,7 @@ modules: sources: - type: git url: https://github.com/RetroDECK/ES-DE - branch: retrodeck-main + branch: 6fca5df93116a2be3028aab89850a2f5be3eb6e4 # ES-DE - END From 99daaa888f6e52bcc196d49e2715c44a4ca2b1f9 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Thu, 8 Aug 2024 14:34:57 +0900 Subject: [PATCH 25/29] POST_UPDATE: solving a bug where ES-DE path was placed twice in some occasions --- functions/post_update.sh | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/functions/post_update.sh b/functions/post_update.sh index 67545017..5466cd04 100644 --- a/functions/post_update.sh +++ b/functions/post_update.sh @@ -406,7 +406,13 @@ if [[ $(check_version_is_older_than "0.8.4b") == "true" ]]; then log d "Injecting the new retrodeck/ES-DE subdir into the retrodeck.cfg" - sed -i -e '/media_folder=/s|retrodeck/|retrodeck/ES-DE/|g' -e '/themes_folder=/s|retrodeck/|retrodeck/ES-DE/|g' "$rd_conf" && log d "Injection successful" + # Check if ES-DE already exists in media_folder or themes_folder + if grep -E '^(media_folder|themes_folder)=.*ES-DE' "$rd_conf"; then + log d "ES-DE path already exists in media_folder or themes_folder" + else + # Update the paths if ES-DE does not exist + sed -i -e '/media_folder=/s|retrodeck/|retrodeck/ES-DE/|g' -e '/themes_folder=/s|retrodeck/|retrodeck/ES-DE/|g' "$rd_conf" && log d "Injection successful" + fi log d "$(cat "$rd_conf" | grep media_folder)" log d "$(cat "$rd_conf" | grep themes_folder)" conf_read From 236f2b32f4fc0de488d8204c1643c223e0f3ddfc Mon Sep 17 00:00:00 2001 From: icenine451 Date: Thu, 8 Aug 2024 14:05:05 -0400 Subject: [PATCH 26/29] Add forced upgrade test CLI command and fix inccorect version usage for cooker upgrade logic --- retrodeck.sh | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/retrodeck.sh b/retrodeck.sh index 1c2b1f85..169b5da9 100644 --- a/retrodeck.sh +++ b/retrodeck.sh @@ -87,6 +87,16 @@ https://retrodeck.net exit fi ;; + --test-upgrade*) + echo "You are about to test upgrading RetroDECK from version $2 to $hard_version" + read -p "Enter 'y' to continue, 'n' to start RetroDECK normally: " response + if [[ $response == [yY] ]]; then + version="$2" + shift + else + shift + fi + ;; -*|--*) echo "Unknown option $i" exit 1 @@ -100,10 +110,10 @@ https://retrodeck.net esac done -log d "Update triggered" # if lockfile exists if [ -f "$lockfile" ]; then if [ "$hard_version" != "$version" ]; then + log d "Update triggered" log d "Lockfile found but the version doesn't match with the config file" log i "Config file's version is $version but the actual version is $hard_version" if grep -qF "cooker" <<< $hard_version; then # If newly-installed version is a "cooker" build @@ -112,7 +122,7 @@ if [ -f "$lockfile" ]; then set_setting_value $rd_conf "update_repo" "$cooker_repository_name" retrodeck "options" set_setting_value $rd_conf "update_check" "true" retrodeck "options" set_setting_value $rd_conf "developer_options" "true" retrodeck "options" - cooker_base_version=$(echo $hard_version | cut -d'-' -f2) + cooker_base_version=$(echo $version | cut -d'-' -f2) choice=$(rd_zenity --icon-name=net.retrodeck.retrodeck --info --no-wrap --ok-label="Upgrade" --extra-button="Don't Upgrade" --extra-button="Full Wipe and Fresh Install" \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --title "RetroDECK Cooker Upgrade" \ From 524df866396873be3ca633947cceb29eeb837b42 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Sat, 10 Aug 2024 20:56:05 +0900 Subject: [PATCH 27/29] POST_UPODATE: trying a new move folder approach --- functions/post_update.sh | 33 +++++++++++++++++++++------------ 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/functions/post_update.sh b/functions/post_update.sh index 5466cd04..b530ad34 100644 --- a/functions/post_update.sh +++ b/functions/post_update.sh @@ -400,12 +400,13 @@ if [[ $(check_version_is_older_than "0.8.3b") == "true" ]]; then set_setting_value "$es_settings" "UserThemeDirectory" "$themes_folder" "es_settings" fi +# Check if the version is older than 0.8.4b if [[ $(check_version_is_older_than "0.8.4b") == "true" ]]; then # In version 0.8.4b, the following changes were made: - # - Recovery from a failed move of the themes, downloaded_media and gamelists folder to their new ES-DE locations (AGAIN) - + # - Recovery from a failed move of the themes, downloaded_media, and gamelists folder to their new ES-DE locations (AGAIN) log d "Injecting the new retrodeck/ES-DE subdir into the retrodeck.cfg" + # Check if ES-DE already exists in media_folder or themes_folder if grep -E '^(media_folder|themes_folder)=.*ES-DE' "$rd_conf"; then log d "ES-DE path already exists in media_folder or themes_folder" @@ -413,8 +414,8 @@ if [[ $(check_version_is_older_than "0.8.4b") == "true" ]]; then # Update the paths if ES-DE does not exist sed -i -e '/media_folder=/s|retrodeck/|retrodeck/ES-DE/|g' -e '/themes_folder=/s|retrodeck/|retrodeck/ES-DE/|g' "$rd_conf" && log d "Injection successful" fi - log d "$(cat "$rd_conf" | grep media_folder)" - log d "$(cat "$rd_conf" | grep themes_folder)" + log d "$(grep media_folder "$rd_conf")" + log d "$(grep themes_folder "$rd_conf")" conf_read conf_write @@ -422,27 +423,35 @@ if [[ $(check_version_is_older_than "0.8.4b") == "true" ]]; then # Move each directory if it exists if [[ -d "$rdhome/themes" ]]; then - mv -f "$rdhome/themes" "$rdhome/ES-DE/" && log d "Move of \"$rdhome/themes\" in \"$rdhome/ES-DE\" folder completed" + rsync -av --remove-source-files "$rdhome/themes/" "$rdhome/ES-DE/" && log d "Move of \"$rdhome/themes\" in \"$rdhome/ES-DE\" folder completed" + # Remove the empty source directory + find "$rdhome/themes" -type d -empty -delete && log d "Removed empty directory \"$rdhome/themes\"." else - log i "ES-DE themes appears to already have been migrated." + log i "ES-DE themes appear to have already been migrated." fi if [[ -d "$rdhome/downloaded_media" ]]; then - mv -f "$rdhome/downloaded_media" "$rdhome/ES-DE/" && log d "Move of \"$rdhome/downloaded_media\" in \"$rdhome/ES-DE\" folder completed" + rsync -av --remove-source-files "$rdhome/downloaded_media/" "$rdhome/ES-DE/" && log d "Move of \"$rdhome/downloaded_media\" in \"$rdhome/ES-DE\" folder completed" + # Remove the empty source directory + find "$rdhome/downloaded_media" -type d -empty -delete && log d "Removed empty directory \"$rdhome/downloaded_media\"." else - log i "ES-DE downloaded media appears to already have been migrated." + log i "ES-DE downloaded media appears to have already been migrated." fi if [[ -d "$rdhome/gamelists" ]]; then - mv -f "$rdhome/gamelists" "$rdhome/ES-DE/" && log d "Move of \"$rdhome/gamelists/\" in \"$rdhome/ES-DE\" folder completed" + rsync -av --remove-source-files "$rdhome/gamelists/" "$rdhome/ES-DE/" && log d "Move of \"$rdhome/gamelists/\" in \"$rdhome/ES-DE\" folder completed" + # Remove the empty source directory + find "$rdhome/gamelists" -type d -empty -delete && log d "Removed empty directory \"$rdhome/gamelists\"." else - log i "ES-DE gamelists appears to already have been migrated." + log i "ES-DE gamelists appear to have already been migrated." fi if [[ -d "$rdhome/collections" ]]; then - mv -f "$rdhome/collections" "$rdhome/ES-DE/" && log d "Move of \"$rdhome/collections/\" in \"$rdhome/ES-DE\" folder completed" + rsync -av --remove-source-files "$rdhome/collections/" "$rdhome/ES-DE/" && log d "Move of \"$rdhome/collections/\" in \"$rdhome/ES-DE\" folder completed" + # Remove the empty source directory + find "$rdhome/collections" -type d -empty -delete && log d "Removed empty directory \"$rdhome/collections\"." else - log i "ES-DE collections appears to already have been migrated." + log i "ES-DE collections appear to have already been migrated." fi # Setting the correct variables once again From d4337ec6a9c4d56c1d6d953cf478a201ac539fce Mon Sep 17 00:00:00 2001 From: XargonWan Date: Sun, 11 Aug 2024 21:41:05 +0900 Subject: [PATCH 28/29] POST_UPDATE: trying a new move folder approach - second try --- functions/post_update.sh | 27 +++++++++++---------------- 1 file changed, 11 insertions(+), 16 deletions(-) diff --git a/functions/post_update.sh b/functions/post_update.sh index b530ad34..d9199f94 100644 --- a/functions/post_update.sh +++ b/functions/post_update.sh @@ -403,10 +403,9 @@ fi # Check if the version is older than 0.8.4b if [[ $(check_version_is_older_than "0.8.4b") == "true" ]]; then # In version 0.8.4b, the following changes were made: - # - Recovery from a failed move of the themes, downloaded_media, and gamelists folder to their new ES-DE locations (AGAIN) + # - Recovery from a failed move of the themes, downloaded_media and gamelists folder to their new ES-DE locations (AGAIN) log d "Injecting the new retrodeck/ES-DE subdir into the retrodeck.cfg" - # Check if ES-DE already exists in media_folder or themes_folder if grep -E '^(media_folder|themes_folder)=.*ES-DE' "$rd_conf"; then log d "ES-DE path already exists in media_folder or themes_folder" @@ -421,35 +420,31 @@ if [[ $(check_version_is_older_than "0.8.4b") == "true" ]]; then log i "Checking if ES-DE downloaded_media, gamelist, and themes folder must be migrated from \"$rdhome\" to \"$rdhome/ES-DE\" due to a RetroDECK Framework bug" - # Move each directory if it exists + # Use rsync to merge directories and overwrite existing files if [[ -d "$rdhome/themes" ]]; then - rsync -av --remove-source-files "$rdhome/themes/" "$rdhome/ES-DE/" && log d "Move of \"$rdhome/themes\" in \"$rdhome/ES-DE\" folder completed" - # Remove the empty source directory - find "$rdhome/themes" -type d -empty -delete && log d "Removed empty directory \"$rdhome/themes\"." + rsync -a "$rdhome/themes/" "$rdhome/ES-DE/themes/" && log d "Move of \"$rdhome/themes\" to \"$rdhome/ES-DE/themes\" completed" + rm -rf "$rdhome/themes" # Remove the original directory after merging else log i "ES-DE themes appear to have already been migrated." fi if [[ -d "$rdhome/downloaded_media" ]]; then - rsync -av --remove-source-files "$rdhome/downloaded_media/" "$rdhome/ES-DE/" && log d "Move of \"$rdhome/downloaded_media\" in \"$rdhome/ES-DE\" folder completed" - # Remove the empty source directory - find "$rdhome/downloaded_media" -type d -empty -delete && log d "Removed empty directory \"$rdhome/downloaded_media\"." + rsync -a "$rdhome/downloaded_media/" "$rdhome/ES-DE/downloaded_media/" && log d "Move of \"$rdhome/downloaded_media\" to \"$rdhome/ES-DE/downloaded_media\" completed" + rm -rf "$rdhome/downloaded_media" # Remove the original directory after merging else - log i "ES-DE downloaded media appears to have already been migrated." + log i "ES-DE downloaded media appear to have already been migrated." fi if [[ -d "$rdhome/gamelists" ]]; then - rsync -av --remove-source-files "$rdhome/gamelists/" "$rdhome/ES-DE/" && log d "Move of \"$rdhome/gamelists/\" in \"$rdhome/ES-DE\" folder completed" - # Remove the empty source directory - find "$rdhome/gamelists" -type d -empty -delete && log d "Removed empty directory \"$rdhome/gamelists\"." + rsync -a "$rdhome/gamelists/" "$rdhome/ES-DE/gamelists/" && log d "Move of \"$rdhome/gamelists\" to \"$rdhome/ES-DE/gamelists\" completed" + rm -rf "$rdhome/gamelists" # Remove the original directory after merging else log i "ES-DE gamelists appear to have already been migrated." fi if [[ -d "$rdhome/collections" ]]; then - rsync -av --remove-source-files "$rdhome/collections/" "$rdhome/ES-DE/" && log d "Move of \"$rdhome/collections/\" in \"$rdhome/ES-DE\" folder completed" - # Remove the empty source directory - find "$rdhome/collections" -type d -empty -delete && log d "Removed empty directory \"$rdhome/collections\"." + rsync -a "$rdhome/collections/" "$rdhome/ES-DE/collections/" && log d "Move of \"$rdhome/collections\" to \"$rdhome/ES-DE/collections\" completed" + rm -rf "$rdhome/collections" # Remove the original directory after merging else log i "ES-DE collections appear to have already been migrated." fi From 31a5fbda0bb41f3ce2b0678d708fd3b83085b44e Mon Sep 17 00:00:00 2001 From: XargonWan Date: Mon, 12 Aug 2024 17:09:09 +0900 Subject: [PATCH 29/29] APPDATA: updated [skip ci] --- net.retrodeck.retrodeck.appdata.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net.retrodeck.retrodeck.appdata.xml b/net.retrodeck.retrodeck.appdata.xml index e771d77a..854f2a98 100644 --- a/net.retrodeck.retrodeck.appdata.xml +++ b/net.retrodeck.retrodeck.appdata.xml @@ -67,7 +67,7 @@ GPL-3.0 CC0-1.0 - + https://github.com/XargonWan/RetroDECK/releases/tag/0.8.4b

Bug fixes: