diff --git a/doc/bugs/git-annex_does_not_build_reproducibly_from_readdir_order/comment_3_1a8277f3db09f49c076f5938da2b4390._comment b/doc/bugs/git-annex_does_not_build_reproducibly_from_readdir_order/comment_3_1a8277f3db09f49c076f5938da2b4390._comment new file mode 100644 index 0000000000..b5ff287f67 --- /dev/null +++ b/doc/bugs/git-annex_does_not_build_reproducibly_from_readdir_order/comment_3_1a8277f3db09f49c076f5938da2b4390._comment @@ -0,0 +1,33 @@ +[[!comment format=mdwn + username="kyle" + avatar="http://cdn.libravatar.org/avatar/7d6e85cde1422ad60607c87fa87c63f3" + subject="comment 3" + date="2020-06-30T16:26:17Z" + content=""" +[ I don't have a good understanding of the build issues here. I'm + sorry if this isn't relevant. ] + +> I found, the build becomes reproducible, when using a filesystem +> with deterministic readdir order such as disorderfs with sort mode. + +This reminded me of an issue with Guix's git-annex build: +. In that case, +the nondeterminism came from \"package database files that are +generated by ghc-pkg (where readdir is used and the result isn’t +sorted)\". + +The fix on Guix's end, 5de93cdba7 (gnu: ghc-8: Patch ghc-pkg for +reproducibility, 2019-01-17), was at the level of the ghc package. It +replaced the following line in utils/ghc-pkg/Main.hs + +``` +confs = map (path ) $ filter (\".conf\" `isSuffixOf`) fs +``` + +with + +``` +confs = map (path ) $ filter (\".conf\" `isSuffixOf`) (sort fs) +``` + +"""]]