File reproducible-build-manifest.patch of Package ant-junit.32161

Use Java major version for manifest's Created-by

No need of detailed version such java.vm.version. Java's jar command
uses java.version when it fills the manifest's "Created-by" field,
let's make ant do the same.

Using a detailed version makes that every Java release triggers a
new publication for ant-based applications, only because a line in
manifest has changed - not because the binary or dependencies have
changed. Using a less detailed version reduces these publications.

Using a less detailed version also prevents more subtle problems
such as in boo#1110024: noarch packages differ depending on the
builder architecture, when Java vm version contains an architecture
information (which is the case for openSUSE, though it's probably
not relevant).

--
--- a/src/main/org/apache/tools/ant/taskdefs/Manifest.java
+++ b/src/main/org/apache/tools/ant/taskdefs/Manifest.java
@@ -760,10 +760,7 @@
                     defManifest);
             }
             Manifest defaultManifest = new Manifest(new InputStreamReader(in, JAR_CHARSET));
-            String version = System.getProperty("java.runtime.version");
-            if (version == null) {
-                version = System.getProperty("java.vm.version");
-            }
+            String version = System.getProperty("java.version");
             Attribute createdBy = new Attribute("Created-By", version
                     + " (" + System.getProperty("java.vm.vendor") + ")");
             defaultManifest.getMainSection().storeAttribute(createdBy);
openSUSE Build Service is sponsored by