2011-06-25 16:58:16 +00:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
set -e
|
|
|
|
|
2011-06-26 20:51:16 +00:00
|
|
|
START_DIR_DONT_CHANGE=`pwd`
|
2011-06-25 16:58:16 +00:00
|
|
|
|
2011-06-26 20:51:16 +00:00
|
|
|
# required config items
|
|
|
|
XOR=""
|
|
|
|
DIR=""
|
|
|
|
IMG=""
|
|
|
|
|
|
|
|
printf "\n$0: SCRIPT NOT COMPLETED YET\n"
|
2011-06-26 14:54:49 +00:00
|
|
|
exit 100
|
|
|
|
|
2011-06-26 20:51:16 +00:00
|
|
|
|
2011-06-25 19:18:23 +00:00
|
|
|
# Thomas:
|
2011-06-25 18:28:00 +00:00
|
|
|
# xorriso provides built-in means for comparison:
|
|
|
|
# -compare_r disk_path iso_rr_path
|
|
|
|
# Possibly i will have to enhance it so that it is suitable for automatic
|
|
|
|
# testing. (I used it mainly for testing -update_r.)
|
|
|
|
|
|
|
|
# xorriso could use
|
|
|
|
# -osirrox on -extract iso_rr_path disk_path
|
|
|
|
# to pull a tree out of the image without mounting it.
|
|
|
|
|
|
|
|
# One could mount the image -o loop. (Needs superuser authority.)
|
|
|
|
|
|
|
|
# There is a program test/compare_file which acts on a mounted image
|
|
|
|
# or on extracted trees i.e. completely independent of xorriso code.
|
|
|
|
# See libisoburn/README paragraph "Testing".
|
|
|
|
# With extracted trees one will want to use option -no_ctime.
|
|
|
|
|
|
|
|
# One may use command diff -r to compare directory trees of a mounted image
|
|
|
|
# or extracted trees.
|
|
|
|
|
2011-06-25 19:18:23 +00:00
|
|
|
# George:
|
|
|
|
# xorriso -indev my.iso -find / vs. find input_dir
|
|
|
|
# bsdtar -xf my.iso vs. input_dir
|
2011-06-25 18:28:00 +00:00
|
|
|
|
2011-06-26 20:51:16 +00:00
|
|
|
|
|
|
|
Sketched by Thomas:
|
|
|
|
------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
image_file=/tmp/...
|
|
|
|
on_disk=...
|
|
|
|
in_iso="$on_disk"
|
|
|
|
copy_on_disk=/tmp/...
|
|
|
|
|
|
|
|
if test -e "$image_file"
|
|
|
|
then
|
|
|
|
echo "TEST ENVIRONMENT ERROR: Existing image_file target:" >&2
|
|
|
|
ls -ld "$image_file" >&2
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
if test -e "$copy_on_disk"
|
|
|
|
then
|
|
|
|
echo "TEST ENVIRONMENT ERROR: Existing copy_on_disk target:" >&2
|
|
|
|
ls -ld "$copy_on_disk" >&2
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
# Produce simple image
|
|
|
|
xorriso \
|
|
|
|
-for_backup \
|
|
|
|
-outdev "$image_file" \
|
|
|
|
-map "$on_disk" "$in_iso"
|
|
|
|
|
|
|
|
# Copy from image to temporary disk tree
|
|
|
|
xorriso \
|
|
|
|
-for_backup \
|
|
|
|
-indev "$image_file" \
|
|
|
|
-osirrox on \
|
|
|
|
-extract "$in_iso" "$copy_on_disk"
|
|
|
|
|
|
|
|
# Compare original disk tree and temporary one
|
|
|
|
diff -r "$on_disk" "$copy_on_disk"
|
|
|
|
if test "$?" -ne 0
|
|
|
|
then
|
|
|
|
echo 'FAILURE !!!'
|
|
|
|
else
|
|
|
|
echo "Success."
|
|
|
|
fi
|
|
|
|
|
|
|
|
# Clean up
|
|
|
|
rm -r "$copy_on_disk" "$image_file"
|
|
|
|
|
|
|
|
------------------------------------------------------------------------------
|
|
|
|
|
2011-06-25 16:58:16 +00:00
|
|
|
exit 0
|