diff --git a/.github/workflows/build_retrodeck.yml b/.github/workflows/build_retrodeck.yml index ce03facc..acdd2475 100644 --- a/.github/workflows/build_retrodeck.yml +++ b/.github/workflows/build_retrodeck.yml @@ -15,7 +15,7 @@ on: - 'rd-submodules/**' - '*.sh' - 'net.retrodeck.retrodeck.yml' - - 'net.retrodeck.retrodeck.appdata.xml' + - 'net.retrodeck.retrodeck.metainfo.xml' pull_request_target: types: [opened, synchronize, reopened] branches: @@ -153,8 +153,8 @@ jobs: if: github.ref != 'refs/heads/main' run: "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/cooker_flatpak_portal_add.sh" - - name: "Updating release notes in appdata" - run: "automation_tools/appdata_management.sh" + - name: "Updating release notes in metainfo" + run: "automation_tools/metainfo_management.sh" - name: "[DEBUG] Outputting manifest" run: cat net.retrodeck.retrodeck.yml @@ -190,7 +190,7 @@ jobs: # uses: Mudlet/xmlstarlet-action@master # id: extract-description # with: - # args: sel -t -v "/component/releases/release[1]/description//text()" ./net.retrodeck.retrodeck.appdata.xml + # args: sel -t -v "/component/releases/release[1]/description//text()" ./net.retrodeck.retrodeck.metainfo.xml # Generate Release Body - name: Generate release body text diff --git a/automation_tools/main_version_checker.sh b/automation_tools/main_version_checker.sh index d230b205..5c814a03 100755 --- a/automation_tools/main_version_checker.sh +++ b/automation_tools/main_version_checker.sh @@ -5,27 +5,27 @@ source automation_tools/version_extractor.sh # Set the file paths -appdata="net.retrodeck.retrodeck.appdata.xml" +metainfo="net.retrodeck.retrodeck.metainfo.xml" manifest="net.retrodeck.retrodeck.yml" manifest_content=$(cat "$manifest") compare_versions() { local manifest_version_cleaned=$(echo "$1" | sed 's/[a-zA-Z]//g') - local appdata_version_cleaned=$(echo "$2" | sed 's/[a-zA-Z]//g') + local metainfo_version_cleaned=$(echo "$2" | sed 's/[a-zA-Z]//g') - if [[ "$manifest_version_cleaned" == "$appdata_version_cleaned" ]]; then + if [[ "$manifest_version_cleaned" == "$metainfo_version_cleaned" ]]; then return 0 # Versions are equal fi local IFS=. local manifest_parts=($manifest_version_cleaned) - local appdata_parts=($appdata_version_cleaned) + local metainfo_parts=($metainfo_version_cleaned) for ((i=0; i<${#manifest_parts[@]}; i++)); do - if ((manifest_parts[i] > appdata_parts[i])); then + if ((manifest_parts[i] > metainfo_parts[i])); then return 1 # Manifest version is greater - elif ((manifest_parts[i] < appdata_parts[i])); then - return 2 # Appdata version is greater + elif ((manifest_parts[i] < metainfo_parts[i])); then + return 2 # Metainfo version is greater fi done @@ -38,8 +38,8 @@ echo -e "Online repository:\t$repo_version" manifest_version=$(fetch_manifest_version) echo -e "Manifest:\t\t$manifest_version" -appdata_version=$(fetch_appdata_version) -echo -e "Appdata:\t\t$appdata_version" +metainfo_version=$(fetch_metainfo_version) +echo -e "Metainfo:\t\t$metainfo_version" # Additional checks if [[ "$manifest_version" == "main" || "$manifest_version" == "THISBRANCH" || "$manifest_version" == *"cooker"* ]]; then @@ -47,8 +47,8 @@ if [[ "$manifest_version" == "main" || "$manifest_version" == "THISBRANCH" || "$ exit 1 fi -if [[ "$appdata_version" != "$manifest_version" ]]; then - echo "Appdata version is not equal to manifest version. Please fix it." +if [[ "$metainfo_version" != "$manifest_version" ]]; then + echo "Metainfo version is not equal to manifest version. Please fix it." exit 1 fi diff --git a/automation_tools/appdata_management.sh b/automation_tools/metainfo_management.sh similarity index 75% rename from automation_tools/appdata_management.sh rename to automation_tools/metainfo_management.sh index c1b5cb35..69be02b1 100755 --- a/automation_tools/appdata_management.sh +++ b/automation_tools/metainfo_management.sh @@ -1,26 +1,26 @@ #!/bin/bash # THIS SCRIPT IS BROKEN HENCE DISABLED FTM -# This script is getting the latest release notes from the wiki and add them to the appdata +# This script is getting the latest release notes from the wiki and add them to the metainfo source automation_tools/version_extractor.sh -# Fetch appdata version -appdata_version=$(fetch_appdata_version) -echo -e "Appdata:\t\t$appdata_version" +# Fetch metainfo version +metainfo_version=$(fetch_metainfo_version) +echo -e "metainfo:\t\t$metainfo_version" # Defining manifest file location -appdata_file="net.retrodeck.retrodeck.appdata.xml" +metainfo_file="net.retrodeck.retrodeck.metainfo.xml" -# Check if release with appdata_version already exists -if grep -q "version=\"$appdata_version\"" "$appdata_file"; then - echo -e "Deleting existing release version $appdata_version..." +# Check if release with metainfo_version already exists +if grep -q "version=\"$metainfo_version\"" "$metainfo_file"; then + echo -e "Deleting existing release version $metainfo_version..." # Remove the existing release entry - sed -i "//d" "$appdata_file" + sed -i "//d" "$metainfo_file" fi -echo -e "Adding new release version $appdata_version..." +echo -e "Adding new release version $metainfo_version..." # Get today's date in the required format (YYYY-MM-DD) today_date=$(date +"%Y-%m-%d") @@ -29,15 +29,15 @@ echo -e "Today is $today_date" # Construct the release snippet release_snippet="\ - - https://github.com/RetroDECK/RetroDECK/releases/tag/$appdata_version + + https://github.com/RetroDECK/RetroDECK/releases/tag/$metainfo_version RELEASE_NOTES_PLACEHOLDER " # Read the entire content of the XML file -xml_content=$(cat "$appdata_file") +xml_content=$(cat "$metainfo_file") # Replace RELEASE_NOTES_PLACEHOLDER with the actual release notes # TODO @@ -89,7 +89,7 @@ release_description="${release_snippet/RELEASE_NOTES_PLACEHOLDER/$section_list}" modified_xml_content="${xml_content//$release_description}" # Overwrite the original XML file with the modified content -echo "$modified_xml_content" > "$appdata_file" +echo "$modified_xml_content" > "$metainfo_file" # Format the XML file -#xmlstarlet fo --omit-decl "$appdata_file" +#xmlstarlet fo --omit-decl "$metainfo_file" diff --git a/automation_tools/version_extractor.sh b/automation_tools/version_extractor.sh index 94cab1fb..e9cc1cef 100755 --- a/automation_tools/version_extractor.sh +++ b/automation_tools/version_extractor.sh @@ -2,11 +2,11 @@ # This script is intended to gather version information from various sources: # RetroDECK repository -# Appdata.xml file +# Metainfo.xml file # Manifest YAML file # It consists of three functions, each responsible for retrieving a specific version-related data. -appdata="net.retrodeck.retrodeck.appdata.xml" +metainfo="net.retrodeck.retrodeck.metainfo.xml" manifest="net.retrodeck.retrodeck.yml" manifest_content=$(cat "$manifest") @@ -19,10 +19,10 @@ fetch_repo_version(){ echo "$repo_version" } -fetch_appdata_version(){ - # Extract the version from the net.retrodeck.retrodeck.appdata.xml file - appdata_version=$(grep -oPm1 "(?<= "/var/config/retrodeck/changelog-full.xml" + xml sel -t -m "//component/releases/release/description" -c . $rd_metainfo | tr -s '\n' | sed 's/^\s*//' > "/var/config/retrodeck/changelog-full.xml" convert_to_markdown "/var/config/retrodeck/changelog-full.xml" @@ -177,7 +177,7 @@ changelog_dialog() { --title "RetroDECK Changelogs" \ --filename="/var/config/retrodeck/changelog-full.xml.md" else - xml sel -t -m "//component/releases/release[1]/description" -c . $rd_appdata | tr -s '\n' | sed 's/^\s*//' > "/var/config/retrodeck/changelog.xml" + xml sel -t -m "//component/releases/release[1]/description" -c . $rd_metainfo | tr -s '\n' | sed 's/^\s*//' > "/var/config/retrodeck/changelog.xml" convert_to_markdown "/var/config/retrodeck/changelog.xml" diff --git a/functions/global.sh b/functions/global.sh index b43d8206..b36abb37 100644 --- a/functions/global.sh +++ b/functions/global.sh @@ -54,7 +54,7 @@ remote_network_target_1="https://flathub.org" remote_network_target_2="$rd_repo" # The URL of a common internet target for testing network access remote_network_target_3="https://one.one.one.one" # The URL of a common internet target for testing network access helper_files_folder="$config/retrodeck/helper_files" # The parent folder of RetroDECK documentation files for deployment -rd_appdata="/app/share/metainfo/net.retrodeck.retrodeck.metainfo.xml" # The shipped appdata XML file for this version +rd_metainfo="/app/share/metainfo/net.retrodeck.retrodeck.metainfo.xml" # The shipped metainfo XML file for this version rpcs3_firmware="http://dus01.ps3.update.playstation.net/update/ps3/image/us/2024_0227_3694eb3fb8d9915c112e6ab41a60c69f/PS3UPDAT.PUP" # RPCS3 Firmware download location RA_API_URL="https://retroachievements.org/dorequest.php" # API URL for RetroAchievements.org presets_dir="$config/retrodeck/presets" # Repository for all system preset config files diff --git a/net.retrodeck.retrodeck.appdata.xml b/net.retrodeck.retrodeck.metainfo.xml similarity index 99% rename from net.retrodeck.retrodeck.appdata.xml rename to net.retrodeck.retrodeck.metainfo.xml index 821bb0c2..6f1a1741 100644 --- a/net.retrodeck.retrodeck.appdata.xml +++ b/net.retrodeck.retrodeck.metainfo.xml @@ -9,7 +9,7 @@ https://retrodeck.net https://github.com/RetroDECK/RetroDECK/issues https://retrodeck.readthedocs.io - https://github.com/RetroDECK/RetroDECK/wiki/FAQs---Frequently-asked-questions + https://retrodeck.readthedocs.io/en/latest/wiki_faq/faq-rd-general/f https://www.patreon.com/RetroDECK diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 52d8be5b..e79d4ec6 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -76,7 +76,7 @@ modules: # # UPDATE STEPS FOR MAIN: # [ ] Update the VERSION variable on line containing "VERSION=THISBRANCH" - # [ ] Update the appdata.xml with the version number and notes + # [ ] Update the net.retrodeck.retrodeck.metainfo.xml with the version number and notes - name: retrodeck-initialization buildsystem: simple @@ -798,6 +798,9 @@ modules: ln -s "/lib/x86_64-linux-gnu/libSDL2-2.0.so.0" "${FLATPAK_DEST}/lib/libSDL2.so" fi + # Installing metainfo + - install -Dm 644 net.retrodeck.retrodeck.metainfo.xml ${FLATPAK_DEST}/share/metainfo/net.retrodeck.retrodeck.metainfo.xml + sources: - type: dir path: . diff --git a/old/disabled-workflows/TEST_release_info.yml b/old/disabled-workflows/TEST_release_info.yml index b9a891d1..bbec905e 100644 --- a/old/disabled-workflows/TEST_release_info.yml +++ b/old/disabled-workflows/TEST_release_info.yml @@ -32,16 +32,16 @@ jobs: git submodule update sudo apt install -y flatpak flatpak-builder p7zip-full xmlstarlet appstream-util - - name: Validating the appdata - run: appstream-util validate "net.retrodeck.retrodeck.appdata.xml" + - name: Validating the metainfo + run: appstream-util validate "net.retrodeck.retrodeck.metainfo.xml" continue-on-error: true - name: Getting version info id: version run: | - appdata="https://raw.githubusercontent.com/RetroDECK/RetroDECK/main/net.retrodeck.retrodeck.appdata.xml" - REL_VER=$(curl -s $appdata | xmlstarlet sel -t -v "//release/@version" | head -1) - DES="$(curl -s $appdata | xmlstarlet sel -t -m "//release[1]" -v "description" -n | sed '1,2d;$d;s/^ */- /;/^- $/d')" + metainfo="https://raw.githubusercontent.com/RetroDECK/RetroDECK/main/net.retrodeck.retrodeck.metainfo.xml" + REL_VER=$(curl -s $metainfo | xmlstarlet sel -t -v "//release/@version" | head -1) + DES="$(curl -s $metainfo | xmlstarlet sel -t -m "//release[1]" -v "description" -n | sed '1,2d;$d;s/^ */- /;/^- $/d')" echo "REL_VER=$REL_VER" >> $GITHUB_ENV echo -e "# Release Notes\n" >> "body.md" echo "$DES" >> "body.md" diff --git a/old/disabled-workflows/cooker-selfhosted-persistent.yml b/old/disabled-workflows/cooker-selfhosted-persistent.yml index a3752c82..c040860a 100644 --- a/old/disabled-workflows/cooker-selfhosted-persistent.yml +++ b/old/disabled-workflows/cooker-selfhosted-persistent.yml @@ -17,7 +17,7 @@ on: - 'rd-submodules/**' - '*.sh' - 'net.retrodeck.retrodeck.yml' - - 'net.retrodeck.retrodeck.appdata.xml' + - 'net.retrodeck.retrodeck.metainfo.xml' pull_request: branches: - cooker* @@ -83,8 +83,8 @@ jobs: - name: "Adding flatpak portal for automated updates (cooker only)" run: "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/cooker_flatpak_portal_add.sh" - - name: "Updating release notes in appdata" - run: "automation_tools/appdata_management.sh" + - name: "Updating release notes in metainfo" + run: "automation_tools/metainfo_management.sh" - name: "[DEBUG] Outputting manifest" run: cat net.retrodeck.retrodeck.yml diff --git a/old/disabled-workflows/cooker-selfhosted.yml b/old/disabled-workflows/cooker-selfhosted.yml index a512a9dd..88e6f918 100644 --- a/old/disabled-workflows/cooker-selfhosted.yml +++ b/old/disabled-workflows/cooker-selfhosted.yml @@ -14,7 +14,7 @@ on: - 'rd-submodules/**' - '*.sh' - 'net.retrodeck.retrodeck.yml' - - 'net.retrodeck.retrodeck.appdata.xml' + - 'net.retrodeck.retrodeck.metainfo.xml' pull_request: branches: - cooker* @@ -85,8 +85,8 @@ jobs: - name: "Adding flatpak portal for automated updates (cooker only)" run: "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/cooker_flatpak_portal_add.sh" - - name: "Updating release notes in appdata" - run: "automation_tools/appdata_management.sh" + - name: "Updating release notes in metainfo" + run: "automation_tools/metainfo_management.sh" - name: "[DEBUG] Outputting manifest" run: cat net.retrodeck.retrodeck.yml diff --git a/old/workflows/TEST_release_info.yml b/old/workflows/TEST_release_info.yml index b9a891d1..bbec905e 100644 --- a/old/workflows/TEST_release_info.yml +++ b/old/workflows/TEST_release_info.yml @@ -32,16 +32,16 @@ jobs: git submodule update sudo apt install -y flatpak flatpak-builder p7zip-full xmlstarlet appstream-util - - name: Validating the appdata - run: appstream-util validate "net.retrodeck.retrodeck.appdata.xml" + - name: Validating the metainfo + run: appstream-util validate "net.retrodeck.retrodeck.metainfo.xml" continue-on-error: true - name: Getting version info id: version run: | - appdata="https://raw.githubusercontent.com/RetroDECK/RetroDECK/main/net.retrodeck.retrodeck.appdata.xml" - REL_VER=$(curl -s $appdata | xmlstarlet sel -t -v "//release/@version" | head -1) - DES="$(curl -s $appdata | xmlstarlet sel -t -m "//release[1]" -v "description" -n | sed '1,2d;$d;s/^ */- /;/^- $/d')" + metainfo="https://raw.githubusercontent.com/RetroDECK/RetroDECK/main/net.retrodeck.retrodeck.metainfo.xml" + REL_VER=$(curl -s $metainfo | xmlstarlet sel -t -v "//release/@version" | head -1) + DES="$(curl -s $metainfo | xmlstarlet sel -t -m "//release[1]" -v "description" -n | sed '1,2d;$d;s/^ */- /;/^- $/d')" echo "REL_VER=$REL_VER" >> $GITHUB_ENV echo -e "# Release Notes\n" >> "body.md" echo "$DES" >> "body.md" diff --git a/tools/configurator.sh b/tools/configurator.sh index 85683d32..91294bcd 100755 --- a/tools/configurator.sh +++ b/tools/configurator.sh @@ -1391,7 +1391,7 @@ disable_steam_sync() { } configurator_version_history_dialog() { - local version_array=($(xml sel -t -v '//component/releases/release/@version' -n $rd_appdata)) + local version_array=($(xml sel -t -v '//component/releases/release/@version' -n $rd_metainfo)) local all_versions_list=() for rd_version in ${version_array[*]}; do