< prev index next >
common/bin/compare.sh
Print this page
@@ -304,11 +304,12 @@
! -name "*.jimage" ! -name "ct.sym" ! -name "*.diz" ! -name "*.dll" \
! -name "*.cpl" ! -name "*.pdb" ! -name "*.exp" ! -name "*.ilk" \
! -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...
for f in $GENERAL_FILES
do
@@ -324,21 +325,25 @@
$CAT $THIS_DIR/$f | $SED 's/\:[0-9a-f]\{12,12\}/:CHANGE/g' > $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/' \
+ $CAT $OTHER_DIR/$f | $SED \
+ -e 's/\(-- Generated by javadoc \).*\( --\)/\1(removed)\2/' \
-e 's/\(<meta name="date" content="\).*\(">\)/\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/' \
+ $CAT $THIS_DIR/$f | $SED \
+ -e 's/\(-- Generated by javadoc \).*\( --\)/\1(removed)\2/' \
-e 's/\(<meta name="date" content="\).*\(">\)/\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)/' \
@@ -603,15 +608,21 @@
# On windows we need to unzip the debug symbols, if present
OTHER_FILE_BASE=${OTHER_FILE/.dll/}
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
# Some files, jli.dll, appears twice in the image but only one of
# thme has a diz file next to it.
@@ -625,13 +636,26 @@
if [ -n "$OTHER_DIZ_FILE" ]; then
$MKDIR -p $FILE_WORK_DIR/other
(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)"
if [ ! -f "$THIS_DIZ_FILE" ]; then
# As a last resort, look for diz file in the whole build output
@@ -854,12 +878,19 @@
# To get a raw diff with the complete disassembly, set
# DIS_DIFF_FILTER="$CAT"
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
if [ -s $WORK_FILE_BASE.dis.diff ]; then
DIS_DIFF_SIZE=$(ls -n $WORK_FILE_BASE.dis.diff | awk '{print $5}')
@@ -972,10 +1003,19 @@
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' -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
if [ -n "$EXECS" ]; then
echo Executables...
@@ -1276,10 +1316,19 @@
echo "Also comparing deploy applet image"
echo " $THIS_DEPLOY_APPLET_PLUGIN_DIR"
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
OTHER_SEC_DIR="$OTHER/tmp"
fi
@@ -1347,10 +1396,16 @@
echo -n "JavaAppletPlugin "
compare_dirs $THIS_DEPLOY_APPLET_PLUGIN_DIR $OTHER_DEPLOY_APPLET_PLUGIN_DIR $COMPARE_ROOT/plugin
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 "
@@ -1363,10 +1418,14 @@
fi
if [ -n "$THIS_DEPLOY_APPLET_PLUGIN_DIR" ] && [ -n "$OTHER_DEPLOY_APPLET_PLUGIN_DIR" ]; then
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 "
@@ -1385,10 +1444,14 @@
fi
if [ -n "$THIS_DEPLOY_APPLET_PLUGIN_DIR" ] && [ -n "$OTHER_DEPLOY_APPLET_PLUGIN_DIR" ]; then
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 "
@@ -1411,10 +1474,14 @@
fi
if [ -n "$THIS_DEPLOY_APPLET_PLUGIN_DIR" ] && [ -n "$OTHER_DEPLOY_APPLET_PLUGIN_DIR" ]; then
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
if [ -n "$THIS_JDK" ] && [ -n "$OTHER_JDK" ]; then
compare_all_zip_files $THIS_JDK $OTHER_JDK $COMPARE_ROOT/jdk
@@ -1474,10 +1541,14 @@
fi
if [ -n "$THIS_DEPLOY_APPLET_PLUGIN_DIR" ] && [ -n "$OTHER_DEPLOY_APPLET_PLUGIN_DIR" ]; then
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
@@ -1491,10 +1562,14 @@
fi
if [ -n "$THIS_DEPLOY_APPLET_PLUGIN_DIR" ] && [ -n "$OTHER_DEPLOY_APPLET_PLUGIN_DIR" ]; then
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
if [ -n "$REGRESSIONS" ]; then
< prev index next >