@@ -70,27 +70,24 @@ elif command -v wget >/dev/null 2>&1; then
7070fi
7171
7272if [ " $CHECKSUMS_AVAILABLE " = true ]; then
73- TARBALL_NAME=" copilot-${PLATFORM} -${ARCH} .tar.gz"
74- EXPECTED_CHECKSUM=$( grep " $TARBALL_NAME " " $TMP_CHECKSUMS " | awk ' {print $1}' )
75- if [ -n " $EXPECTED_CHECKSUM " ]; then
76- if command -v sha256sum > /dev/null 2>&1 ; then
77- ACTUAL_CHECKSUM=$( sha256sum " $TMP_TARBALL " | awk ' {print $1}' )
78- elif command -v shasum > /dev/null 2>&1 ; then
79- ACTUAL_CHECKSUM=$( shasum -a 256 " $TMP_TARBALL " | awk ' {print $1}' )
73+ if command -v sha256sum > /dev/null 2>&1 ; then
74+ if (cd " $( dirname " $TMP_TARBALL " ) " && sha256sum -c --ignore-missing " $TMP_CHECKSUMS " 2> /dev/null | grep -q " $( basename " $TMP_TARBALL " ) " ); then
75+ echo " ✓ Checksum validated"
8076 else
81- echo " Warning: No sha256sum or shasum found, skipping checksum validation."
82- ACTUAL_CHECKSUM=" "
77+ echo " Error: Checksum validation failed." >&2
78+ rm -f " $TMP_TARBALL " " $TMP_CHECKSUMS "
79+ exit 1
8380 fi
84- if [ -n " $ACTUAL_CHECKSUM " ]; then
85- if [ " $EXPECTED_CHECKSUM " != " $ACTUAL_CHECKSUM " ]; then
86- echo " Error: Checksum validation failed." >&2
87- echo " Expected: $EXPECTED_CHECKSUM " >&2
88- echo " Actual: $ACTUAL_CHECKSUM " >&2
89- rm -f " $TMP_TARBALL " " $TMP_CHECKSUMS "
90- exit 1
91- fi
81+ elif command -v shasum > /dev/null 2>&1 ; then
82+ if (cd " $( dirname " $TMP_TARBALL " ) " && shasum -a 256 -c --ignore-missing " $TMP_CHECKSUMS " 2> /dev/null | grep -q " $( basename " $TMP_TARBALL " ) " ); then
9283 echo " ✓ Checksum validated"
84+ else
85+ echo " Error: Checksum validation failed." >&2
86+ rm -f " $TMP_TARBALL " " $TMP_CHECKSUMS "
87+ exit 1
9388 fi
89+ else
90+ echo " Warning: No sha256sum or shasum found, skipping checksum validation."
9491 fi
9592fi
9693rm -f " $TMP_CHECKSUMS "
0 commit comments