reopen 877418 thanks Debian Bug Tracking System <ow...@bugs.debian.org> writes:
> * Clojure considers the .class file to be stale if it shares the same > timestamp of the .clj. We thus adjust the timestamps of the .clj to > always > be younger. (Closes: #877418) > - {jar,zip}.pm: Allow $options{member_normalizer} callback to support > specifying the timestamp. > - zip.pm: Calculate the target canonical time in just one place. > * zip.pm: Ensure that we don't try and write an old timestamp; > Archive::Zip will do this anyway, just noisily. Hmm, it looks like the fix may not have been sufficient, or there's been a regression. With the current clojure 1.8.0-5 and dh-strip-nondeterminism 0.042-1, building clojure1.8 via "fakeroot debian/rules binary" normally reveals: $ time java -cp debian/libclojure1.8-java/usr/share/java/clojure.jar clojure.main -e '' real 0m3.832s user 0m11.411s sys 0m0.206s and with dh-strip-nodeterminism symlinked to /bin/true in the path: $ time java -cp debian/libclojure1.8-java/usr/share/java/clojure.jar clojure.main -e '' real 0m0.846s user 0m1.600s sys 0m0.076s Looking inside the jar, core.clj and derived class files, for example, do appear to have the same timestamps: $ jar tvf debian/libclojure1.8-java/usr/share/java/clojure.jar \ | grep -E 'clojure/core(\.clj|\$interleave)' 580 Mon Mar 19 16:59:46 CDT 2018 clojure/core$interleave$fn__5149.class 1138 Mon Mar 19 16:59:46 CDT 2018 clojure/core$interleave$fn__5151.class 1740 Mon Mar 19 16:59:46 CDT 2018 clojure/core$interleave$fn__5154.class 1826 Mon Mar 19 16:59:46 CDT 2018 clojure/core$interleave.class 251643 Mon Mar 19 16:59:46 CDT 2018 clojure/core.clj Thanks -- Rob Browning rlb @defaultvalue.org and @debian.org GPG as of 2011-07-10 E6A9 DA3C C9FD 1FF8 C676 D2C4 C0F0 39E9 ED1B 597A GPG as of 2002-11-03 14DD 432F AE39 534D B592 F9A0 25C8 D377 8C7E 73A4