From e686497d64ef352bc0ef360c3e880bcf2fee3735 Mon Sep 17 00:00:00 2001 From: Felix Date: Fri, 23 May 2025 12:43:12 +0200 Subject: [PATCH] update.sh aktualisiert --- update.sh | 51 ++++++++++++++++++++------------------------------- 1 file changed, 20 insertions(+), 31 deletions(-) diff --git a/update.sh b/update.sh index 3fe4ae7..110a935 100755 --- a/update.sh +++ b/update.sh @@ -24,60 +24,50 @@ get_version() { # Function to download and update only if changed update_app() { - app_name=$1 + filename=$1 app_url=$2 - echo "Processing $app_name..." + echo "Processing $filename..." # Create temp directory mkdir -p ./temp # Download to temp file - wget -q -O "./temp/${app_name}.apk.new" "$app_url" + wget -q -O "./temp/${filename}.new" "$app_url" # Check if download was successful - if [ ! -f "./temp/${app_name}.apk.new" ] || [ ! -s "./temp/${app_name}.apk.new" ]; then - echo " ✗ $app_name: Download failed, skipping..." - rm -f "./temp/${app_name}.apk.new" + if [ ! -f "./temp/${filename}.new" ] || [ ! -s "./temp/${filename}.new" ]; then + echo " ✗ $filename: Download failed, skipping..." + rm -f "./temp/${filename}.new" return fi # Extract version info from the new APK - new_version=$(get_version "./temp/${app_name}.apk.new") + new_version=$(get_version "./temp/${filename}.new") echo " Downloaded version: $new_version" # Check if app exists and if it's different - if [ -f "./repo/${app_name}.apk" ]; then + if [ -f "./repo/${filename}" ]; then # Extract version info from the existing APK - current_version=$(get_version "./repo/${app_name}.apk") + current_version=$(get_version "./repo/${filename}") echo " Current version: $current_version" # Compare files (binary comparison to be absolutely sure) - if ! cmp -s "./temp/${app_name}.apk.new" "./repo/${app_name}.apk"; then - echo " ✓ $app_name: New version detected ($current_version → $new_version), updating..." - mv "./temp/${app_name}.apk.new" "./repo/${app_name}.apk" - touch -d "$(date +%Y-%m-%d)" "./repo/${app_name}.apk" + if ! cmp -s "./temp/${filename}.new" "./repo/${filename}"; then + echo " ✓ $filename: New version detected ($current_version → $new_version), updating..." + mv "./temp/${filename}.new" "./repo/${filename}" + touch -d "$(date +%Y-%m-%d)" "./repo/${filename}" else - echo " ✓ $app_name: No changes detected (version $current_version), keeping existing version" - rm "./temp/${app_name}.apk.new" + echo " ✓ $filename: No changes detected (version $current_version), keeping existing version" + rm "./temp/${filename}.new" fi else - echo " ✓ $app_name: File does not exist yet, adding version $new_version..." - mv "./temp/${app_name}.apk.new" "./repo/${app_name}.apk" - touch -d "$(date +%Y-%m-%d)" "./repo/${app_name}.apk" + echo " ✓ $filename: File does not exist yet, adding version $new_version..." + mv "./temp/${filename}.new" "./repo/${filename}" + touch -d "$(date +%Y-%m-%d)" "./repo/${filename}" fi } -# Function to get app name from filename -get_app_name() { - filename=$1 - # Remove .apk extension and convert to proper case - app_name=$(basename "$filename" .apk) - # Convert first letter to uppercase - app_name=$(echo "$app_name" | sed 's/^\(.\)/\U\1/') - echo "$app_name" -} - echo "Fetching release information from Gitea..." # Get release information from Gitea API @@ -107,8 +97,7 @@ done echo "$apk_urls" | while read -r url; do if [ -n "$url" ]; then filename=$(basename "$url") - app_name=$(get_app_name "$filename") - update_app "$app_name" "$url" + update_app "$filename" "$url" fi done @@ -116,6 +105,6 @@ done rm -rf ./temp echo "Updating F-Droid repository..." -/root/.local/bin/fdroid update -c --allow-disabled-algorithms +/root/.local/bin/fdroid update --clean --allow-disabled-algorithms echo "Done! Repository updated with all available apps." \ No newline at end of file