update.sh aktualisiert
This commit is contained in:
51
update.sh
51
update.sh
@@ -24,60 +24,50 @@ get_version() {
|
|||||||
|
|
||||||
# Function to download and update only if changed
|
# Function to download and update only if changed
|
||||||
update_app() {
|
update_app() {
|
||||||
app_name=$1
|
filename=$1
|
||||||
app_url=$2
|
app_url=$2
|
||||||
|
|
||||||
echo "Processing $app_name..."
|
echo "Processing $filename..."
|
||||||
|
|
||||||
# Create temp directory
|
# Create temp directory
|
||||||
mkdir -p ./temp
|
mkdir -p ./temp
|
||||||
|
|
||||||
# Download to temp file
|
# 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
|
# Check if download was successful
|
||||||
if [ ! -f "./temp/${app_name}.apk.new" ] || [ ! -s "./temp/${app_name}.apk.new" ]; then
|
if [ ! -f "./temp/${filename}.new" ] || [ ! -s "./temp/${filename}.new" ]; then
|
||||||
echo " ✗ $app_name: Download failed, skipping..."
|
echo " ✗ $filename: Download failed, skipping..."
|
||||||
rm -f "./temp/${app_name}.apk.new"
|
rm -f "./temp/${filename}.new"
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Extract version info from the new APK
|
# 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"
|
echo " Downloaded version: $new_version"
|
||||||
|
|
||||||
# Check if app exists and if it's different
|
# 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
|
# 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"
|
echo " Current version: $current_version"
|
||||||
|
|
||||||
# Compare files (binary comparison to be absolutely sure)
|
# Compare files (binary comparison to be absolutely sure)
|
||||||
if ! cmp -s "./temp/${app_name}.apk.new" "./repo/${app_name}.apk"; then
|
if ! cmp -s "./temp/${filename}.new" "./repo/${filename}"; then
|
||||||
echo " ✓ $app_name: New version detected ($current_version → $new_version), updating..."
|
echo " ✓ $filename: New version detected ($current_version → $new_version), updating..."
|
||||||
mv "./temp/${app_name}.apk.new" "./repo/${app_name}.apk"
|
mv "./temp/${filename}.new" "./repo/${filename}"
|
||||||
touch -d "$(date +%Y-%m-%d)" "./repo/${app_name}.apk"
|
touch -d "$(date +%Y-%m-%d)" "./repo/${filename}"
|
||||||
else
|
else
|
||||||
echo " ✓ $app_name: No changes detected (version $current_version), keeping existing version"
|
echo " ✓ $filename: No changes detected (version $current_version), keeping existing version"
|
||||||
rm "./temp/${app_name}.apk.new"
|
rm "./temp/${filename}.new"
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
echo " ✓ $app_name: File does not exist yet, adding version $new_version..."
|
echo " ✓ $filename: File does not exist yet, adding version $new_version..."
|
||||||
mv "./temp/${app_name}.apk.new" "./repo/${app_name}.apk"
|
mv "./temp/${filename}.new" "./repo/${filename}"
|
||||||
touch -d "$(date +%Y-%m-%d)" "./repo/${app_name}.apk"
|
touch -d "$(date +%Y-%m-%d)" "./repo/${filename}"
|
||||||
fi
|
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..."
|
echo "Fetching release information from Gitea..."
|
||||||
|
|
||||||
# Get release information from Gitea API
|
# Get release information from Gitea API
|
||||||
@@ -107,8 +97,7 @@ done
|
|||||||
echo "$apk_urls" | while read -r url; do
|
echo "$apk_urls" | while read -r url; do
|
||||||
if [ -n "$url" ]; then
|
if [ -n "$url" ]; then
|
||||||
filename=$(basename "$url")
|
filename=$(basename "$url")
|
||||||
app_name=$(get_app_name "$filename")
|
update_app "$filename" "$url"
|
||||||
update_app "$app_name" "$url"
|
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
@@ -116,6 +105,6 @@ done
|
|||||||
rm -rf ./temp
|
rm -rf ./temp
|
||||||
|
|
||||||
echo "Updating F-Droid repository..."
|
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."
|
echo "Done! Repository updated with all available apps."
|
||||||
Reference in New Issue
Block a user