debian-cd-clone/tools/imagesums

61 lines
1.4 KiB
Bash
Executable File

#!/bin/bash
cd $1
if [ "$2"x != ""x ] ; then
EXT=".$2"
fi
:> MD5SUMS$EXT
:> SHA1SUMS$EXT
# 2 calls to find here to get the ordering right - we *really* want to
# get the jigdo files first
for file in `find * -name \*.jigdo` `find * -name \*.iso`; do
case $file in
*.jigdo)
iso=${file%%.jigdo}.iso
JIGDO=1
;;
*.iso)
iso=$file
JIGDO=0
;;
*)
echo "Found unexpected file $file!"
exit 1
;;
esac
grep -q $iso MD5SUMS$EXT
if [ $? -ne 0 ] ; then
MD5=""
if [ "$JIGDO" == 1 ] ; then
MD5=`zcat -f $file | awk '/Image Hex MD5Sum/ {print $5}'`
fi
if [ "$MD5"x != ""x ] ; then
echo "$MD5 $iso" >> MD5SUMS$EXT
else
echo "No Jigdo help for md5, doing it the long way"
md5sum $iso >> MD5SUMS$EXT
grep $iso MD5SUMS$EXT
fi
fi
grep -q $iso SHA1SUMS$EXT
if [ $? -ne 0 ] ; then
SHA1=""
if [ "$JIGDO" == 1 ] ; then
SHA1=`zcat -f $file | awk '/Image Hex SHA1Sum/ {print $5}'`
fi
if [ "$SHA1"x != ""x ] ; then
echo "$SHA1 $iso" >> SHA1SUMS$EXT
else
echo "No Jigdo help for sha1, doing it the long way"
sha1sum $iso >> SHA1SUMS$EXT
grep $iso SHA1SUMS$EXT
fi
fi
done