in src/main/java/org/apache/netbeans/nbpackage/rpm/RpmTask.java [277:313]
private void setupSpecFile(Path image) throws Exception {
String template = RpmPackager.SPEC_TEMPLATE.load(context());
String fileList = buildSpecFilesList(image);
String spec = StringUtils.replaceTokens(template, Map.ofEntries(
Map.entry("RPM_PACKAGE", packageName()),
Map.entry("RPM_VERSION", packageVersion()),
Map.entry("RPM_ARCH", packageArch()),
Map.entry("RPM_SUMMARY_LINE", context().getValue(NBPackage.PACKAGE_DESCRIPTION)
.map(value -> "Summary: " + value)
.orElse("")),
Map.entry("RPM_LICENSE_LINE", context().getValue(RpmPackager.RPM_LICENSE)
.map(value -> "License: " + value)
.orElse("")),
Map.entry("RPM_GROUP_LINE", context().getValue(RpmPackager.RPM_GROUP)
.map(value -> "Group: " + value)
.orElse("")),
Map.entry("RPM_URL_LINE", context().getValue(NBPackage.PACKAGE_URL)
.map(value -> "URL: " + value)
.orElse("")),
Map.entry("RPM_VENDOR_LINE", context().getValue(NBPackage.PACKAGE_PUBLISHER)
.map(value -> "Vendor: " + value)
.orElse("")),
Map.entry("RPM_MAINTAINER_LINE", context().getValue(RpmPackager.RPM_MAINTAINER)
.map(value -> "Packager: " + value)
.orElse("")),
Map.entry("RPM_RECOMMENDS_LINE", context().getValue(NBPackage.PACKAGE_RUNTIME)
.map(value -> "")
.orElse("Recommends: java-devel >= 11")),
Map.entry("RPM_DESCRIPTION", context().getValue(NBPackage.PACKAGE_DESCRIPTION)
.orElse("")),
Map.entry("RPM_FILES", fileList)
));
Path specsDir = image.resolve("SPECS");
Files.createDirectories(specsDir);
Path specFile = specsDir.resolve(packageName + ".spec");
Files.writeString(specFile, spec, StandardOpenOption.CREATE_NEW);
}