Consider to delete MDBX_BUILD_TIMESTAMP #201
Labels
Comments
It was assumed that the ability to predefine |
It works:
|
erthink
added a commit
that referenced
this issue
Jul 26, 2021
Acknowledgements: ----------------- - [Alex Sharov](https://github.com/AskAlexSharov) for reporting and testing. - [Andrea Lanfranchi](https://github.com/AndreaLanfranchi) for reporting bugs. - [Lionel Debroux](https://github.com/debrouxl) for fuzzing tests and reporting bugs. - [Sergey Fedotov](https://github.com/SergeyFromHell/) for [`node-mdbx` NodeJS bindings](https://www.npmjs.com/package/node-mdbx). - [Kris Zyp](https://github.com/kriszyp) for [`lmdbx-store` NodeJS bindings](https://github.com/kriszyp/lmdbx-store). - [Noel Kuntze](https://github.com/Thermi) for [draft Python bindings](https://github.com/erthink/libmdbx/commits/python-bindings). New features, extensions and improvements: ------------------------------------------ - [Allow to predefine/override `MDBX_BUILD_TIMESTAMP` for builds reproducibility](#201). - Added options support for `long-stochastic` script. - Avoided `MDBX_TXN_FULL` error for large transactions when possible. - The `MDBX_READERS_LIMIT` increased to `32767`. - Raise `MDBX_TOO_LARGE` under Valgrind/ASAN if being opened DB is 100 larger than RAM (to avoid hangs and OOM). - Minimized the size of poisoned/unpoisoned regions to avoid Valgrind/ASAN stuck. - Added more workarounds for QEMU for testing builds for 32-bit platforms, Alpha and Sparc architectures. - `mdbx_chk` now skips iteration & checking of DB' records if corresponding page-tree is corrupted (to avoid `SIGSEGV`, ASAN failures, etc). - Added more checks for [rare/fuzzing corruption cases](#217). Backward compatibility break: ----------------------------- - Use file `VERSION.txt` for version information instead of `VERSION` to avoid collision with `#include <version>`. - Rename `slice::from/to_FOO_bytes()` to `slice::envisage_from/to_FOO_length()'. - Rename `MDBX_TEST_EXTRA` make's variable to `MDBX_SMOKE_EXTRA`. - Some details of the C++ API have been changed for subsequent freezing. Fixes: ------ - Fixed excess meta-pages checks in case `mdbx_chk` is called to check the DB for a specific meta page and thus could prevent switching to the selected meta page, even if the check passed without errors. - Fixed [recursive use of SRW-lock on Windows cause by `MDBX_NOTLS` option](#203). - Fixed [log a warning during a new DB creation](#205). - Fixed [false-negative `mdbx_cursor_eof()` result](#207). - Fixed [`make install` with non-GNU `install` utility (OSX, BSD)](#208). - Fixed [installation by `CMake` in special cases by complete use `GNUInstallDirs`'s variables](#209). - Fixed [C++ Buffer issue with `std::string` and alignment](#191). - Fixed `safe64_reset()` for platforms without atomic 64-bit compare-and-swap. - Fixed hang/shutdown on big-endian platforms without `__cxa_thread_atexit()`. - Fixed [using bad meta-pages if DB was partially/recoverable corrupted](#217). - Fixed extra `noexcept` for `buffer::&assign_reference()`. - Fixed `bootid` generation on Windows for case of change system' time. - Fixed [test framework keygen-related issue](#127).
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
There is no logic based on this constant.
But it breaks reproducibility of app builds:
shasum -a256 mybinary
is different from build to build only because of MDBX_BUILD_TIMESTAMP.Reproducibility checksum useful for security reasons - to check that no malware code was embedded into app sources during "release binary artifacts" process.
The text was updated successfully, but these errors were encountered: