#!/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