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