diff --git a/Makefile b/Makefile index 268296925449f3d7d4e746974d2f2483422f8264..ef266ea5ed622e92dce7c5ff9f89b2929a4ac014 100644 --- a/Makefile +++ b/Makefile @@ -180,6 +180,7 @@ GLUON_$(1)_MODEL_$(2)_ALIASES += $(3) endef +export SHA256SUM := $(GLUONDIR)/scripts/sha256sum.sh export SHA512SUM := $(GLUONDIR)/scripts/sha512sum.sh @@ -489,11 +490,16 @@ manifest: FORCE $(if $(GLUON_$(profile)_SYSUPGRADE_EXT), \ $(foreach model,$(GLUON_$(profile)_MODELS), \ file="$(IMAGE_PREFIX)-$(model)-sysupgrade$(GLUON_$(profile)_SYSUPGRADE_EXT)"; \ - [ -e "$$file" ] && echo '$(model)' "$(PREPARED_RELEASE)" "$$($(SHA512SUM) "$$file")" "$$file"; \ - \ + [ -e "$$file" ] && ( \ + echo '$(model)' "$(PREPARED_RELEASE)" "$$($(SHA256SUM) "$$file")" "$$file"; \ + echo '$(model)' "$(PREPARED_RELEASE)" "$$($(SHA512SUM) "$$file")" "$$file"; \ + ); \ $(foreach alias,$(GLUON_$(profile)_MODEL_$(model)_ALIASES), \ file="$(IMAGE_PREFIX)-$(alias)-sysupgrade$(GLUON_$(profile)_SYSUPGRADE_EXT)"; \ - [ -e "$$file" ] && echo '$(alias)' "$(PREPARED_RELEASE)" "$$($(SHA512SUM) "$$file")" "$$file"; \ + [ -e "$$file" ] && ( \ + echo '$(alias)' "$(PREPARED_RELEASE)" "$$($(SHA256SUM) "$$file")" "$$file"; \ + echo '$(alias)' "$(PREPARED_RELEASE)" "$$($(SHA512SUM) "$$file")" "$$file"; \ + ); \ ) \ ) \ ) \ diff --git a/scripts/sha256sum.sh b/scripts/sha256sum.sh new file mode 100755 index 0000000000000000000000000000000000000000..e4f6f3e5b9e8fc532158e28d39c9df3ec6d6e45e --- /dev/null +++ b/scripts/sha256sum.sh @@ -0,0 +1,20 @@ +#!/bin/sh + +check_command() { + which "$1" >/dev/null 2>&1 +} + +if check_command sha256sum; then + ret="$(sha256sum "$@")" +elif check_command shasum; then + ret="$(shasum -a 256 "$@")" +elif check_command cksum; then + ret="$(cksum -q -a sha256 "$@")" +else + echo "$0: no suitable sha256sum implementation was found" >&2 + exit 1 +fi + +[ "$?" -eq 0 ] || exit 1 + +echo "$ret" | awk '{ print $1 }'