hardlinks is now content, former content to e merged into new content test
This commit is contained in:
109
libisoburn/trunk/releng/merge_into_isocontent
Executable file
109
libisoburn/trunk/releng/merge_into_isocontent
Executable file
@ -0,0 +1,109 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
START_DIR_DONT_CHANGE=`pwd`
|
||||
SELF=$(basename "$0")
|
||||
# required config items
|
||||
RELENG_XORRISO=""
|
||||
RELENG_DIR=""
|
||||
RELENG_IMG=""
|
||||
|
||||
CONFFILE=$HOME/.libburnia-releng/${SELF}.conf
|
||||
KEEP=0
|
||||
GEN_DATA_DIR=releng_generated_data/${SELF}
|
||||
|
||||
printf "\n$0: FAIL: SCRIPT NOT COMPLETED YET\n"
|
||||
exit 31
|
||||
|
||||
print_help() {
|
||||
cat << HLP
|
||||
Usage:
|
||||
${SELF} -help
|
||||
|
||||
# using a config file ${CONFFILE}
|
||||
${SELF} -rc [-keep]
|
||||
|
||||
# without using a config file
|
||||
${SELF} xorriso_cmd IN_dir OUT_image [-keep]
|
||||
|
||||
# cleanup test generated data directory and exit
|
||||
${SELF} -cleanup
|
||||
HLP
|
||||
}
|
||||
|
||||
|
||||
# Thomas:
|
||||
# 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.
|
||||
|
||||
# George:
|
||||
# xorriso -indev my.iso -find / vs. find input_dir
|
||||
# bsdtar -xf my.iso vs. input_dir
|
||||
|
||||
|
||||
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 'FAIL: Original disk tree and temporary tree differ'
|
||||
else
|
||||
echo "Success."
|
||||
fi
|
||||
|
||||
# Clean up
|
||||
rm -r "$copy_on_disk" "$image_file"
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
exit 0
|
Reference in New Issue
Block a user