Bug 1162112 - xmvn produces unreproducible output
Summary: xmvn produces unreproducible output
Status: NEW
Alias: None
Product: openSUSE Tumbleweed
Classification: openSUSE
Component: Development (show other bugs)
Version: Current
Hardware: Other All
: P5 - None : Major (vote)
Target Milestone: ---
Assignee: Fridrich Strba
QA Contact: E-mail List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 1062303
  Show dependency treegraph
 
Reported: 2020-01-29 12:33 UTC by Bernhard Wiedemann
Modified: 2021-06-05 07:51 UTC (History)
0 users

See Also:
Found By: Development
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Bernhard Wiedemann 2020-01-29 12:33:32 UTC
While working on reproducible builds for openSUSE, I found that
xmvn creates .xml files with randomness
per setUuid( UUID.randomUUID().toString() )
in
xmvn-tools/xmvn-install/src/main/java/org/fedoraproject/xmvn/tools/install/JavaPackage.java
xmvn-tools/xmvn-install/src/main/java/org/fedoraproject/xmvn/tools/install/impl/DefaultArtifactInstaller.java

+++ new//usr/share/maven-metadata/jackson-parent.xml    2019-11-20 12:00:00.0000
00000 +0000
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <metadata xmlns="http://fedorahosted.org/xmvn/METADATA/3.0.0">
-  <uuid>84081e46-b2dd-41c9-b0e1-3e89752c546d</uuid>
+  <uuid>c67ba8dc-3f70-4b4e-95b4-c0afdf000afe</uuid>
   <artifacts>
     <artifact>
       <groupId>com.fasterxml.jackson</groupId>
@@ -8,7 +8,7 @@
       <extension>pom</extension>
       <version>2.10</version>
       <path>/usr/share/maven-poms/jackson-parent/jackson-parent.pom</path>
-      <uuid>59d7475c-e3da-4430-ad13-b75a5ccd70da</uuid>
+      <uuid>1bf0dc1e-77d4-4634-a520-60f749c63940</uuid>
       <properties>

That could be replaced by
setUuid( UUID.nameUUIDFromBytes(somethingspecific.getBytes()).toString() );



Another source of non-determinism is filesystem readdir order:


/usr/share/maven-metadata/openjfx.xml differs (XML document text)
--- old//usr/share/maven-metadata/openjfx.xml   2020-01-22 00:00:00.000000000 +0
000
+++ new//usr/share/maven-metadata/openjfx.xml   2020-01-22 00:00:00.000000000 +0
000
@@ -273,9 +273,10 @@
       <artifactId>javafx-media</artifactId>
       <classifier>linux</classifier>
       <version>11.0.6</version>
-      <path>/usr/share/java/openjfx/javafx-media-linux.jar</path>
+      <path>/usr/lib64/java/openjfx/javafx-media-linux.jar</path>
       <uuid>d41d8cd9-8f00-3204-a980-0998ecf8427e</uuid>
       <properties>
+        <native>true</native>
         <xmvn.resolver.disableEffectivePom>true</xmvn.resolver.disableEffective
Pom>
       </properties>
     </artifact>
@@ -329,9 +330,10 @@
       <artifactId>javafx-swing</artifactId>
       <classifier>linux</classifier>
       <version>11.0.6</version>
-      <path>/usr/share/java/openjfx/javafx-swing-linux.jar</path>
+      <path>/usr/lib64/java/openjfx/javafx-swing-linux.jar</path>
       <uuid>d41d8cd9-8f00-3204-a980-0998ecf8427e</uuid>
       <properties>
+        <native>true</native>
         <xmvn.resolver.disableEffectivePom>true</xmvn.resolver.disableEffectivePom>
       </properties>
     </artifact>
@@ -397,9 +399,10 @@
       <artifactId>javafx-web</artifactId>
       <classifier>linux</classifier>
       <version>11.0.6</version>
-      <path>/usr/share/java/openjfx/javafx-web-linux.jar</path>
+      <path>/usr/lib64/java/openjfx/javafx-web-linux.jar</path>
       <uuid>d41d8cd9-8f00-3204-a980-0998ecf8427e</uuid>
       <properties>
+        <native>true</native>
         <xmvn.resolver.disableEffectivePom>true</xmvn.resolver.disableEffectivePom>
       </properties>
     </artifact>


but here the two results are not even equivalent - is that a bug?
Comment 1 Bernhard Wiedemann 2021-06-05 07:51:44 UTC
This issues is one of the most annoying ones affecting reproduciblility of 114-140 openSUSE packages and that reduces visibility of other issues.