61 lines
1.4 KiB
Plaintext
61 lines
1.4 KiB
Plaintext
|
#!/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
|