-
Notifications
You must be signed in to change notification settings - Fork 374
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
yesod-static binaries differ from filesystem readdir order #1684
Comments
Thanks for the report. I think this is best solved at a lower level (the |
I did a double-build with that patch but it seems there are still ordering issues left in https://build.opensuse.org/package/show/home:bmwiedemann:branches:devel:languages:haskell/ghc-file-embed is my branch used for the semi-manual git-annex build. |
output from |
@snoyberg import Yesod.Static (embed, Static, publicFiles) |
I'm still seeing order variations with those 2 patches applied. |
Thanks @joeyh, it may have been the usage of |
With the 3 patches git-annex now builds fully reproducibly :-) Thanks a lot @snoyberg - I know that walking in the dark is not easy. |
Thank you for confirming. New versions of packages released. And if it's not clear: I'm really appreciative of the work going on by yourself and others to make reproducible builds happen, thank you. |
0.0.13.0 * Ensure that directory listings are returned in sorted order for reproducibility yesodweb/yesod#1684 0.0.12.0 * Use the Bytes literal on newer GHCs to reduce memory usage during compilation #36
Bug Reports
Your OS name and version: openSUSE-Tumbleweed-20200629
The versions of tools you're using (e.g.
stack
,yesod
ghc
): yesod-1.6.0.1, ghc-8.10.1Finally, if possible, please reproduce the error in a small script, or if necessary create a new Github repo with the smallest possible reproducing case: I would, if I knew Haskell.
While working on reproducible builds for openSUSE, I found that our
git-annex
package varied across builds and a discussion athttps://git-annex.branchable.com/bugs/git-annex_does_not_build_reproducibly_from_readdir_order/ made me conclude that yesod-static causes its .o file to contain static files in random filesystem readdir order. Some
(sort fs)
in the right places might be needed.See https://reproducible-builds.org/ for why this matters.
The text was updated successfully, but these errors were encountered: