# HG changeset patch # User simonis # Date 1417795742 -3600 # Node ID 79802ccc64a77ad799b6ba0754fd73750f495711 # Parent f2434e959e18c3625a76832f1e2c5224aa623fe0 8066766: The commands in the modular images are executable by the owner only Summary: Also simplify the 'set executable' step of jspawnhelper in ImageBuilder.java Reviewed-by: chegar diff --git a/make/src/classes/build/tools/module/ImageBuilder.java b/make/src/classes/build/tools/module/ImageBuilder.java --- a/make/src/classes/build/tools/module/ImageBuilder.java +++ b/make/src/classes/build/tools/module/ImageBuilder.java @@ -349,21 +349,6 @@ return (new SimpleResolver(mods, moduleGraph)).resolve(); } - /** - * chmod ugo+x file - */ - private void setExecutable(Path file) { - try { - Set perms = Files.getPosixFilePermissions(file); - perms.add(PosixFilePermission.OWNER_EXECUTE); - perms.add(PosixFilePermission.GROUP_EXECUTE); - perms.add(PosixFilePermission.OTHERS_EXECUTE); - Files.setPosixFilePermissions(file, perms); - } catch (IOException ioe) { - throw new UncheckedIOException(ioe); - } - } - private void createImage() throws IOException { Collection modules = resolve(options.mods); log.print(modules.stream().collect(Collectors.joining(" "))); @@ -377,7 +362,7 @@ .filter(f -> f.getFileName().equals(jspawnhelper)) .findFirst(); if (helper.isPresent()) - setExecutable(helper.get()); + helper.get().toFile().setExecutable(true, false); } private class ImageFileHelper { diff --git a/make/src/classes/build/tools/module/ModuleArchive.java b/make/src/classes/build/tools/module/ModuleArchive.java --- a/make/src/classes/build/tools/module/ModuleArchive.java +++ b/make/src/classes/build/tools/module/ModuleArchive.java @@ -194,7 +194,7 @@ case CMDS: Path path = destFile("bin", filename); writeEntry(in, path); - path.toFile().setExecutable(true); + path.toFile().setExecutable(true, false); break; case CONFIGS: writeEntry(in, destFile("conf", filename));