From 0e83a8e5ef9ea1165f3dd5dc840fc6756c88d206 Mon Sep 17 00:00:00 2001 From: Leonid Yuriev Date: Wed, 2 Jun 2021 17:08:40 +0300 Subject: [PATCH] mdbx-doc: add note for Reproducible builds. More for https://github.com/erthink/libmdbx/issues/201 --- ChangeLog.md | 4 ++++ README.md | 14 +++++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/ChangeLog.md b/ChangeLog.md index fce9260a..35e347fa 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -17,6 +17,10 @@ ChangeLog - Finalize C++ API (few typos and trivia bugs are still likely for now). - Packages for [Astra Linux](https://astralinux.ru/), [ALT Linux](https://www.altlinux.org/), [ROSA Linux](https://www.rosalinux.ru/), etc. +Acknowledgements: + + - [Alex Sharov](https://github.com/AskAlexSharov) for reporting and testing. + New features: - Allow to predefine/override `MDBX_BUILD_TIMESTAMP` for builds reproducibility (https://github.com/erthink/libmdbx/issues/201). diff --git a/README.md b/README.md index 526da5e8..02131b3d 100644 --- a/README.md +++ b/README.md @@ -387,6 +387,18 @@ So just using CMake or GNU Make in your habitual manner and feel free to fill an issue or make pull request in the case something will be unexpected or broken down. +### Common important details + +#### Build reproducibility +By default _libmdbx_ track build time via `MDBX_BUILD_TIMESTAMP` build option and macro. +So for a [reproducible builds](https://en.wikipedia.org/wiki/Reproducible_builds) you should predefine/override it to known fixed string value. For instance: + + - for reproducible build with make: `make MDBX_BUILD_TIMESTAMP=unknown ` ... + - or during configure by CMake: `cmake -DMDBX_BUILD_TIMESTAMP:STRING=unknown ` ... + +Of course, in addition to this, your toolchain must ensure the reproducibility of builds. +For more information please refer to [reproducible-builds.org](https://reproducible-builds.org/). + #### DSO/DLL unloading and destructors of Thread-Local-Storage objects When building _libmdbx_ as a shared library or use static _libmdbx_ as a part of another dynamic library, it is advisable to make sure that your @@ -479,7 +491,7 @@ Please refer to the [official guide](https://developer.android.com/studio/projec ### iOS To build _libmdbx_ for iOS, we recommend using CMake with the -"[toolchain file](https://cmake.org/cmake/help/latest/variable/CMAKE_TOOLCHAIN_FILE.html)" +["toolchain file"](https://cmake.org/cmake/help/latest/variable/CMAKE_TOOLCHAIN_FILE.html) from the [ios-cmake](https://github.com/leetal/ios-cmake) project.