mirror of
https://github.com/RetroDECK/RetroDECK.git
synced 2024-12-04 19:45:42 +00:00
Compare commits
9 commits
f71f61cbce
...
8edc8ad9e2
Author | SHA1 | Date | |
---|---|---|---|
XargonWan | 8edc8ad9e2 | ||
XargonWan | aca61884df | ||
XargonWan | 66836d5b7d | ||
XargonWan | 5330bdd9ae | ||
XargonWan | dac1f0c2dd | ||
XargonWan | bd2ffd5f1e | ||
XargonWan | 3e51203826 | ||
XargonWan | ea6daed9bc | ||
XargonWan | 5ffedc8160 |
16
.github/workflows/build_release.yml
vendored
16
.github/workflows/build_release.yml
vendored
|
@ -185,14 +185,28 @@ jobs:
|
||||||
|
|
||||||
echo "[DEBUG] CHECKPOINT 8"
|
echo "[DEBUG] CHECKPOINT 8"
|
||||||
|
|
||||||
|
- name: Generate a token for Rekku
|
||||||
|
id: generate-rekku-token
|
||||||
|
uses: actions/create-github-app-token@v1
|
||||||
|
with:
|
||||||
|
app-id: ${{ vars.REKKU_APP_ID }}
|
||||||
|
private-key: ${{ secrets.REKKU_PRIVATE_KEY }}
|
||||||
|
repositories: "RetroDECK,Cooker"
|
||||||
|
owner: "RetroDECK"
|
||||||
|
|
||||||
- name: "Build flatpak: download only"
|
- name: "Build flatpak: download only"
|
||||||
id: flatpak-download
|
id: flatpak-download
|
||||||
run: "/bin/bash ${GITHUB_WORKSPACE}/automation_tools/flatpak_build_download_only.sh"
|
run: |
|
||||||
|
git config --global credential.helper store
|
||||||
|
echo "https://${{ steps.generate-rekku-token.outputs.token }}@github.com" > ~/.git-credentials
|
||||||
|
"${GITHUB_WORKSPACE}/automation_tools/flatpak_build_download_only.sh"
|
||||||
|
|
||||||
# Sometimes flatpak download fails, in this case it tries a second time
|
# Sometimes flatpak download fails, in this case it tries a second time
|
||||||
- name: "Build flatpak: download only (retry)"
|
- name: "Build flatpak: download only (retry)"
|
||||||
if: steps.flatpak-download.outcome == 'failure'
|
if: steps.flatpak-download.outcome == 'failure'
|
||||||
run: |
|
run: |
|
||||||
|
git config --global credential.helper store
|
||||||
|
echo "https://${{ steps.generate-rekku-token.outputs.token }}@github.com" > ~/.git-credentials
|
||||||
echo "Download failed, maybe some hash changed since the build start."
|
echo "Download failed, maybe some hash changed since the build start."
|
||||||
echo "Recalculating hashes and retrying download..."
|
echo "Recalculating hashes and retrying download..."
|
||||||
rm -f "{GITHUB_WORKSPACE}/net.retrodeck.retrodeck.yml"
|
rm -f "{GITHUB_WORKSPACE}/net.retrodeck.retrodeck.yml"
|
||||||
|
|
9
config/portmaster/config.json
Normal file
9
config/portmaster/config.json
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
{
|
||||||
|
"change_channel": false,
|
||||||
|
"first-run": true,
|
||||||
|
"release_channel": "stable",
|
||||||
|
"show_experimental": false,
|
||||||
|
"theme": "default_theme",
|
||||||
|
"theme-scheme": "Dracula",
|
||||||
|
"version": 2
|
||||||
|
}
|
|
@ -6,11 +6,16 @@
|
||||||
# now disabled as we are importing everything in /app/lib. In case we are breaking something we need to restore this approach
|
# now disabled as we are importing everything in /app/lib. In case we are breaking something we need to restore this approach
|
||||||
# export LD_LIBRARY_PATH="/app/retrodeck/lib:/app/retrodeck/lib/debug:/app/retrodeck/lib/pkgconfig:$LD_LIBRARY_PATH"
|
# export LD_LIBRARY_PATH="/app/retrodeck/lib:/app/retrodeck/lib/debug:/app/retrodeck/lib/pkgconfig:$LD_LIBRARY_PATH"
|
||||||
|
|
||||||
|
: "${logging_level:=info}" # Initializing the log level variable if not already valued, this will be actually red later from the config file
|
||||||
|
rd_logs_folder="/var/config/retrodeck/logs" # Static location to write all RetroDECK-related logs
|
||||||
|
source /app/libexec/logger.sh
|
||||||
|
rotate_logs
|
||||||
|
log i "Initializing RetroDECK"
|
||||||
|
|
||||||
source /app/libexec/050_save_migration.sh
|
source /app/libexec/050_save_migration.sh
|
||||||
source /app/libexec/checks.sh
|
source /app/libexec/checks.sh
|
||||||
source /app/libexec/compression.sh
|
source /app/libexec/compression.sh
|
||||||
source /app/libexec/dialogs.sh
|
source /app/libexec/dialogs.sh
|
||||||
source /app/libexec/logger.sh
|
|
||||||
source /app/libexec/other_functions.sh
|
source /app/libexec/other_functions.sh
|
||||||
source /app/libexec/multi_user.sh
|
source /app/libexec/multi_user.sh
|
||||||
source /app/libexec/framework.sh
|
source /app/libexec/framework.sh
|
||||||
|
@ -23,7 +28,6 @@ source /app/libexec/run_game.sh
|
||||||
# Static variables
|
# Static variables
|
||||||
rd_conf="/var/config/retrodeck/retrodeck.cfg" # RetroDECK config file path
|
rd_conf="/var/config/retrodeck/retrodeck.cfg" # RetroDECK config file path
|
||||||
rd_conf_backup="/var/config/retrodeck/retrodeck.bak" # Backup of RetroDECK config file from update
|
rd_conf_backup="/var/config/retrodeck/retrodeck.bak" # Backup of RetroDECK config file from update
|
||||||
rd_logs_folder="/var/config/retrodeck/logs" # Static location to write all RetroDECK-related logs
|
|
||||||
config="/app/retrodeck/config" # folder with all the default emulator configs
|
config="/app/retrodeck/config" # folder with all the default emulator configs
|
||||||
rd_defaults="$config/retrodeck/retrodeck.cfg" # A default RetroDECK config file
|
rd_defaults="$config/retrodeck/retrodeck.cfg" # A default RetroDECK config file
|
||||||
rd_update_patch="/var/config/retrodeck/rd_update.patch" # A static location for the temporary patch file used during retrodeck.cfg updates
|
rd_update_patch="/var/config/retrodeck/rd_update.patch" # A static location for the temporary patch file used during retrodeck.cfg updates
|
||||||
|
@ -55,7 +59,6 @@ main_repository_name="RetroDECK"
|
||||||
features="$config/retrodeck/reference_lists/features.json" # A file where all the RetroDECK and component capabilities are kept for querying
|
features="$config/retrodeck/reference_lists/features.json" # A file where all the RetroDECK and component capabilities are kept for querying
|
||||||
es_systems="/app/share/es-de/resources/systems/linux/es_systems.xml" # ES-DE supported system list
|
es_systems="/app/share/es-de/resources/systems/linux/es_systems.xml" # ES-DE supported system list
|
||||||
es_find_rules="/app/share/es-de/resources/systems/linux/es_find_rules.xml" # ES-DE emulator find rules
|
es_find_rules="/app/share/es-de/resources/systems/linux/es_find_rules.xml" # ES-DE emulator find rules
|
||||||
logging_level="info" # Initializing this to avoid printing blank newlines, this will be actually red later from the config file
|
|
||||||
|
|
||||||
|
|
||||||
# Godot data transfer temp files
|
# Godot data transfer temp files
|
||||||
|
@ -139,9 +142,6 @@ mamedefconf="/var/config/mame/cfg/default.cfg"
|
||||||
if [ ! -d "$rd_logs_folder" ]; then
|
if [ ! -d "$rd_logs_folder" ]; then
|
||||||
create_dir "$rd_logs_folder"
|
create_dir "$rd_logs_folder"
|
||||||
fi
|
fi
|
||||||
if [[ ! -d "$rd_logs_folder/ES-DE" ]]; then
|
|
||||||
dir_prep "$rd_logs_folder/ES-DE" "$es_source_logs"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Initialize location of Godot temp data files, if it doesn't exist
|
# Initialize location of Godot temp data files, if it doesn't exist
|
||||||
if [[ ! -d "/var/config/retrodeck/godot" ]]; then
|
if [[ ! -d "/var/config/retrodeck/godot" ]]; then
|
||||||
|
|
|
@ -91,9 +91,40 @@ log() {
|
||||||
|
|
||||||
# Write the log message to the log file
|
# Write the log message to the log file
|
||||||
if [ ! -f "$logfile" ]; then
|
if [ ! -f "$logfile" ]; then
|
||||||
echo "$timestamp [WARN] Log file not found in \"$logfile\", creating it" >&2
|
#echo "$timestamp [WARN] Log file not found in \"$logfile\", creating it" >&2 # Disabled it as it's always appearing because of log rotation
|
||||||
touch "$logfile"
|
touch "$logfile"
|
||||||
fi
|
fi
|
||||||
echo "$log_message" >> "$logfile"
|
echo "$log_message" >> "$logfile"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# The rotate_logs function manages log file rotation to limit the number of logs retained.
|
||||||
|
# It compresses the current log file into a .tar.gz archive, increments the version of
|
||||||
|
# older log files (e.g., retrodeck.1.tar.gz to retrodeck.2.tar.gz), and deletes the oldest
|
||||||
|
# archive if it exceeds the maximum limit (default: 3 rotated logs). After rotation,
|
||||||
|
# the original log file is cleared for continued logging.
|
||||||
|
|
||||||
|
rotate_logs() {
|
||||||
|
local logfile="${1:-$rd_logs_folder/retrodeck.log}" # Default log file
|
||||||
|
local max_logs=3 # Maximum number of rotated logs to keep
|
||||||
|
|
||||||
|
# Rotate existing logs
|
||||||
|
for ((i=max_logs; i>0; i--)); do
|
||||||
|
if [[ -f "${logfile}.${i}.tar.gz" ]]; then
|
||||||
|
if (( i == max_logs )); then
|
||||||
|
# Remove the oldest log if it exceeds the limit
|
||||||
|
rm -f "${logfile}.${i}.tar.gz"
|
||||||
|
else
|
||||||
|
# Rename log file to the next number
|
||||||
|
mv "${logfile}.${i}.tar.gz" "${logfile}.$((i+1)).tar.gz"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# Compress the current log file if it exists
|
||||||
|
if [[ -f "$logfile" ]]; then
|
||||||
|
# Compress without directory structure and suppress tar output
|
||||||
|
tar -czf "${logfile}.1.tar.gz" -C "$(dirname "$logfile")" "$(basename "$logfile")" --remove-files &>/dev/null
|
||||||
|
fi
|
||||||
|
}
|
|
@ -67,9 +67,7 @@ prepare_component() {
|
||||||
dir_prep "$rdhome/ES-DE/gamelists" "/var/config/ES-DE/gamelists"
|
dir_prep "$rdhome/ES-DE/gamelists" "/var/config/ES-DE/gamelists"
|
||||||
dir_prep "$rdhome/ES-DE/collections" "/var/config/ES-DE/collections"
|
dir_prep "$rdhome/ES-DE/collections" "/var/config/ES-DE/collections"
|
||||||
dir_prep "$rdhome/ES-DE/custom_systems" "/var/config/ES-DE/custom_systems"
|
dir_prep "$rdhome/ES-DE/custom_systems" "/var/config/ES-DE/custom_systems"
|
||||||
#dir_prep "$rd_logs_folder/ES-DE" "$es_source_logs"
|
|
||||||
log d "Generating roms system folders"
|
log d "Generating roms system folders"
|
||||||
#es-de --home /var/config/ES-DE --create-system-dirs
|
|
||||||
es-de --create-system-dirs
|
es-de --create-system-dirs
|
||||||
update_splashscreens
|
update_splashscreens
|
||||||
fi
|
fi
|
||||||
|
@ -891,6 +889,9 @@ prepare_component() {
|
||||||
chmod +x "/var/data/PortMaster/PortMaster.sh"
|
chmod +x "/var/data/PortMaster/PortMaster.sh"
|
||||||
rm -f "$roms_folder/portmaster/PortMaster.sh"
|
rm -f "$roms_folder/portmaster/PortMaster.sh"
|
||||||
install -Dm755 "/var/data/PortMaster/PortMaster.sh" "$roms_folder/portmaster/PortMaster.sh"
|
install -Dm755 "/var/data/PortMaster/PortMaster.sh" "$roms_folder/portmaster/PortMaster.sh"
|
||||||
|
create_dir "/var/data/PortMaster/config/"
|
||||||
|
cp "$config/portmaster/config.json" "/var/data/PortMaster/config/config.json"
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "$component" =~ ^(ruffle|all)$ ]]; then
|
if [[ "$component" =~ ^(ruffle|all)$ ]]; then
|
||||||
|
|
|
@ -558,22 +558,21 @@ modules:
|
||||||
url: https://github.com/RetroDECK/org.zdoom.GZDoom/releases/latest/download/RetroDECK-gzdoom-Artifact.tar.gz
|
url: https://github.com/RetroDECK/org.zdoom.GZDoom/releases/latest/download/RetroDECK-gzdoom-Artifact.tar.gz
|
||||||
sha256: RETRODECKGZDOOMLATEST
|
sha256: RETRODECKGZDOOMLATEST
|
||||||
|
|
||||||
# TEMPORARLY DISABLED
|
# Pancakes
|
||||||
# Ryujinx Appimage
|
|
||||||
# https://ryujinx.org/download
|
|
||||||
|
|
||||||
# This version was reported as working with symlinks: https://discord.com/channels/951662718102962256/951715885968654418/1264882000658169866
|
# - name: Pancakes
|
||||||
# - name: Ryujinx-reported-working-version
|
|
||||||
# buildsystem: simple
|
# buildsystem: simple
|
||||||
# build-commands:
|
# build-commands:
|
||||||
# - |
|
# - mkdir -p "${FLATPAK_DEST}"
|
||||||
# tar -zxvf *.tar.gz
|
# - mv *.so* "${FLATPAK_DEST}/retrodeck/tmplib/"
|
||||||
# mv -v publish ${FLATPAK_DEST}/ryujinx
|
# - mv R*x* "${FLATPAK_DEST}/bin/"
|
||||||
# ln -sv ${FLATPAK_DEST}/ryujinx/Ryujinx ${FLATPAK_DEST}/bin/Ryujinx.sh
|
# - chmod +x "${FLATPAK_DEST}/bin/R*x"*
|
||||||
|
# - mkdir -p "${FLATPAK_DEST}/retrodeck/licenses"
|
||||||
|
# - mv LICENSE.txt "${FLATPAK_DEST}/retrodeck/licenses"
|
||||||
# sources:
|
# sources:
|
||||||
# - type: file
|
# - type: file
|
||||||
# url: https://github.com/Ryujinx/release-channel-master/releases/download/1.1.1297/ryujinx-1.1.1297-linux_x64.tar.gz
|
# url: https://github.com/RetroDECK/Pancakes/releases/download/1.1.0.1403/pancakes-Release-linux_x64.tar.gz
|
||||||
# sha256: 28b38754e7d2e92083b313b23278c180ae54ac025edbbd0276ec03baec0cec0f
|
# sha256: cc7d25b6a2f2ad16533e3d72ba9477a4d77b8cfbb450f0db3d0c05ffde5e1281
|
||||||
|
|
||||||
# XEMU
|
# XEMU
|
||||||
# https://xemu.app/docs/download/#download-for-linux
|
# https://xemu.app/docs/download/#download-for-linux
|
||||||
|
|
Loading…
Reference in a new issue