]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Add sha1sum-sh in case there is no util on the system.
authorJason Parker <jparker@digium.com>
Wed, 28 Jul 2010 19:54:54 +0000 (19:54 +0000)
committerJason Parker <jparker@digium.com>
Wed, 28 Jul 2010 19:54:54 +0000 (19:54 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@280227 65c4cc65-6c06-0410-ace0-fbb531ad65f3

build_tools/sha1sum-sh [new file with mode: 0755]

diff --git a/build_tools/sha1sum-sh b/build_tools/sha1sum-sh
new file mode 100755 (executable)
index 0000000..33d53f1
--- /dev/null
@@ -0,0 +1,71 @@
+#!/bin/sh
+
+check=0
+status=0
+
+while [ x"$1" != x ]; do
+       case $1 in
+       -c)
+               check=1
+               shift
+               continue;;
+       --status)
+               status=1
+               shift
+               continue;;
+       -*)
+               if [ $status = 0 ]; then
+                       echo "Unrecognized option $1" 1>&2
+               fi
+               exit 1
+               ;;
+       *)
+               dst=$1
+               shift
+               continue;;
+       esac
+done
+
+if [ x"$dst" = x ]; then
+       if [ $status = 0 ]; then
+               echo "Usage: $0 [<options>] <filename>" 1>&2
+       fi
+       exit 1
+fi
+
+if [ $check = 1 ]; then
+       if [ -f $dst ]; then
+               sum1=`cut -d' ' -f1 $dst`
+               file=`cut -d' ' -f3 $dst`
+               sum2=`openssl sha1 $file | cut -d' ' -f2`
+               if [ x"$sum1" = x"$sum2" ]; then
+                       if [ $status = 0 ]; then
+                               echo "$dst: OK"
+                       fi
+                       exit 0
+               else
+                       if [ $status = 0 ]; then
+                               echo "$dst: FAILED"
+                       fi
+                       exit 1
+               fi
+       else
+               echo "$0: $dst: No such file or directory" 1>&2
+               exit 1
+       fi
+else
+       if [ x"$status" = x1 ]; then
+               echo "$0: the --status option is meaningful only when verifying checksums" 1>&2
+               exit 1
+       fi
+
+       if [ -f $dst ]; then
+               sum=`openssl sha1 $dst | cut -d' ' -f2`
+               echo "$dst  $sum"
+               exit 0
+       else
+               echo "$0: $dst: No such file or directory" 1>&2
+               exit 1
+       fi
+fi
+