diff --git a/Makefile b/Makefile index b20da8f16cf3f59572957acd5015a4e876c94350..3634d970522debdb7d101d4fb09567a73e49eddb 100644 --- a/Makefile +++ b/Makefile @@ -213,6 +213,9 @@ dirclean: FORCE export GLUON_GENERATE := $(GLUONDIR)/scripts/generate.sh export GLUON_CONFIGURE := $(GLUONDIR)/scripts/configure.pl +export MD5SUM := $(GLUONDIR)/scripts/md5sum.sh +export SHA512SUM := $(GLUONDIR)/scripts/sha512sum.sh + download: FORCE +$(SUBMAKE) tools/download @@ -342,7 +345,7 @@ manifest: FORCE [ -e "$$file" ] && echo \ '$(GLUON_$(profile)_MODEL_$(model))' \ "$$(echo "$$file" | sed -n -r -e 's/^gluon-$(call regex-escape,$(GLUON_SITE_CODE))-(.*)-$(call regex-escape,$(GLUON_$(profile)_MODEL_$(model)))-sysupgrade\.bin$$/\1/p')" \ - "$$(sha512sum "$$file" | awk '{print $$1}')" \ + "$$($(SHA512SUM) "$$file")" \ "$$file" && break; \ done; \ ) \ diff --git a/scripts/md5sum.sh b/scripts/md5sum.sh new file mode 100755 index 0000000000000000000000000000000000000000..6160058362303416be9ca921667629a8a189dfdc --- /dev/null +++ b/scripts/md5sum.sh @@ -0,0 +1,18 @@ +#!/bin/sh + +check_command() { + which $1 >/dev/null 2>&1 +} + +if check_command md5sum; then + ret="$(md5sum "$@")" +elif check_command md5; then + ret="$(md5 -q "$@")" +else + echo "$0: no suitable md5sum implementation was found" >&1 + exit 1 +fi + +[ "$?" -eq 0 ] || exit 1 + +echo "$ret" | awk '{ print $1 }' diff --git a/scripts/sha512sum.sh b/scripts/sha512sum.sh new file mode 100755 index 0000000000000000000000000000000000000000..921e5c6c65c69bc68ddb9a0ff3b5b22e18b99619 --- /dev/null +++ b/scripts/sha512sum.sh @@ -0,0 +1,20 @@ +#!/bin/sh + +check_command() { + which $1 >/dev/null 2>&1 +} + +if check_command sha512sum; then + ret="$(sha512sum "$@")" +elif check_command shasum; then + ret="$(shasum -a 512 "$@")" +elif check_command cksum; then + ret="$(cksum -q -a sha512 "$@")" +else + echo "$0: no suitable sha512sum implementation was found" >&1 + exit 1 +fi + +[ "$?" -eq 0 ] || exit 1 + +echo "$ret" | awk '{ print $1 }'