-
Notifications
You must be signed in to change notification settings - Fork 279
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
Sort .so input file list #2206
Sort .so input file list #2206
Conversation
so that EnzoHop.cpython-37m-x86_64-linux-gnu.so builds in a reproducible way in spite of indeterministic filesystem readdir order and http://bugs.python.org/issue30461 See https://reproducible-builds.org/ for why this is good.
Hi! Welcome, and thanks for opening this pull request. We have some guidelines for new pull requests, and soon you'll hear back about the results of our tests and continuous integration checks. Thank you for your contribution! |
Fair enough. Thanks for the contribution and thank you for helping to package yt for downstream users. |
Hooray! Congratulations on your first merged pull request! We hope we keep seeing you around! 🎆 |
when building packages (e.g. for openSUSE Linux) (random) filesystem order of input files influences ordering of functions in the output .so files. Thus without the patch, builds (in disposable VMs) would usually differ. Without this patch, all callers have to be patched individually ofalk/libdnet#42 sass/libsass-python#212 tahoe-lafs/pycryptopp#41 yt-project/yt#2206 pyproj4/pyproj#142 pytries/datrie#49 Roche/pyreadstat#37 but that is an infinite effort. See https://reproducible-builds.org/ for why this matters.
When building packages (e.g. for openSUSE Linux) (random) filesystem order of input files influences ordering of functions in the output .so files. Thus without the patch, builds (in disposable VMs) would usually differ. Without this patch, all callers have to be patched individually ofalk/libdnet#42 sass/libsass-python#212 tahoe-lafs/pycryptopp#41 yt-project/yt#2206 pyproj4/pyproj#142 pytries/datrie#49 Roche/pyreadstat#37 but that is an infinite effort. See https://reproducible-builds.org/ for why this matters.
When building packages (e.g. for openSUSE Linux) (random) filesystem order of input files influences ordering of functions in the output .so files. Thus without the patch, builds (in disposable VMs) would usually differ. Without this patch, all callers have to be patched individually ofalk/libdnet#42 sass/libsass-python#212 tahoe-lafs/pycryptopp#41 yt-project/yt#2206 pyproj4/pyproj#142 pytries/datrie#49 Roche/pyreadstat#37 but that is an infinite effort. See https://reproducible-builds.org/ for why this matters.
When building packages (e.g. for openSUSE Linux) (random) filesystem order of input files influences ordering of functions in the output .so files. Thus without the patch, builds (in disposable VMs) would usually differ. Without this patch, all callers have to be patched individually ofalk/libdnet#42 sass/libsass-python#212 tahoe-lafs/pycryptopp#41 yt-project/yt#2206 pyproj4/pyproj#142 pytries/datrie#49 Roche/pyreadstat#37 but that is an infinite effort. See https://reproducible-builds.org/ for why this matters.
When building packages (e.g. for openSUSE Linux) (random) filesystem order of input files influences ordering of functions in the output .so files. Thus without the patch, builds (in disposable VMs) would usually differ. Without this patch, all callers have to be patched individually ofalk/libdnet#42 sass/libsass-python#212 tahoe-lafs/pycryptopp#41 yt-project/yt#2206 pyproj4/pyproj#142 pytries/datrie#49 Roche/pyreadstat#37 but that is an infinite effort. See https://reproducible-builds.org/ for why this matters.
Sort .so input file list
so that EnzoHop.cpython-37m-x86_64-linux-gnu.so builds in a reproducible way
in spite of indeterministic filesystem readdir order
and http://bugs.python.org/issue30461
See https://reproducible-builds.org/ for why this is good.
Without this patch, building the openSUSE python-yt package always had variations in /usr/lib64/python3.7/site-packages/yt/analysis_modules/halo_finding/hop/EnzoHop.cpython-37m-x86_64-linux-gnu.so machine code.
This PR was done while working on reproducible builds for openSUSE.