slitaz-forge annotate mirror/floppies/mkmdsum.sh @ rev 717

mirror/floppies: add mkmdsum.sh
author Pascal Bellard <pascal.bellard@slitaz.org>
date Fri Aug 20 11:39:45 2021 +0000 (2021-08-20)
parents
children
rev   line source
pascal@717 1 #!/bin/sh
pascal@717 2
pascal@717 3 case "$1" in
pascal@717 4
pascal@717 5 set)
pascal@717 6 shift
pascal@717 7 for dir in $@; do
pascal@717 8 for i in $dir/*0 ; do
pascal@717 9 echo $i
pascal@717 10 sh $0 md5sum $dir $(basename $i) | tee $i/md5sum
pascal@717 11 done
pascal@717 12 done ;;
pascal@717 13
pascal@717 14 md5sum)
pascal@717 15 n=1; ofs=0; dir=${2:-4.0}; size=${3:-1474560}
pascal@717 16 SETS="$(sed '/sets =/!d;s|.*\[||;s|\].*||;s|,| |g' index-$dir.html)"
pascal@717 17
pascal@717 18 for max in $SETS; do :; done
pascal@717 19 [ ! -s $dir/fd.img ] && cat $dir/fd???.img > $dir/fd.img && dd size=0 bs=1 seek=$max 2>/dev/null
pascal@717 20 for max in $SETS; do
pascal@717 21 while true; do
pascal@717 22 [ $(stat -c %s $dir/fd.img) -gt $ofs ] || break 2
pascal@717 23 dd if=$dir/fd.img bs=512 skip=$(($ofs/512)) count=$(($size/512)) \
pascal@717 24 2>/dev/null | md5sum | sed "s|-$|fd$(printf "%03d" $n).img|"
pascal@717 25 ofs=$(($ofs+$size)); n=$(($n+1))
pascal@717 26 [ $ofs -ge $max ] && n=$(($n-($n%100)+100)) && break
pascal@717 27 done
pascal@717 28 done ;;
pascal@717 29
pascal@717 30 *) cat <<EOT
pascal@717 31 Usage:
pascal@717 32
pascal@717 33 $0 md5sum directory [floppy bytes]
pascal@717 34 display the md5sum file
pascal@717 35
pascal@717 36 $0 set directory...
pascal@717 37 create every directory/*/md5sum file
pascal@717 38 EOT
pascal@717 39 esac