8029997: [infra] remove Solaris ISA directories and the links
Reviewed-by: alanb, tbell
This commit is contained in:
parent
0fd79b26f0
commit
9e4aa28467
@ -190,26 +190,6 @@ $(foreach f,$(filter $(OVERLAY_FILTER),$(JDK_BIN_LIST)), \
|
||||
$(foreach f,$(filter $(OVERLAY_FILTER),$(JDKJRE_BIN_LIST)), \
|
||||
$(eval $(call AddFileToCopy,$(JDK_OUTPUTDIR),$(JDK_OVERLAY_IMAGE_DIR)/jre,$f,JDKJRE_BIN_TARGETS)))
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_BITS),solaris-64)
|
||||
define AddIsadirLink
|
||||
# Param 1 - src file
|
||||
# Param 2 - variable to add targets to
|
||||
|
||||
$1_LINK := $$(dir $1)$(OPENJDK_TARGET_CPU_ISADIR)/$$(notdir $1)
|
||||
|
||||
$$($1_LINK):
|
||||
$(ECHO) $(LOG_INFO) Creating link $$(patsubst $(OUTPUT_ROOT)/%,%,$$@)
|
||||
$(MKDIR) -p $$(@D)
|
||||
$(LN) -s ../$$(@F) $$@
|
||||
|
||||
$2 += $$($1_LINK)
|
||||
endef
|
||||
|
||||
$(foreach f,$(JRE_BIN_TARGETS),$(eval $(call AddIsadirLink,$f,JRE_BIN_ISADIR_LINK_TARGETS)))
|
||||
$(foreach f,$(JDK_BIN_TARGETS),$(eval $(call AddIsadirLink,$f,JDK_BIN_ISADIR_LINK_TARGETS)))
|
||||
$(foreach f,$(JDKJRE_BIN_TARGETS),$(eval $(call AddIsadirLink,$f,JDKJRE_BIN_ISADIR_LINK_TARGETS)))
|
||||
endif
|
||||
|
||||
################################################################################
|
||||
# /lib dir
|
||||
ifneq ($(OPENJDK_TARGET_OS), macosx)
|
||||
|
@ -46,9 +46,6 @@
|
||||
* b. LD_LIBRARY_PATH32 is ignored if set
|
||||
* 5. no extra symlink exists on Solaris ie.
|
||||
* jre/lib/$arch/libjvm.so -> client/libjvm.so
|
||||
* 6. Since 32-bit Solaris is no longer supported we continue to ensure that
|
||||
* the appropriate paths are ignored or used, additionally we also test to
|
||||
* ensure the 64-bit isadir exists and contains appropriate links.
|
||||
* TODO:
|
||||
* a. perhaps we need to add a test to audit all environment variables are
|
||||
* in pristine condition after the launch, there may be a few that the
|
||||
@ -57,17 +54,10 @@
|
||||
*/
|
||||
import java.io.File;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.IOException;
|
||||
import java.nio.file.DirectoryStream;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import static java.nio.file.LinkOption.*;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
|
||||
public class ExecutionEnvironment extends TestHelper {
|
||||
static final String LD_LIBRARY_PATH = TestHelper.isMacOSX
|
||||
@ -270,56 +260,6 @@ public class ExecutionEnvironment extends TestHelper {
|
||||
throw new RuntimeException("symlink exists " + symLink.getAbsolutePath());
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* verify if all the symlinks in the images are created correctly,
|
||||
* only on solaris, this test works only on images.
|
||||
*/
|
||||
@Test
|
||||
void testSymLinks() throws Exception {
|
||||
if (!isSolaris)
|
||||
return;
|
||||
verifySymLinks(JAVA_BIN);
|
||||
verifySymLinks(JAVA_JRE_BIN);
|
||||
}
|
||||
// exclude non-consequential binaries or scripts co-packaged in other
|
||||
// build phases
|
||||
private final String excludeRE =
|
||||
".*jvisualvm.*" +
|
||||
"|.*javaws.*" +
|
||||
"|.*ControlPanel.*" +
|
||||
"|.*java-rmi.cgi" +
|
||||
"|.*jcontrol.*";
|
||||
private final Pattern symlinkExcludes = Pattern.compile(excludeRE);
|
||||
|
||||
private void verifySymLinks(String bindir) throws IOException {
|
||||
File binDir = new File(bindir);
|
||||
System.err.println("verifying links in: " + bindir);
|
||||
File isaDir = new File(binDir, getArch()).getAbsoluteFile();
|
||||
if (!isaDir.exists()) {
|
||||
throw new RuntimeException("dir: " + isaDir + " does not exist");
|
||||
}
|
||||
try (DirectoryStream<Path> ds = Files.newDirectoryStream(binDir.toPath())) {
|
||||
for (Path p : ds) {
|
||||
if (symlinkExcludes.matcher(p.toString()).matches() ||
|
||||
Files.isDirectory(p, NOFOLLOW_LINKS)) {
|
||||
continue;
|
||||
}
|
||||
Path link = new File(isaDir, p.getFileName().toString()).toPath();
|
||||
if (Files.isSymbolicLink(link)) {
|
||||
Path target = Files.readSymbolicLink(link);
|
||||
if (target.startsWith("..") && p.endsWith(target.getFileName())) {
|
||||
// System.out.println(target + " OK");
|
||||
continue;
|
||||
}
|
||||
System.err.println("target:" + target);
|
||||
System.err.println("file:" + p);
|
||||
}
|
||||
throw new RuntimeException("could not find link to " + p);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
public static void main(String... args) throws Exception {
|
||||
if (isWindows) {
|
||||
System.err.println("Warning: test not applicable to windows");
|
||||
|
Loading…
x
Reference in New Issue
Block a user