38 lines
845 B
Bash
Executable File
38 lines
845 B
Bash
Executable File
#!/bin/bash
|
|
|
|
cd $1
|
|
|
|
:> MD5SUMS
|
|
|
|
case $DOJIGDO in
|
|
0)
|
|
for file in `find * -name \*.iso`
|
|
do
|
|
md5sum $file >> MD5SUMS
|
|
done
|
|
;;
|
|
1|2)
|
|
for file in `find * -name \*.template`
|
|
do
|
|
if [ "`tail --bytes=33 "$file" | head --bytes=1 | od -tx1 -An | sed -e 's/ //g'`" != 05 ]; then
|
|
echo "Possibly invalid template $file"
|
|
exit
|
|
fi
|
|
grep -q " ${file%%.template}.iso"'$$' MD5SUMS \
|
|
|| echo "`tail --bytes=26 "$file" | \
|
|
head --bytes=16 | \
|
|
od -tx1 -An | \
|
|
sed -e 's/ //g'` ${file%%.template}.iso" >> MD5SUMS
|
|
done
|
|
;;
|
|
*)
|
|
echo "DOJIGDO not defined!"
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
# Likewise, the file size can be extracted from the .template with:
|
|
# tail --bytes=32 $$file | head --bytes=6 | od -tx1 -An \
|
|
# | tr ' abcdef' '\nABCDEF' | tac | tr '\n' ' ' \
|
|
# | sed -e 's/ //g; s/^.*$/ibase=16 & /' | tr ' ' '\n' | bc
|