RFR: 8008373: JFR JTReg tests fail with CompilationError on MacOSX; missing '._sunec.jar'
Erik Joelsson
erik.joelsson at oracle.com
Thu Mar 28 16:25:46 UTC 2013
For a while since switching to the new build system, tests have begun
failing on mac, complaining about files starting with '._' showing up in
the jdk image. The source of these files are extended attributes on mac
when in certain cases copied to a non mac filesystem. In this case the
attribute is com.apple.quarantine, which the OS sets to guard against
execution of downloaded binaries. Normally this doesn't happen to
developers who get the source code through mercurial, but nightly builds
get sources by zip bundles, and when unzipped, the source files get this
attribute added. For files generated during the build, this isn't a
problem, but a bunch of files are just copied from the source to the
build directory and these files retain the attribute. In the old build,
cpio was used to copy files into the final image directory, and this
removed extended attributes, but in the new build, cp is used and the
attribute stays.
The solution proposed here explicitly removes the attributes in the
install-file macro. Unfortunately the macro wasn't widely used, so all
simple copy operations had to also be converted to actually use the
macro, which in itself is an improvement on code quality. The -p flag
was removed from cp since it's not there on other platforms nor the old
build.
http://cr.openjdk.java.net/~erikj/8008373/webrev.01/
/Erik
More information about the build-dev
mailing list