tools: compare ICU checksums before file changes

Otherwise we end up with an bad update PR when checksums don't match.

Refs: https://github.com/nodejs/node/pull/50495
PR-URL: https://github.com/nodejs/node/pull/50522
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
This commit is contained in:
Michaël Zasso 2023-11-06 11:21:49 +00:00 committed by GitHub
parent 036c89f917
commit cde3296f5f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -42,23 +42,23 @@ NEW_VERSION_TGZ_URL="https://github.com/unicode-org/icu/releases/download/releas
NEW_VERSION_MD5="https://github.com/unicode-org/icu/releases/download/release-${DASHED_NEW_VERSION}/icu4c-${LOW_DASHED_NEW_VERSION}-src.md5"
./configure --with-intl=full-icu --with-icu-source="$NEW_VERSION_TGZ_URL"
"$TOOLS_DIR/icu/shrink-icu-src.py"
rm -rf "$DEPS_DIR/icu"
CHECKSUM=$(curl -sL "$NEW_VERSION_MD5" | grep "$NEW_VERSION_TGZ" | grep -v "\.asc$" | awk '{print $1}')
GENERATED_CHECKSUM=$( curl -sL "$NEW_VERSION_TGZ_URL" | md5sum | cut -d ' ' -f1)
echo "Comparing checksums: deposited $CHECKSUM with $GENERATED_CHECKSUM"
echo "Comparing checksums: deposited '$CHECKSUM' with '$GENERATED_CHECKSUM'"
if [ "$CHECKSUM" != "$GENERATED_CHECKSUM" ]; then
echo "Skipped because checksums do not match."
exit 0
fi
./configure --with-intl=full-icu --with-icu-source="$NEW_VERSION_TGZ_URL"
"$TOOLS_DIR/icu/shrink-icu-src.py"
rm -rf "$DEPS_DIR/icu"
perl -i -pe "s|\"url\": .*|\"url\": \"$NEW_VERSION_TGZ_URL\",|" "$TOOLS_DIR/icu/current_ver.dep"
perl -i -pe "s|\"md5\": .*|\"md5\": \"$CHECKSUM\"|" "$TOOLS_DIR/icu/current_ver.dep"