common/bin/compare.sh

changeset 808
0f704e36bc5d
parent 685
bee6ff988f9c
child 912
a667caba1e84
equal deleted inserted replaced
806:5ec3c4948863 808:0f704e36bc5d
74 SUFFIX="${THIS_FILE##*.}" 74 SUFFIX="${THIS_FILE##*.}"
75 75
76 TMP=1 76 TMP=1
77 77
78 if [[ "$THIS_FILE" = *"META-INF/MANIFEST.MF" ]]; then 78 if [[ "$THIS_FILE" = *"META-INF/MANIFEST.MF" ]]; then
79 TMP=$(LANG=C $DIFF $OTHER_FILE $THIS_FILE | \ 79 TMP=$(LC_ALL=C $DIFF $OTHER_FILE $THIS_FILE | \
80 $GREP '^[<>]' | \ 80 $GREP '^[<>]' | \
81 $SED -e '/[<>] Ant-Version: Apache Ant .*/d' \ 81 $SED -e '/[<>] Ant-Version: Apache Ant .*/d' \
82 -e '/[<>] Created-By: .* (Oracle Corporation).*/d') 82 -e '/[<>] Created-By: .* (Oracle Corporation).*/d')
83 fi 83 fi
84 if test "x$SUFFIX" = "xjava"; then 84 if test "x$SUFFIX" = "xjava"; then
85 TMP=$(LANG=C $DIFF $OTHER_FILE $THIS_FILE | \ 85 TMP=$(LC_ALL=C $DIFF $OTHER_FILE $THIS_FILE | \
86 $GREP '^[<>]' | \ 86 $GREP '^[<>]' | \
87 $SED -e '/[<>] \* from.*\.idl/d' \ 87 $SED -e '/[<>] \* from.*\.idl/d' \
88 -e '/[<>] \*.*[0-9]\{4\}_[0-9]\{2\}_[0-9]\{2\}_[0-9]\{2\}_[0-9]\{2\}-b[0-9]\{2\}.*/d' \ 88 -e '/[<>] \*.*[0-9]\{4\}_[0-9]\{2\}_[0-9]\{2\}_[0-9]\{2\}_[0-9]\{2\}-b[0-9]\{2\}.*/d' \
89 -e '/[<>] \*.*[0-9]\{4\} [0-9][0-9]*:[0-9]\{2\}:[0-9]\{2\}.*/d' \ 89 -e '/[<>] \*.*[0-9]\{4\} [0-9][0-9]*:[0-9]\{2\}:[0-9]\{2\}.*/d' \
90 -e '/\/\/ Generated from input file.*/d' \ 90 -e '/\/\/ Generated from input file.*/d' \
119 # $CAT $OTHER_FILE | $SED -e 's/\([^\\]\):/\1\\:/g' -e 's/\([^\\]\)=/\1\\=/g' -e 's/#.*/#/g' \ 119 # $CAT $OTHER_FILE | $SED -e 's/\([^\\]\):/\1\\:/g' -e 's/\([^\\]\)=/\1\\=/g' -e 's/#.*/#/g' \
120 # | $SED -f "$SRC_ROOT/common/makefiles/support/unicode2x.sed" \ 120 # | $SED -f "$SRC_ROOT/common/makefiles/support/unicode2x.sed" \
121 # | $SED -e '/^#/d' -e '/^$/d' \ 121 # | $SED -e '/^#/d' -e '/^$/d' \
122 # -e :a -e '/\\$/N; s/\\\n//; ta' \ 122 # -e :a -e '/\\$/N; s/\\\n//; ta' \
123 # -e 's/^[ \t]*//;s/[ \t]*$//' \ 123 # -e 's/^[ \t]*//;s/[ \t]*$//' \
124 # -e 's/\\=/=/' | LANG=C $SORT > $OTHER_FILE.cleaned 124 # -e 's/\\=/=/' | LC_ALL=C $SORT > $OTHER_FILE.cleaned
125 TMP=$(LANG=C $DIFF $OTHER_FILE.cleaned $THIS_FILE) 125 TMP=$(LC_ALL=C $DIFF $OTHER_FILE.cleaned $THIS_FILE)
126 fi 126 fi
127 if test -n "$TMP"; then 127 if test -n "$TMP"; then
128 echo Files $OTHER_FILE and $THIS_FILE differ 128 echo Files $OTHER_FILE and $THIS_FILE differ
129 return 1 129 return 1
130 fi 130 fi
408 done 408 done
409 409
410 CONTENTS_DIFF_FILE=$WORK_DIR/$ZIP_FILE.diff 410 CONTENTS_DIFF_FILE=$WORK_DIR/$ZIP_FILE.diff
411 # On solaris, there is no -q option. 411 # On solaris, there is no -q option.
412 if [ "$OPENJDK_TARGET_OS" = "solaris" ]; then 412 if [ "$OPENJDK_TARGET_OS" = "solaris" ]; then
413 LANG=C $DIFF -r $OTHER_UNZIPDIR $THIS_UNZIPDIR \ 413 LC_ALL=C $DIFF -r $OTHER_UNZIPDIR $THIS_UNZIPDIR \
414 | $GREP -v -e "^<" -e "^>" -e "^Common subdirectories:" \ 414 | $GREP -v -e "^<" -e "^>" -e "^Common subdirectories:" \
415 > $CONTENTS_DIFF_FILE 415 > $CONTENTS_DIFF_FILE
416 else 416 else
417 LANG=C $DIFF -rq $OTHER_UNZIPDIR $THIS_UNZIPDIR > $CONTENTS_DIFF_FILE 417 LC_ALL=C $DIFF -rq $OTHER_UNZIPDIR $THIS_UNZIPDIR > $CONTENTS_DIFF_FILE
418 fi 418 fi
419 419
420 ONLY_OTHER=$($GREP "^Only in $OTHER_UNZIPDIR" $CONTENTS_DIFF_FILE) 420 ONLY_OTHER=$($GREP "^Only in $OTHER_UNZIPDIR" $CONTENTS_DIFF_FILE)
421 ONLY_THIS=$($GREP "^Only in $THIS_UNZIPDIR" $CONTENTS_DIFF_FILE) 421 ONLY_THIS=$($GREP "^Only in $THIS_UNZIPDIR" $CONTENTS_DIFF_FILE)
422 422
457 $CAT $WORK_DIR/$ZIP_FILE.difflist 457 $CAT $WORK_DIR/$ZIP_FILE.difflist
458 458
459 if [ -n "$SHOW_DIFFS" ]; then 459 if [ -n "$SHOW_DIFFS" ]; then
460 for i in $(cat $WORK_DIR/$ZIP_FILE.difflist) ; do 460 for i in $(cat $WORK_DIR/$ZIP_FILE.difflist) ; do
461 if [ -f "${OTHER_UNZIPDIR}/$i.javap" ]; then 461 if [ -f "${OTHER_UNZIPDIR}/$i.javap" ]; then
462 LANG=C $DIFF ${OTHER_UNZIPDIR}/$i.javap ${THIS_UNZIPDIR}/$i.javap 462 LC_ALL=C $DIFF ${OTHER_UNZIPDIR}/$i.javap ${THIS_UNZIPDIR}/$i.javap
463 elif [ -f "${OTHER_UNZIPDIR}/$i.cleaned" ]; then 463 elif [ -f "${OTHER_UNZIPDIR}/$i.cleaned" ]; then
464 LANG=C $DIFF ${OTHER_UNZIPDIR}/$i.cleaned ${THIS_UNZIPDIR}/$i 464 LC_ALL=C $DIFF ${OTHER_UNZIPDIR}/$i.cleaned ${THIS_UNZIPDIR}/$i
465 else 465 else
466 LANG=C $DIFF ${OTHER_UNZIPDIR}/$i ${THIS_UNZIPDIR}/$i 466 LC_ALL=C $DIFF ${OTHER_UNZIPDIR}/$i ${THIS_UNZIPDIR}/$i
467 fi 467 fi
468 done 468 done
469 fi 469 fi
470 fi 470 fi
471 471
701 else 701 else
702 $NM -a $ORIG_OTHER_FILE 2> /dev/null | $GREP -v $NAME | $AWK '{print $2, $3, $4, $5}' | $SYM_SORT_CMD > $WORK_FILE_BASE.symbols.other 702 $NM -a $ORIG_OTHER_FILE 2> /dev/null | $GREP -v $NAME | $AWK '{print $2, $3, $4, $5}' | $SYM_SORT_CMD > $WORK_FILE_BASE.symbols.other
703 $NM -a $ORIG_THIS_FILE 2> /dev/null | $GREP -v $NAME | $AWK '{print $2, $3, $4, $5}' | $SYM_SORT_CMD > $WORK_FILE_BASE.symbols.this 703 $NM -a $ORIG_THIS_FILE 2> /dev/null | $GREP -v $NAME | $AWK '{print $2, $3, $4, $5}' | $SYM_SORT_CMD > $WORK_FILE_BASE.symbols.this
704 fi 704 fi
705 705
706 LANG=C $DIFF $WORK_FILE_BASE.symbols.other $WORK_FILE_BASE.symbols.this > $WORK_FILE_BASE.symbols.diff 706 LC_ALL=C $DIFF $WORK_FILE_BASE.symbols.other $WORK_FILE_BASE.symbols.this > $WORK_FILE_BASE.symbols.diff
707 if [ -s $WORK_FILE_BASE.symbols.diff ]; then 707 if [ -s $WORK_FILE_BASE.symbols.diff ]; then
708 SYM_MSG=" diff " 708 SYM_MSG=" diff "
709 if [[ "$ACCEPTED_SYM_DIFF" != *"$BIN_FILE"* ]]; then 709 if [[ "$ACCEPTED_SYM_DIFF" != *"$BIN_FILE"* ]]; then
710 DIFF_SYM=true 710 DIFF_SYM=true
711 if [[ "$KNOWN_SYM_DIFF" != *"$BIN_FILE"* ]]; then 711 if [[ "$KNOWN_SYM_DIFF" != *"$BIN_FILE"* ]]; then
730 if [ -n "$LDD_CMD" ]; then 730 if [ -n "$LDD_CMD" ]; then
731 (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) 731 (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)
732 (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) 732 (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)
733 (cd $FILE_WORK_DIR && $RM -f $NAME) 733 (cd $FILE_WORK_DIR && $RM -f $NAME)
734 734
735 LANG=C $DIFF $WORK_FILE_BASE.deps.other $WORK_FILE_BASE.deps.this > $WORK_FILE_BASE.deps.diff 735 LC_ALL=C $DIFF $WORK_FILE_BASE.deps.other $WORK_FILE_BASE.deps.this > $WORK_FILE_BASE.deps.diff
736 LANG=C $DIFF $WORK_FILE_BASE.deps.other.uniq $WORK_FILE_BASE.deps.this.uniq > $WORK_FILE_BASE.deps.diff.uniq 736 LC_ALL=C $DIFF $WORK_FILE_BASE.deps.other.uniq $WORK_FILE_BASE.deps.this.uniq > $WORK_FILE_BASE.deps.diff.uniq
737 737
738 if [ -s $WORK_FILE_BASE.deps.diff ]; then 738 if [ -s $WORK_FILE_BASE.deps.diff ]; then
739 if [ -s $WORK_FILE_BASE.deps.diff.uniq ]; then 739 if [ -s $WORK_FILE_BASE.deps.diff.uniq ]; then
740 DEP_MSG=" diff " 740 DEP_MSG=" diff "
741 else 741 else
766 766
767 # Compare fulldump output 767 # Compare fulldump output
768 if [ -n "$FULLDUMP_CMD" ] && [ -z "$SKIP_FULLDUMP_DIFF" ]; then 768 if [ -n "$FULLDUMP_CMD" ] && [ -z "$SKIP_FULLDUMP_DIFF" ]; then
769 $FULLDUMP_CMD $OTHER_FILE > $WORK_FILE_BASE.fulldump.other 2>&1 769 $FULLDUMP_CMD $OTHER_FILE > $WORK_FILE_BASE.fulldump.other 2>&1
770 $FULLDUMP_CMD $THIS_FILE > $WORK_FILE_BASE.fulldump.this 2>&1 770 $FULLDUMP_CMD $THIS_FILE > $WORK_FILE_BASE.fulldump.this 2>&1
771 LANG=C $DIFF $WORK_FILE_BASE.fulldump.other $WORK_FILE_BASE.fulldump.this > $WORK_FILE_BASE.fulldump.diff 771 LC_ALL=C $DIFF $WORK_FILE_BASE.fulldump.other $WORK_FILE_BASE.fulldump.this > $WORK_FILE_BASE.fulldump.diff
772 772
773 if [ -s $WORK_FILE_BASE.fulldump.diff ]; then 773 if [ -s $WORK_FILE_BASE.fulldump.diff ]; then
774 ELF_DIFF_SIZE=$(ls -n $WORK_FILE_BASE.fulldump.diff | awk '{print $5}') 774 ELF_DIFF_SIZE=$(ls -n $WORK_FILE_BASE.fulldump.diff | awk '{print $5}')
775 ELF_MSG=$($PRINTF "%8d" $ELF_DIFF_SIZE) 775 ELF_MSG=$($PRINTF "%8d" $ELF_DIFF_SIZE)
776 if [[ "$ACCEPTED_ELF_DIFF" != *"$BIN_FILE"* ]]; then 776 if [[ "$ACCEPTED_ELF_DIFF" != *"$BIN_FILE"* ]]; then
800 DIS_DIFF_FILTER="$CAT" 800 DIS_DIFF_FILTER="$CAT"
801 fi 801 fi
802 $DIS_CMD $OTHER_FILE | $GREP -v $NAME | $DIS_DIFF_FILTER > $WORK_FILE_BASE.dis.other 2>&1 802 $DIS_CMD $OTHER_FILE | $GREP -v $NAME | $DIS_DIFF_FILTER > $WORK_FILE_BASE.dis.other 2>&1
803 $DIS_CMD $THIS_FILE | $GREP -v $NAME | $DIS_DIFF_FILTER > $WORK_FILE_BASE.dis.this 2>&1 803 $DIS_CMD $THIS_FILE | $GREP -v $NAME | $DIS_DIFF_FILTER > $WORK_FILE_BASE.dis.this 2>&1
804 804
805 LANG=C $DIFF $WORK_FILE_BASE.dis.other $WORK_FILE_BASE.dis.this > $WORK_FILE_BASE.dis.diff 805 LC_ALL=C $DIFF $WORK_FILE_BASE.dis.other $WORK_FILE_BASE.dis.this > $WORK_FILE_BASE.dis.diff
806 806
807 if [ -s $WORK_FILE_BASE.dis.diff ]; then 807 if [ -s $WORK_FILE_BASE.dis.diff ]; then
808 DIS_DIFF_SIZE=$(ls -n $WORK_FILE_BASE.dis.diff | awk '{print $5}') 808 DIS_DIFF_SIZE=$(ls -n $WORK_FILE_BASE.dis.diff | awk '{print $5}')
809 DIS_MSG=$($PRINTF "%8d" $DIS_DIFF_SIZE) 809 DIS_MSG=$($PRINTF "%8d" $DIS_DIFF_SIZE)
810 if [[ "$ACCEPTED_DIS_DIFF" != *"$BIN_FILE"* ]]; then 810 if [[ "$ACCEPTED_DIS_DIFF" != *"$BIN_FILE"* ]]; then

mercurial