--- old/common/bin/compare.sh 2016-02-10 14:18:37.525010069 +0100 +++ new/common/bin/compare.sh 2016-02-10 14:18:37.441006563 +0100 @@ -102,32 +102,21 @@ if test "x$SUFFIX" = "xclass"; then # To improve performance when large diffs are found, do a rough filtering of classes # elibeble for these exceptions - if $GREP -R -e '[0-9]\{4\}_[0-9]\{2\}_[0-9]\{2\}_[0-9]\{2\}_[0-9]\{2\}-b[0-9]\{2\}' \ - -e '[0-9]\{2\}/[0-9]\{2\}/[0-9]\{4\}' \ + if $GREP -R -e '[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}-[0-9]\{6\}' \ -e 'lambda\$[a-zA-Z0-9]*\$[0-9]' ${THIS_FILE} > /dev/null; then $JAVAP -c -constants -l -p "${OTHER_FILE}" > ${OTHER_FILE}.javap $JAVAP -c -constants -l -p "${THIS_FILE}" > ${THIS_FILE}.javap TMP=$($DIFF ${OTHER_FILE}.javap ${THIS_FILE}.javap | \ $GREP '^[<>]' | \ - $SED -e '/[<>].*[0-9]\{4\}_[0-9]\{2\}_[0-9]\{2\}_[0-9]\{2\}_[0-9]\{2\}-b[0-9]\{2\}.*/d' \ - -e '/[0-9]\{2\}\/[0-9]\{2\}\/[0-9]\{4\}/d' \ + $SED -e '/[<>].*[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}-[0-9]\{6\}.*/d' \ -e '/[<>].*lambda\$[a-zA-Z0-9]*\$[0-9]*/d') fi fi if test "x$SUFFIX" = "xproperties"; then - # Run through nawk to add possibly missing newline at end of file. - $CAT $OTHER_FILE | $NAWK '{ print }' | LC_ALL=C $SORT > $OTHER_FILE.cleaned -# Disable this exception since we aren't changing the properties cleaning method yet. -# $CAT $OTHER_FILE | $SED -e 's/\([^\\]\):/\1\\:/g' -e 's/\([^\\]\)=/\1\\=/g' -e 's/#.*/#/g' \ -# | $SED -f "$SRC_ROOT/common/makefiles/support/unicode2x.sed" \ -# | $SED -e '/^#/d' -e '/^$/d' \ -# -e :a -e '/\\$/N; s/\\\n//; ta' \ -# -e 's/^[ \t]*//;s/[ \t]*$//' \ -# -e 's/\\=/=/' | LC_ALL=C $SORT > $OTHER_FILE.cleaned # Filter out date string differences. - TMP=$(LC_ALL=C $DIFF $OTHER_FILE.cleaned $THIS_FILE | \ + TMP=$(LC_ALL=C $DIFF $OTHER_FILE $THIS_FILE | \ $GREP '^[<>]' | \ - $SED -e '/[<>].*[0-9]\{4\}_[0-9]\{2\}_[0-9]\{2\}_[0-9]\{2\}_[0-9]\{2\}-b[0-9]\{2\}.*/d') + $SED -e '/[<>].*[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}-[0-9]\{6\}.*/d') fi if test "x$SUFFIX" = "xhtml"; then # Some javadoc versions do not put quotes around font size @@ -306,7 +295,8 @@ ! -name "*.lib" ! -name "*.war" ! -name "JavaControlPanel" \ ! -name "*.obj" ! -name "*.o" ! -name "JavaControlPanelHelper" \ ! -name "JavaUpdater" ! -name "JavaWSApplicationStub" \ - ! -name "jspawnhelper" ! -name "*.a" \ + ! -name "jspawnhelper" ! -name "JavawsLauncher" ! -name "*.a" \ + ! -name "finish_installation" ! -name "Sparkle" \ | $GREP -v "./bin/" | $SORT | $FILTER) echo Other files with binary differences... @@ -320,29 +310,28 @@ THIS_FILE=$WORK_DIR/$f.this $MKDIR -p $(dirname $OTHER_FILE) $MKDIR -p $(dirname $THIS_FILE) - $CAT $OTHER_DIR/$f | $SED 's/\:[0-9a-f]\{12,12\}/:CHANGE/g' > $OTHER_FILE - $CAT $THIS_DIR/$f | $SED 's/\:[0-9a-f]\{12,12\}/:CHANGE/g' > $THIS_FILE + RELEASE_FILTER="$SED \ + -e 's/\:[0-9a-f]\{12,12\}/:CHANGE/g' \ + -e 's/[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}-[0-9]\{6\}//g' + " + $CAT $OTHER_DIR/$f | eval "$RELEASE_FILTER" > $OTHER_FILE + $CAT $THIS_DIR/$f | eval "$RELEASE_FILTER" > $THIS_FILE elif [ "x$SUFFIX" = "xhtml" ]; then # Ignore time stamps in docs files OTHER_FILE=$WORK_DIR/$f.other THIS_FILE=$WORK_DIR/$f.this - $MKDIR -p $(dirname $OTHER_FILE) - $MKDIR -p $(dirname $THIS_FILE) + $MKDIR -p $(dirname $OTHER_FILE) $(dirname $THIS_FILE) + # Older versions of compare might have left soft links with + # these names. + $RM $OTHER_FILE $THIS_FILE #Note that | doesn't work on mac sed. - $CAT $OTHER_DIR/$f | $SED -e 's/\(-- Generated by javadoc \).*\( --\)/\1(removed)\2/' \ - -e 's/\(\)/\1(removed)\2/' \ - -e 's/[A-Z][a-z]*, [A-Z][a-z]* [0-9][0-9]*, [12][0-9]* [0-9][0-9:]* [AMP]\{2,2\} [A-Z][A-Z]*/(removed)/' \ - -e 's/[A-Z][a-z]* [A-Z][a-z]* [0-9][0-9] [0-9][0-9:]* [A-Z][A-Z]* [12][0-9]*/(removed)/' \ - -e 's/^\( from \).*\(\.idl\)$/\1(removed)\2/' \ - -e 's/^\(.*\)\( o'"'"'clock \)\([A-Z][A-Z][A-Z]\)/(removed)\2(removed)/' \ - > $OTHER_FILE - $CAT $THIS_DIR/$f | $SED -e 's/\(-- Generated by javadoc \).*\( --\)/\1(removed)\2/' \ - -e 's/\(\)/\1(removed)\2/' \ - -e 's/[A-Z][a-z]*, [A-Z][a-z]* [0-9][0-9]*, [12][0-9]* [0-9][0-9:]* [AMP]\{2,2\} [A-Z][A-Z]*/(removed)/' \ - -e 's/[A-Z][a-z]* [A-Z][a-z]* [0-9][0-9] [0-9][0-9:]* [A-Z][A-Z]* [12][0-9]*/(removed)/' \ - -e 's/^\( from \).*\(\.idl\)$/\1(removed)\2/' \ - -e 's/^\(.*\)\( o'"'"'clock \)\([A-Z][A-Z][A-Z]\)/(removed)\2(removed)/' \ - > $THIS_FILE + HTML_FILTER="$SED \ + -e 's/[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}-[0-9]\{6\}//g' \ + -e 's/\(-- Generated by javadoc \).*\( --\)/\1(removed)\2/' \ + -e 's/[A-Z][a-z]*, [A-Z][a-z]* [0-9][0-9]*, [0-9]\{4\} [0-9][0-9:]* [AMP]\{2,2\} [A-Z][A-Z]*//' + " + $CAT $OTHER_DIR/$f | eval "$HTML_FILTER" > $OTHER_FILE + $CAT $THIS_DIR/$f | eval "$HTML_FILTER" > $THIS_FILE else OTHER_FILE=$OTHER_DIR/$f THIS_FILE=$THIS_DIR/$f @@ -605,11 +594,17 @@ OTHER_FILE_BASE=${OTHER_FILE_BASE/.exe/} OTHER_FILE_BASE=${OTHER_FILE_BASE/.cpl/} DIZ_NAME=$(basename $OTHER_FILE_BASE).diz - # java.exe and java.dll diz files will have the same name. Have to - # make sure java.exe gets the right one. This is only needed for - # OTHER since in the new build, all pdb files are left around. - if [ "$NAME" = "java.exe" ] && [ -f "$OTHER/tmp/java/java/obj64/java.diz" ]; then - OTHER_DIZ_FILE="$OTHER/tmp/java/java/obj64/java.diz" + # Some .exe files have the same name as a .dll file. Make sure the exe + # files get the right debug symbols. + if [ "$NAME" = "java.exe" ] \ + && [ -f "$OTHER/support/native/java.base/java_objs/java.diz" ]; then + OTHER_DIZ_FILE="$OTHER/support/native/java.base/java_objs/java.diz" + elif [ "$NAME" = "jimage.exe" ] \ + && [ -f "$OTHER/support/native/jdk.dev/jimage_objs/jimage.diz" ]; then + OTHER_DIZ_FILE="$OTHER/support/native/jdk.dev/jimage_objs/jimage.diz" + elif [ "$NAME" = "javacpl.exe" ] \ + && [ -f "$OTHER/support/native/jdk.plugin/javacpl/javacpl.diz" ]; then + OTHER_DIZ_FILE="$OTHER/support/native/jdk.plugin/javacpl/javacpl.diz" elif [ -f "${OTHER_FILE_BASE}.diz" ]; then OTHER_DIZ_FILE=${OTHER_FILE_BASE}.diz else @@ -627,9 +622,22 @@ (cd $FILE_WORK_DIR/other ; $UNARCHIVE -o $OTHER_DIZ_FILE) export _NT_SYMBOL_PATH="$FILE_WORK_DIR/other" fi + THIS_FILE_BASE=${THIS_FILE/.dll/} THIS_FILE_BASE=${THIS_FILE_BASE/.exe/} - if [ -f "${THIS_FILE/.dll/}.diz" ]; then + THIS_FILE_BASE=${THIS_FILE_BASE/.cpl/} + # Some .exe files have the same name as a .dll file. Make sure the exe + # files get the right debug symbols. + if [ "$NAME" = "java.exe" ] \ + && [ -f "$THIS/support/native/java.base/java_objs/java.diz" ]; then + THIS_DIZ_FILE="$THIS/support/native/java.base/java_objs/java.diz" + elif [ "$NAME" = "jimage.exe" ] \ + && [ -f "$THIS/support/native/jdk.dev/jimage_objs/jimage.diz" ]; then + THIS_DIZ_FILE="$THIS/support/native/jdk.dev/jimage_objs/jimage.diz" + elif [ "$NAME" = "javacpl.exe" ] \ + && [ -f "$THIS/support/native/jdk.plugin/javacpl/javacpl.diz" ]; then + THIS_DIZ_FILE="$THIS/support/native/jdk.plugin/javacpl/javacpl.diz" + elif [ -f "${THIS_FILE_BASE}.diz" ]; then THIS_DIZ_FILE=${THIS_FILE/.dll/}.diz else THIS_DIZ_FILE="$($FIND $THIS_DIR -name $DIZ_NAME | $SED 1q)" @@ -856,8 +864,15 @@ if [ -z "$DIS_DIFF_FILTER" ]; then DIS_DIFF_FILTER="$GREP -v ' # .* <.*>$' | $SED -r -e 's/(\b|x)([0-9a-fA-F]+)(\b|:|>)/X/g'" fi - $DIS_CMD $OTHER_FILE | $GREP -v $NAME | eval "$DIS_DIFF_FILTER" > $WORK_FILE_BASE.dis.other 2>&1 - $DIS_CMD $THIS_FILE | $GREP -v $NAME | eval "$DIS_DIFF_FILTER" > $WORK_FILE_BASE.dis.this 2>&1 + if [ "$OPENJDK_TARGET_OS" = "windows" ]; then + DIS_GREP_ARG=-a + else + DIS_GREP_ARG= + fi + $DIS_CMD $OTHER_FILE | $GREP $DIS_GREP_ARG -v $NAME \ + | eval "$DIS_DIFF_FILTER" > $WORK_FILE_BASE.dis.other 2>&1 + $DIS_CMD $THIS_FILE | $GREP $DIS_GREP_ARG -v $NAME \ + | eval "$DIS_DIFF_FILTER" > $WORK_FILE_BASE.dis.this 2>&1 LC_ALL=C $DIFF $WORK_FILE_BASE.dis.other $WORK_FILE_BASE.dis.this > $WORK_FILE_BASE.dis.diff @@ -974,6 +989,15 @@ -o -name '*.jar' -o -name '*.diz' -o -name 'jcontrol' -o -name '*.properties' \ -o -name '*.data' -o -name '*.bfc' -o -name '*.src' -o -name '*.txt' \ -o -name '*.cfg' -o -name 'meta-index' -o -name '*.properties.ja' \ + -o -name '*.xml' -o -name '*.html' -o -name '*.png' -o -name 'README' \ + -o -name '*.zip' -o -name '*.jimage' -o -name '*.java' -o -name '*.mf' \ + -o -name '*.jpg' -o -name '*.wsdl' -o -name '*.js' -o -name '*.sh' \ + -o -name '*.bat' -o -name '*LICENSE' -o -name '*.d' -o -name '*store' \ + -o -name 'blacklist' -o -name '*certs' -o -name '*.ttf' \ + -o -name '*.jfc' -o -name '*.dat' -o -name 'release' -o -name '*.dir'\ + -o -name '*.sym' -o -name '*.idl' -o -name '*.h' -o -name '*.access' \ + -o -name '*.template' -o -name '*.policy' -o -name '*.security' \ + -o -name 'COPYRIGHT' -o -name '*.1' \ -o -name 'classlist' \) | $SORT | $FILTER) fi @@ -1278,6 +1302,15 @@ echo " $OTHER_DEPLOY_APPLET_PLUGIN_DIR" fi + if [ -d "$THIS/install/sparkle/Sparkle.framework" ] \ + && [ -d "$OTHER/install/sparkle/Sparkle.framework" ]; then + THIS_SPARKLE_DIR="$THIS/install/sparkle/Sparkle.framework" + OTHER_SPARKLE_DIR="$OTHER/install/sparkle/Sparkle.framework" + echo "Also comparing install sparkle framework" + echo " $THIS_SPARKLE_DIR" + echo " $OTHER_SPARKLE_DIR" + fi + if [ -d "$OTHER/images" ]; then OTHER_SEC_DIR="$OTHER/images" else @@ -1298,9 +1331,9 @@ THIS_JGSS_WINDOWS_BIN="$THIS_SEC_DIR/$JGSS_WINDOWS_BIN" fi - if [ -d "$THIS/docs" ] && [ -d "$OTHER/docs" ]; then - THIS_DOCS="$THIS/docs" - OTHER_DOCS="$OTHER/docs" + if [ -d "$THIS/images/docs" ] && [ -d "$OTHER/images/docs" ]; then + THIS_DOCS="$THIS/images/docs" + OTHER_DOCS="$OTHER/images/docs" echo "Also comparing docs" else echo "WARNING! Docs haven't been built and won't be compared." @@ -1314,23 +1347,23 @@ if [ -n "$THIS_JDK" ] && [ -n "$OTHER_JDK" ]; then echo -n "JDK " compare_dirs $THIS_JDK $OTHER_JDK $COMPARE_ROOT/jdk - echo -n "JRE " + echo -n "JRE " compare_dirs $THIS_JRE $OTHER_JRE $COMPARE_ROOT/jre echo -n "JDK " compare_files $THIS_JDK $OTHER_JDK $COMPARE_ROOT/jdk - echo -n "JRE " + echo -n "JRE " compare_files $THIS_JRE $OTHER_JRE $COMPARE_ROOT/jre fi if [ -n "$THIS_JDK_BUNDLE" ] && [ -n "$OTHER_JDK_BUNDLE" ]; then echo -n "JDK Bundle " compare_dirs $THIS_JDK_BUNDLE $OTHER_JDK_BUNDLE $COMPARE_ROOT/jdk-bundle - echo -n "JRE Bundle " + echo -n "JRE Bundle " compare_dirs $THIS_JRE_BUNDLE $OTHER_JRE_BUNDLE $COMPARE_ROOT/jre-bundle echo -n "JDK Bundle " compare_files $THIS_JDK_BUNDLE $OTHER_JDK_BUNDLE $COMPARE_ROOT/jdk-bundle - echo -n "JRE Bundle " + echo -n "JRE Bundle " compare_files $THIS_JRE_BUNDLE $OTHER_JRE_BUNDLE $COMPARE_ROOT/jre-bundle fi if [ -n "$THIS_DOCS" ] && [ -n "$OTHER_DOCS" ]; then @@ -1349,13 +1382,19 @@ echo -n "JavaAppletPlugin " compare_files $THIS_DEPLOY_APPLET_PLUGIN_DIR $OTHER_DEPLOY_APPLET_PLUGIN_DIR $COMPARE_ROOT/plugin fi + if [ -n "$THIS_SPARKLE_DIR" ] && [ -n "$OTHER_SPARKLE_DIR" ]; then + echo -n "Sparkle.framework " + compare_dirs $THIS_SPARKLE_DIR $OTHER_SPARKLE_DIR $COMPARE_ROOT/sparkle + echo -n "Sparkle.framework " + compare_files $THIS_SPARKLE_DIR $OTHER_SPARKLE_DIR $COMPARE_ROOT/sparkle + fi fi if [ "$CMP_PERMS" = "true" ]; then if [ -n "$THIS_JDK" ] && [ -n "$OTHER_JDK" ]; then echo -n "JDK " compare_permissions $THIS_JDK $OTHER_JDK $COMPARE_ROOT/jdk - echo -n "JRE " + echo -n "JRE " compare_permissions $THIS_JRE $OTHER_JRE $COMPARE_ROOT/jre fi if [ -n "$THIS_BASE_DIR" ] && [ -n "$OTHER_BASE_DIR" ]; then @@ -1365,19 +1404,23 @@ echo -n "JavaAppletPlugin " compare_permissions $THIS_DEPLOY_APPLET_PLUGIN_DIR $OTHER_DEPLOY_APPLET_PLUGIN_DIR $COMPARE_ROOT/plugin fi + if [ -n "$THIS_SPARKLE_DIR" ] && [ -n "$OTHER_SPARKLE_DIR" ]; then + echo -n "Sparkle.framework " + compare_permissions $THIS_SPARKLE_DIR $OTHER_SPARKLE_DIR $COMPARE_ROOT/sparkle + fi fi if [ "$CMP_TYPES" = "true" ]; then if [ -n "$THIS_JDK" ] && [ -n "$OTHER_JDK" ]; then echo -n "JDK " compare_file_types $THIS_JDK $OTHER_JDK $COMPARE_ROOT/jdk - echo -n "JRE " + echo -n "JRE " compare_file_types $THIS_JRE $OTHER_JRE $COMPARE_ROOT/jre fi if [ -n "$THIS_JDK_BUNDLE" ] && [ -n "$OTHER_JDK_BUNDLE" ]; then echo -n "JDK Bundle " compare_file_types $THIS_JDK_BUNDLE $OTHER_JDK_BUNDLE $COMPARE_ROOT/jdk-bundle - echo -n "JRE Bundle " + echo -n "JRE Bundle " compare_file_types $THIS_JRE_BUNDLE $OTHER_JRE_BUNDLE $COMPARE_ROOT/jre-bundle fi if [ -n "$THIS_BASE_DIR" ] && [ -n "$OTHER_BASE_DIR" ]; then @@ -1387,19 +1430,23 @@ echo -n "JavaAppletPlugin " compare_file_types $THIS_DEPLOY_APPLET_PLUGIN_DIR $OTHER_DEPLOY_APPLET_PLUGIN_DIR $COMPARE_ROOT/plugin fi + if [ -n "$THIS_SPARKLE_DIR" ] && [ -n "$OTHER_SPARKLE_DIR" ]; then + echo -n "Sparkle.framework " + compare_file_types $THIS_SPARKLE_DIR $OTHER_SPARKLE_DIR $COMPARE_ROOT/sparkle + fi fi if [ "$CMP_GENERAL" = "true" ]; then if [ -n "$THIS_JDK" ] && [ -n "$OTHER_JDK" ]; then echo -n "JDK " compare_general_files $THIS_JDK $OTHER_JDK $COMPARE_ROOT/jdk - echo -n "JRE " + echo -n "JRE " compare_general_files $THIS_JRE $OTHER_JRE $COMPARE_ROOT/jre fi if [ -n "$THIS_JDK_BUNDLE" ] && [ -n "$OTHER_JDK_BUNDLE" ]; then echo -n "JDK Bundle " compare_general_files $THIS_JDK_BUNDLE $OTHER_JDK_BUNDLE $COMPARE_ROOT/jdk-bundle - echo -n "JRE Bundle " + echo -n "JRE Bundle " compare_general_files $THIS_JRE_BUNDLE $OTHER_JRE_BUNDLE $COMPARE_ROOT/jre-bundle fi if [ -n "$THIS_DOCS" ] && [ -n "$OTHER_DOCS" ]; then @@ -1413,6 +1460,10 @@ echo -n "JavaAppletPlugin " compare_general_files $THIS_DEPLOY_APPLET_PLUGIN_DIR $OTHER_DEPLOY_APPLET_PLUGIN_DIR $COMPARE_ROOT/plugin fi + if [ -n "$THIS_SPARKLE_DIR" ] && [ -n "$OTHER_SPARKLE_DIR" ]; then + echo -n "Sparkle.framework " + compare_general_files $THIS_SPARKLE_DIR $OTHER_SPARKLE_DIR $COMPARE_ROOT/sparkle + fi fi if [ "$CMP_ZIPS" = "true" ]; then @@ -1465,7 +1516,7 @@ echo -n "JDK " compare_all_libs $THIS_JDK $OTHER_JDK $COMPARE_ROOT/jdk if [ "$OPENJDK_TARGET_OS" = "macosx" ]; then - echo -n "JRE " + echo -n "JRE " compare_all_libs $THIS_JRE $OTHER_JRE $COMPARE_ROOT/jre fi fi @@ -1476,13 +1527,17 @@ echo -n "JavaAppletPlugin " compare_all_libs $THIS_DEPLOY_APPLET_PLUGIN_DIR $OTHER_DEPLOY_APPLET_PLUGIN_DIR $COMPARE_ROOT/plugin fi + if [ -n "$THIS_SPARKLE_DIR" ] && [ -n "$OTHER_SPARKLE_DIR" ]; then + echo -n "Sparkle.framework " + compare_all_libs $THIS_SPARKLE_DIR $OTHER_SPARKLE_DIR $COMPARE_ROOT/sparkle + fi fi if [ "$CMP_EXECS" = "true" ]; then if [ -n "$THIS_JDK" ] && [ -n "$OTHER_JDK" ]; then compare_all_execs $THIS_JDK $OTHER_JDK $COMPARE_ROOT/jdk if [ "$OPENJDK_TARGET_OS" = "macosx" ]; then - echo -n "JRE " + echo -n "JRE " compare_all_execs $THIS_JRE $OTHER_JRE $COMPARE_ROOT/jre fi fi @@ -1493,6 +1548,10 @@ echo -n "JavaAppletPlugin " compare_all_execs $THIS_DEPLOY_APPLET_PLUGIN_DIR $OTHER_DEPLOY_APPLET_PLUGIN_DIR $COMPARE_ROOT/plugin fi + if [ -n "$THIS_SPARKLE_DIR" ] && [ -n "$OTHER_SPARKLE_DIR" ]; then + echo -n "Sparkle.framework " + compare_all_execs $THIS_SPARKLE_DIR $OTHER_SPARKLE_DIR $COMPARE_ROOT/sparkle + fi fi echo