in src/main/java/org/apache/netbeans/nbpackage/rpm/RpmTask.java [315:339]
private String buildSpecFilesList(Path image) throws IOException {
var builds = FileUtils.find(image, "BUILDROOT/*");
if (builds.size() != 1) {
throw new IOException(builds.toString());
}
var root = builds.get(0);
// @TODO support other installation bases
var appParent = root.resolve("usr").resolve("lib");
try (var stream = Files.find(root, Integer.MAX_VALUE, (file, attr) -> {
if (file.equals(root)) {
return false;
}
if (attr.isDirectory()) {
return file.getParent().equals(appParent);
} else {
return !file.startsWith(appParent);
}
})) {
return stream.map(path -> root.relativize(path))
.sorted()
.map(Path::toString)
.map(p -> "/" + p)
.collect(Collectors.joining("\n", "", "\n"));
}
}