55 lines
1.3 KiB
Bash
Executable file
55 lines
1.3 KiB
Bash
Executable file
#!/bin/bash
|
|
# $Id$
|
|
|
|
# Acknowledgment:
|
|
# The following code is a modified version of an original work written by
|
|
# Greg Schafer for the "DIY Linux" project and is included here with his
|
|
# permission.
|
|
# ref: http://www.diy-linux.org
|
|
#
|
|
|
|
set -e
|
|
|
|
: <<inline_doc
|
|
desc: creates the ICA report
|
|
usage: do_ica_work $PREV $ITERATION $ICALOGDIR $DEST_ICA
|
|
input vars: $1 previous iteration
|
|
$2 current iteration
|
|
$3 ICA log dir
|
|
$4 directory where ICA iterations are stored
|
|
externals: --
|
|
modifies: --
|
|
returns: --
|
|
on error:
|
|
on success:
|
|
inline_doc
|
|
|
|
RAWDIFF=/tmp/rawdiff.$$
|
|
REPORT="${3}/REPORT.${1}V${2}"
|
|
|
|
echo -en "\nGenerating ICA analysis report $1 versus $2 ..."
|
|
|
|
mkdir -p $3
|
|
|
|
cd $4
|
|
|
|
echo -e "Diffing ${1} and ${2}... " > $REPORT
|
|
diff -ur ${1} ${2} > $RAWDIFF || :
|
|
|
|
echo -e "The list of binary files that differ:\n" > $REPORT
|
|
grep "iles.*differ$" $RAWDIFF >> $REPORT
|
|
|
|
echo -e "The list of files that exist \"only in\" 1 of the directories:\n" >> $REPORT
|
|
|
|
if grep "^Only in" $RAWDIFF >/dev/null 2>&1; then
|
|
grep "^Only in" $RAWDIFF >> $REPORT
|
|
else
|
|
echo NONE >> $REPORT
|
|
fi
|
|
|
|
grep -v "iles.*differ$" $RAWDIFF | \
|
|
grep -v "^Only in" > ${ICA_DIR}/${1}V${2}.ASCII.DIFF
|
|
|
|
rm -f $RAWDIFF
|
|
|
|
echo "done."
|