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 list of input files #21553
Sort list of input files #21553
Conversation
|
Fun fact: while analyzing these issues and creating minimal, well-defined patches I spent several hours "waiting for godot" compilation to finish ;-) |
|
Seems fine, though in Godot we prefer such strongly-related commits to be grouped together as one. Could you squash them? There are some other occurrences of |
This one you can probably leave as is, it's not used directly in the buildsystem (and seems partly bogus, shaders should be |
|
I tested that only these globs needed sorting for our package to be able to produce bit-identical results. |
We want to add the individual strings to the list and not add a list object to the list. Without this patch, sorting failed because "str < list" is not a valid operation in python.
so that godot package builds reproducibly in spite of indeterministic filesystem readdir order and http://bugs.python.org/issue30461 See https://reproducible-builds.org/ for why this is good. Sort font input file list, so that builtin_fonts.gen.h is created in a reproducible way Sort list of platforms, so that editor/register_exporters.gen.cpp is created in a reproducible way Sort list of source files, so that .a files and resulting godot binaries are created in a reproducible way
|
Perfect, thanks! |
|
Please consider backporting. At the very least for the bugfix commit, but the sorting does not hurt either. |
|
Cherrypicked for 3.0.7. (Only commit f312582, the second one doesn't apply.) |
While working on reproducible builds for openSUSE, I found that
the godot package differed for every build.
These patches fix most issues by sorting lists of input files.
There is also a correctness fix included. Without that, sorting failed, because
str < listis not a valid python operation.See individual commit messages for details.