1.1 --- a/common/bin/compare.sh Sat Nov 03 16:15:26 2012 -0700 1.2 +++ b/common/bin/compare.sh Sat Nov 03 16:28:14 2012 -0700 1.3 @@ -352,6 +352,29 @@ 1.4 (cd $THIS_UNZIPDIR && $UNARCHIVE $THIS_ZIP) 1.5 (cd $OTHER_UNZIPDIR && $UNARCHIVE $OTHER_ZIP) 1.6 1.7 + # Find all archives inside and unzip them as well to compare the contents rather than 1.8 + # the archives. 1.9 + EXCEPTIONS="" 1.10 + for pack in $($FIND $THIS_UNZIPDIR -name "*.pack" -o -name "*.pack.gz"); do 1.11 + ($UNPACK200 $pack $pack.jar) 1.12 + # Filter out the unzipped archives from the diff below. 1.13 + EXCEPTIONS="$EXCEPTIONS $pack $pack.jar" 1.14 + done 1.15 + for pack in $($FIND $OTHER_UNZIPDIR -name "*.pack" -o -name "*.pack.gz"); do 1.16 + ($UNPACK200 $pack $pack.jar) 1.17 + EXCEPTIONS="$EXCEPTIONS $pack $pack.jar" 1.18 + done 1.19 + for zip in $($FIND $THIS_UNZIPDIR -name "*.jar" -o -name "*.zip"); do 1.20 + $MKDIR $zip.unzip 1.21 + (cd $zip.unzip && $UNARCHIVE $zip) 1.22 + EXCEPTIONS="$EXCEPTIONS $zip" 1.23 + done 1.24 + for zip in $($FIND $OTHER_UNZIPDIR -name "*.jar" -o -name "*.zip"); do 1.25 + $MKDIR $zip.unzip 1.26 + (cd $zip.unzip && $UNARCHIVE $zip) 1.27 + EXCEPTIONS="$EXCEPTIONS $zip" 1.28 + done 1.29 + 1.30 CONTENTS_DIFF_FILE=$WORK_DIR/$ZIP_FILE.diff 1.31 # On solaris, there is no -q option. 1.32 if [ "$OPENJDK_TARGET_OS" = "solaris" ]; then 1.33 @@ -389,7 +412,7 @@ 1.34 1.35 $RM -f $WORK_DIR/$ZIP_FILE.diffs 1.36 for file in $DIFFING_FILES; do 1.37 - if [[ "$ACCEPTED_JARZIP_CONTENTS" != *"$file"* ]]; then 1.38 + if [[ "$ACCEPTED_JARZIP_CONTENTS $EXCEPTIONS" != *"$file"* ]]; then 1.39 diff_text $OTHER_UNZIPDIR/$file $THIS_UNZIPDIR/$file >> $WORK_DIR/$ZIP_FILE.diffs 1.40 fi 1.41 done 1.42 @@ -664,8 +687,8 @@ 1.43 1.44 # Check dependencies 1.45 if [ -n "$LDD_CMD" ]; then 1.46 - (cd $FILE_WORK_DIR && $CP $OTHER_FILE . && $LDD_CMD $NAME | $AWK '{ print $1;}' | $SORT | $TEE $WORK_FILE_BASE.deps.other | $UNIQ > $WORK_FILE_BASE.deps.other.uniq) 1.47 - (cd $FILE_WORK_DIR && $CP $THIS_FILE . && $LDD_CMD $NAME | $AWK '{ print $1;}' | $SORT | $TEE $WORK_FILE_BASE.deps.this | $UNIQ > $WORK_FILE_BASE.deps.this.uniq) 1.48 + (cd $FILE_WORK_DIR && $CP $OTHER_FILE . && $LDD_CMD $NAME 2>/dev/null | $AWK '{ print $1;}' | $SORT | $TEE $WORK_FILE_BASE.deps.other | $UNIQ > $WORK_FILE_BASE.deps.other.uniq) 1.49 + (cd $FILE_WORK_DIR && $CP $THIS_FILE . && $LDD_CMD $NAME 2</dev/null | $AWK '{ print $1;}' | $SORT | $TEE $WORK_FILE_BASE.deps.this | $UNIQ > $WORK_FILE_BASE.deps.this.uniq) 1.50 (cd $FILE_WORK_DIR && $RM -f $NAME) 1.51 1.52 LANG=C $DIFF $WORK_FILE_BASE.deps.other $WORK_FILE_BASE.deps.this > $WORK_FILE_BASE.deps.diff 1.53 @@ -846,7 +869,12 @@ 1.54 if [ "$OPENJDK_TARGET_OS" = "windows" ]; then 1.55 EXECS=$(cd $THIS_DIR && $FIND . -type f -name '*.exe' | $SORT | $FILTER) 1.56 else 1.57 - EXECS=$(cd $THIS_DIR && $FIND . -name db -prune -o -type f -perm -100 \! \( -name '*.so' -o -name '*.dylib' -o -name '*.dll' -o -name '*.cgi' -o -name '*.jar' -o -name '*.diz' \) | $SORT | $FILTER) 1.58 + EXECS=$(cd $THIS_DIR && $FIND . -name db -prune -o -type f -perm -100 \! \ 1.59 + \( -name '*.so' -o -name '*.dylib' -o -name '*.dll' -o -name '*.cgi' \ 1.60 + -o -name '*.jar' -o -name '*.diz' -o -name 'jcontrol' -o -name '*.properties' \ 1.61 + -o -name '*.data' -o -name '*.bfc' -o -name '*.src' -o -name '*.txt' \ 1.62 + -o -name '*.cfg' -o -name 'meta-index' -o -name '*.properties.ja' \ 1.63 + -o -name 'classlist' \) | $SORT | $FILTER) 1.64 fi 1.65 1.66 if [ -n "$EXECS" ]; then 1.67 @@ -1022,6 +1050,7 @@ 1.68 if [ -d "$THIS/deploy/j2sdk-image" ]; then 1.69 THIS_J2SDK="$THIS/deploy/j2sdk-image" 1.70 THIS_J2RE="$THIS/deploy/j2re-image" 1.71 + echo "Comparing deploy images" 1.72 elif [ -d "$THIS/images/j2sdk-image" ]; then 1.73 THIS_J2SDK="$THIS/images/j2sdk-image" 1.74 THIS_J2RE="$THIS/images/j2re-image"