diff --git a/res/util/func-resdl.sh b/res/util/func-resdl.sh index f118a55..c892689 100755 --- a/res/util/func-resdl.sh +++ b/res/util/func-resdl.sh @@ -34,17 +34,22 @@ updatedelta() { file="$entry"; line="$(grep "FILE: $file[,;]" "$reldir/update-$newlog.log" | head -n1)"; url="$(echo "$line" | grep -oE "URL: [^,;]*" | cut -d" " -f2)"; + cksum="$(echo "$line" | grep -oE "CKSUM: [^,;]*" | cut -d" " -f2)"; oldline=""; for log in $oldlogs; do oldline="$(grep "FILE: $file[,;]" "$reldir/update-$log.log" | head -n1)"; [ "$oldline" ] && break; done; oldurl="$(echo "$oldline" | grep -oE "URL: [^,;]*" | cut -d" " -f2)"; + oldcksum="$(echo "$oldline" | grep -oE "CKSUM: [^,;]*" | cut -d" " -f2)"; [ "$oldurl" ] || oldurl="None"; - [ "$url" = "$oldurl" ] && continue; + [ "$oldcksum" ] || oldcksum="None"; + [ "$url" = "$oldurl" ] && [ "$cksum" = "$oldcksum" ] && continue; echo " -- Updated file: $file"; echo " ++ Old URL: $oldurl"; echo " ++ New URL: $url"; + echo " ++ Old CKSUM: $oldcksum"; + echo " ++ New CKSUM: $cksum"; echo " ++ Old name: $(basename "$oldurl")"; echo " ++ New name: $(basename "$url")"; done; diff --git a/update.sh b/update.sh index fa6f0e7..8123b0c 100755 --- a/update.sh +++ b/update.sh @@ -39,7 +39,7 @@ echo "-- Minimal MicroG Update Script --"; echo "-- The Essentials Only MicroG Pack --"; # Bin check -for bin in chmod cp curl find grep head jq mv rm sort tr unzip; do +for bin in chmod cksum cp curl find grep head jq mv rm sort tr unzip; do command -v "$bin" >/dev/null || abort "No $bin found"; done; @@ -165,7 +165,8 @@ for object in $(echo "$stuff_download" | select_word 1); do objectfile="$tmpdir/$objectname"; echo " ---- Downloading $objecturl"; curl -L "$objecturl" -o "$objectfile" || { echo "ERROR: $object failed to download"; continue; } - echo "NAME: $objectname, FILE: $object, URL: $objecturl;" >> "$updatelog"; + objectcksum="$(cksum "$objectfile" | select_word 1)"; + echo "NAME: $objectname, FILE: $object, URL: $objecturl, CKSUM: $objectcksum;" >> "$updatelog"; ;; esac; mkdir -p "$resdldir/$(dirname "$object")";