Hi Emmanuel, 

sorry for contacting you out of the blue, but I have noticed your kind help for 
the Debian Med and Reproducible Builds teams before, so I was just going to try 
my luck again ;) 
I am currently trying to make king [1] reproducible, which is currently not 
built reproducibly because of timestamps in property files written by ant [2] 
and subsequently packaged into the distributed jar. Apparently these files are 
written using java.util.Properties store() method, which automatically inserts 
this timestamp with no chance of overriding it:

  'Next, a comment line is always written, consisting of an ASCII # character, 
the current date and time (as if produced by the toString method 
  of Date for the current time), and a line separator as generated by the 

Of course I could simply set the timestamps to a specific value after building 
but I feel this might be a systematic issue best tackled upstream. There are 
also some related issue entries in the Reproducible Builds documentation 
(concerning other files, e.g. Maven related) for which I suspect that they are 
different manifestations of this same problem.
In addition to the timestamp issue, I am a bit concerned about the order of 
these properties being written to the file: if the properties are stored in a 
hash table (as the API documentation seems to suggest) then I am not sure that 
the order of output is deterministic. At least the method documentation makes 
no claim about sortedness.

I was wondering whether you have encountered this issue before and in general 
what your thoughts are. If this behaviour is defined in the API, do you think 
there is any chance of tackling this upstream?

Many thanks, and best wishes

[1] https://tracker.debian.org/pkg/king
[2] https://tests.reproducible-builds.org/rb-pkg/unstable/amd64/king.html
[3] https://docs.oracle.com/javase/7/docs/api/java/util/Properties.html

Reproducible-builds mailing list

Reply via email to