fix: buildonly should never download files

This commit is contained in:
Sayantan Santra 2023-07-01 22:55:33 -05:00
parent c5a0b9a104
commit d0bdcb7c83
Signed by: SinTan1729
GPG key ID: EB3E68BFBA25C85F

View file

@ -92,61 +92,64 @@ check_flag=false
# Get inside the working directory # Get inside the working directory
cd "$WDIR" cd "$WDIR"
echo "$(date) | Starting check..." echo "$(date) | Starting check..."
cp verions.json versions.json.old
# Fetch all the dependencies if [[ $2 != buildonly ]]; then
try=0 # Create a backup of versions
while :; do cp verions.json versions.json.old
try=$(($try + 1)) # Fetch all the dependencies
[ $try -gt 10 ] && echo "API error!" && exit 2 try=0
curl -X 'GET' 'https://releases.revanced.app/tools' -H 'accept: application/json' -o latest_versions.json while :; do
cat latest_versions.json | jq -e '.error' >/dev/null || break try=$(($try + 1))
echo "API failure, trying again. $((10 - $try)) tries left..." [ $try -gt 10 ] && echo "API error!" && exit 2
sleep 10 curl -X 'GET' 'https://releases.revanced.app/tools' -H 'accept: application/json' -o latest_versions.json
done cat latest_versions.json | jq -e '.error' >/dev/null || break
echo "API failure, trying again. $((10 - $try)) tries left..."
sleep 10
done
for artifact in $artifacts; do for artifact in $artifacts; do
#Check for updates #Check for updates
repo=$(echo $artifact | cut -d ':' -f1) repo=$(echo $artifact | cut -d ':' -f1)
name=$(echo $artifact | cut -d ':' -f2) name=$(echo $artifact | cut -d ':' -f2)
basename=$(echo $repo | cut -d '/' -f2) basename=$(echo $repo | cut -d '/' -f2)
echo "Checking $basename" echo "Checking $basename"
version_present=$(jq -r ".\"$basename\"" versions.json) version_present=$(jq -r ".\"$basename\"" versions.json)
data="$(jq -r ".tools[] | select((.repository == \"$repo\") and (.content_type | contains(\"archive\")))" latest_versions.json)" data="$(jq -r ".tools[] | select((.repository == \"$repo\") and (.content_type | contains(\"archive\")))" latest_versions.json)"
[[ $name == microg.apk ]] && version=$(curl -s "https://api.github.com/repos/$repo/releases/latest" | jq -r '.tag_name') || version=$(echo "$data" | jq -r '.version') [[ $name == microg.apk ]] && version=$(curl -s "https://api.github.com/repos/$repo/releases/latest" | jq -r '.tag_name') || version=$(echo "$data" | jq -r '.version')
if [[ $(ver_less_than $version_present $version) == true || ! -f $name || $2 == force ]]; then if [[ $(ver_less_than $version_present $version) == true || ! -f $name || $2 == force ]]; then
if [[ $2 == checkonly ]]; then if [[ $2 == checkonly ]]; then
echo "[checkonly] $basename has an update ($version_present -> $version)" echo "[checkonly] $basename has an update ($version_present -> $version)"
check_flag=true check_flag=true
continue continue
fi
echo "Downloading $name"
[[ $name == microg.apk && -f $name && $2 != force ]] && microg_updated=true
# shellcheck disable=SC2086,SC2046
[[ $name == microg.apk ]] && download_link="https://github.com/$repo/releases/latest/download/$name" || download_link="$(echo "$data" | jq -r '.browser_download_url')"
curl -sLo "$name" "$download_link"
jq ".\"$basename\" = \"$version\"" versions.json >versions.json.tmp && mv versions.json.tmp versions.json
echo "Upgraded $basename from $version_present to $version"
flag=true
fi fi
echo "Downloading $name" done
[[ $name == microg.apk && -f $name && $2 != force ]] && microg_updated=true
# shellcheck disable=SC2086,SC2046
[[ $name == microg.apk ]] && download_link="https://github.com/$repo/releases/latest/download/$name" || download_link="$(echo "$data" | jq -r '.browser_download_url')"
curl -sLo "$name" "$download_link"
jq ".\"$basename\" = \"$version\"" versions.json >versions.json.tmp && mv versions.json.tmp versions.json
echo "Upgraded $basename from $version_present to $version"
flag=true
fi
done
[[ ! -f com.google.android.youtube.apk || ! -f com.google.android.apps.youtube.music.apk ]] && flag=true [[ ! -f com.google.android.youtube.apk || ! -f com.google.android.apps.youtube.music.apk ]] && flag=true
# Exit if no updates happened # Exit if no updates happened
if [[ $flag == false && $2 != force ]]; then if [[ $flag == false && $2 != force ]]; then
if [[ $check_flag == false ]]; then if [[ $check_flag == false ]]; then
echo "Nothing to update" echo "Nothing to update"
else else
"$SDIR/download_apkmirror.sh" "$WDIR" checkonly "$SDIR/download_apkmirror.sh" "$WDIR" checkonly
fi
echo "--------------------"$'\n'"--------------------"
exit
fi fi
echo "--------------------"$'\n'"--------------------"
exit # Download required apk files
"$SDIR/download_apkmirror.sh" "$WDIR"
fi fi
# Download required apk files
[[ $2 != buildonly ]] && "$SDIR/download_apkmirror.sh" "$WDIR"
# If the variables are NOT empty, call populate_patches with proper arguments # If the variables are NOT empty, call populate_patches with proper arguments
[[ ! -z "$excluded_patches" ]] && populate_patches "-e" "$excluded_patches" [[ ! -z "$excluded_patches" ]] && populate_patches "-e" "$excluded_patches"
[[ ! -z "$included_patches" ]] && populate_patches "-i" "$included_patches" [[ ! -z "$included_patches" ]] && populate_patches "-i" "$included_patches"
@ -254,8 +257,10 @@ if [ $error == 1 ]; then
-d "$MESSAGE" \ -d "$MESSAGE" \
"$NTFY_URL/$NTFY_TOPIC" "$NTFY_URL/$NTFY_TOPIC"
fi fi
mv versions.json versions.json.fail if [[ $2 != buildonly ]]; then
mv versions.json.old versions.json mv versions.json versions.json.fail
mv versions.json.old versions.json
fi
exit 4 exit 4
fi fi