It has been pointed out to me that this claim is too strong. I would want to 
take it back and simply admit that I was not able to reproduce the artifacts 
from source. I will appreciate any help to build those Windows binary and 
package them in the jar on my Linux machine.


Regards,
Aman Sharma

PhD Student
KTH Royal Institute of Technology
School of Electrical Engineering and Computer Science (EECS)
Department of Theoretical Computer Science (TCS)
<http://www.kth.se><https://www.kth.se/profile/amansha><https://www.kth.se/profile/amansha>
<https://www.kth.se/profile/amansha>https://algomaster99.github.io/
________________________________
From: Aman Sharma
Sent: Monday, January 27, 2025 6:07:55 PM
To: dev@commons.apache.org
Cc: herve.bout...@gmail.com
Subject: Release commons-daemon:commons-daemon:1.4.0 is unreproducible


Hi all,


I am trying to investigate why `commons-daemon:commons-daemon:1.4.0` release is 
unreproducible and how to fix it. Since I did not see any related mail 
here<https://lists.apache.org/list?dev@commons.apache.org:lte=1M:reproducible>, 
I thought I should start another thread.


The diff between the artifacts are documented 
here<https://github.com/jvm-repo-rebuild/reproducible-central/blob/master/content/org/apache/commons/commons-daemon/commons-daemon-1.4.0.diffoscope>.
 It seems most of the zip and tar archives have some binaries missing. For 
example, `commons-daemon-1.4.0-bin-windows.zip` has three missing Windows 
executables. Checking the release 
instructions<https://github.com/apache/commons-daemon/blob/2b4fa9a14b8b073ade4c95ba4564455c06e1ae29/HOWTO-RELEASE.txt#L83-L100>,
 it seems that these executables require running some shell scripts and nmake 
command.


Hence, I tried to make the release reproducible by placing the commands under 
`execBefore` in the buildspec 
file<https://github.com/jvm-repo-rebuild/reproducible-central/blob/master/doc/BUILDSPEC.md>.
 It seems that it fixes artifacts "commons-daemon-1.4.0-native-src.tar.gz 
commons-daemon-1.4.0-native-src.zip commons-daemon-1.4.0-src.tar.gz 
commons-daemon-1.4.0-src.zip", however, `commons-daemon-1.4.0-bin-windows.zip` 
still marked as unreproducible. I saw that it builds with nmake which is on 
Windows. A solution make build scripts portable is to use `cmake`. I think 
successfully building them and place them in the target folder should achieve a 
successful reproducible build.


Regards,
Aman Sharma

PhD Student
KTH Royal Institute of Technology
School of Electrical Engineering and Computer Science (EECS)
Department of Theoretical Computer Science (TCS)
<http://www.kth.se><https://www.kth.se/profile/amansha><https://www.kth.se/profile/amansha>
<https://www.kth.se/profile/amansha>https://algomaster99.github.io/

Reply via email to