Bug#877418: dh-strip-nondeterminism: kills clojure performance

Elana Hashman debian at hashman.ca
Wed Oct 4 18:25:50 UTC 2017


Hi all, just catching up on this thread.

FWIW I agree with Apollon; as rlb pointed out on IRC, we introduce a 
potential race condition when we don't recompile when the timestamps are 
equal. Quoting him...

    The scenario I was thinking of is "clock ticks over to 1001s, I 
    compile foo.clj -> foo.class, then I edit foo.clj, then clock ticks 
    over to 1002s, and we make a jar", but the filesystem says both the 
    .clj and the .class are mtime 1001s even though foo.clj is 
    different. This example assumes a filesystem with 1s mtime 
    resolution.

Unlikely for a human editing files, of course, but could be problematic 
with e.g. automated build processes.

As such I don't actually know if Clojure upstream would be willing to 
accept the patch. I can submit just to see what they say? I'm honestly 
not sure they'll consider this a bug.

Having chatted with Phil Hagelberg (author of leiningen) as well, he 
suggests we go for solution b) or something similar, as he believes this 
to be a packaging concern as opposed to a core language problem.

- e



More information about the Reproducible-builds mailing list