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 |