[8u]RFR: 8263061: copy wrong unpack200.diz to bin directory on linux after 8252395

Severin Gehwolf sgehwolf at redhat.com
Fri Mar 5 10:36:58 UTC 2021


On Fri, 2021-03-05 at 07:35 +0000, kalinshi(施慧) wrote:
> Hi,
> 
> Please help review this fix.
> After 8252395, unpack200 executable is wrongly copied to bin directory
> as unpack200.diz when configure with debuginfo.
> 
> Makefile sets same prerequisite for unpack200 executable and debuginfo
> file. install-file function always copies first prerequisite, which is
> executable.
> Fix is use debuginfo file as first prerequisite and copy it.
> 
> webrev: http://cr.openjdk.java.net/~hshi/8263061/webrev1/
> bug: https://bugs.openjdk.java.net/browse/JDK-8263061

I've stared at this bug for a bit, but I'm not sure what you are trying
to solve.

$ find build/linux-x86_64-normal-server-release/images/j2sdk-image/ | grep unpack
build/linux-x86_64-normal-server-release/images/j2sdk-image/man/ja_JP.UTF-8/man1/unpack200.1
build/linux-x86_64-normal-server-release/images/j2sdk-image/man/man1/unpack200.1
build/linux-x86_64-normal-server-release/images/j2sdk-image/bin/unpack200.debuginfo
build/linux-x86_64-normal-server-release/images/j2sdk-image/bin/unpack200
build/linux-x86_64-normal-server-release/images/j2sdk-image/jre/bin/unpack200.debuginfo
build/linux-x86_64-normal-server-release/images/j2sdk-image/jre/bin/unpack200
build/linux-x86_64-normal-server-release/images/j2sdk-image/jre/lib/amd64/libunpack.so
build/linux-x86_64-normal-server-release/images/j2sdk-image/jre/lib/amd64/libunpack.debuginfo
$ build/linux-x86_64-normal-server-release/images/j2sdk-image/bin/unpack200 -J-version -h
Usage:  unpack200 [-opt... | --option=value]... x.pack[.gz] y.jar

Unpacking Options
  -H{h}, --deflate-hint={h}     override transmitted deflate hint: true, false, or keep (default)
  -r, --remove-pack-file        remove input file after unpacking
  -v, --verbose                 increase program verbosity
  -q, --quiet                   set verbosity to lowest level
  -l{F}, --log-file={F}         output to the given log file, or '-' for standard output (default)
  -?, -h, --help                print this message
  -V, --version                 print program version
  -J{X}                         Java VM argument (ignored)
$ build/linux-x86_64-normal-server-release/images/j2sdk-image/bin/unpack200 --version
unpack200 version 1.30, 07/05/05
$ build/linux-x86_64-normal-server-release/images/j2sdk-image/jre/bin/unpack200 --version
unpack200 version 1.30, 07/05/05

Are you trying to fix tools/launcher/VersionCheck.java test or
something else? I've reproduced that test failure with external
debuginfo since the test tries to execute *every* file in
$JAVA_HOME/bin (including *.debuginfo files). If you are trying to fix
that problem, I'd suggest to filter debuginfo files out like was done
as part of JDK-8237192 for JDK 11. We'd also have to include *.diz
files from being excluded from the test. Those files are zipped version
s of the *.debuginfo files. It looks like JDK 11 all the way to JDK 17
would try to run *.diz files as well?

Thanks,
Severin



More information about the jdk8u-dev mailing list