Browse Source

Add "portable" md5sum and sha512sum scripts

Matthias Schiffer 10 years ago
parent
commit
62feaab756
3 changed files with 42 additions and 1 deletions
  1. 4 1
      Makefile
  2. 18 0
      scripts/md5sum.sh
  3. 20 0
      scripts/sha512sum.sh

+ 4 - 1
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; \
 		) \

+ 18 - 0
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 }'

+ 20 - 0
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 }'