in arthur-impl/src/main/java/org/apache/geronimo/arthur/impl/nativeimage/archive/Extractor.java [140:155]
private void setExecutableIfNeeded(final Path target) throws IOException {
final String parentFilename = target.getParent().getFileName().toString();
final String filename = target.getFileName().toString();
if ((parentFilename.equals("bin") && !Files.isExecutable(target)) ||
(parentFilename.equals("lib") && (
filename.contains("exec") || filename.startsWith("j") ||
(filename.startsWith("lib") && filename.contains(".so"))))) {
Files.setPosixFilePermissions(
target,
Stream.of(
OWNER_READ, OWNER_EXECUTE, OWNER_WRITE,
GROUP_READ, GROUP_EXECUTE,
OTHERS_READ, OTHERS_EXECUTE)
.collect(toSet()));
}
}