slitaz-forge diff 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 |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/mirror/floppies/mkmdsum.sh Fri Aug 20 11:39:45 2021 +0000 1.3 @@ -0,0 +1,39 @@ 1.4 +#!/bin/sh 1.5 + 1.6 +case "$1" in 1.7 + 1.8 +set) 1.9 + shift 1.10 + for dir in $@; do 1.11 + for i in $dir/*0 ; do 1.12 + echo $i 1.13 + sh $0 md5sum $dir $(basename $i) | tee $i/md5sum 1.14 + done 1.15 + done ;; 1.16 + 1.17 +md5sum) 1.18 + n=1; ofs=0; dir=${2:-4.0}; size=${3:-1474560} 1.19 + SETS="$(sed '/sets =/!d;s|.*\[||;s|\].*||;s|,| |g' index-$dir.html)" 1.20 + 1.21 + for max in $SETS; do :; done 1.22 + [ ! -s $dir/fd.img ] && cat $dir/fd???.img > $dir/fd.img && dd size=0 bs=1 seek=$max 2>/dev/null 1.23 + for max in $SETS; do 1.24 + while true; do 1.25 + [ $(stat -c %s $dir/fd.img) -gt $ofs ] || break 2 1.26 + dd if=$dir/fd.img bs=512 skip=$(($ofs/512)) count=$(($size/512)) \ 1.27 + 2>/dev/null | md5sum | sed "s|-$|fd$(printf "%03d" $n).img|" 1.28 + ofs=$(($ofs+$size)); n=$(($n+1)) 1.29 + [ $ofs -ge $max ] && n=$(($n-($n%100)+100)) && break 1.30 + done 1.31 + done ;; 1.32 + 1.33 +*) cat <<EOT 1.34 +Usage: 1.35 + 1.36 +$0 md5sum directory [floppy bytes] 1.37 + display the md5sum file 1.38 + 1.39 +$0 set directory... 1.40 + create every directory/*/md5sum file 1.41 +EOT 1.42 +esac