Closed arhag closed 2 years ago
That shouldn't have happened. That behavior is configurable https://github.com/eosnetworkfoundation/mandel-appbase/blob/b1065a79a103b5d50552da8389c4dcb9e3984488/CMakeLists.txt#L56-L59 (I defaulted it to ON to maintain backwards compatibility for external users), but we turn it off in mandel https://github.com/eosnetworkfoundation/mandel/blob/1f1243de18f0cd88983351d40e62240ce8074c7a/libraries/CMakeLists.txt#L17
ah, the above didn't make it to 3.1.x, but it's in main
Ah. In that case, this issue has already been resolved by https://github.com/eosnetworkfoundation/mandel/issues/442 (which is included in 3.2) and this can be considered a duplicate. I'll close this issue.
The appbase submodule uses
git describe --tags --dirty
to get a hard-coded string forappbase_version_string
which is based on tags in the repo. This is compiled into the nodeos executable.Nodeos doesn't actually use this hard-coded string because it has its own version library which determines the version using version parameters included in the root CMakeLists.txt file as well as the full commit hash (determined with
git rev-parse HEAD
) and then sets this version into appbase at startup.Not only is the value of
appbase_version_string
unnecessary for nodeos, but it can also potentially act as a source of difference in the compiled binaries depending on the state of the repo even if the exact same commit hash was used to build the code.It is probably best to rethink the
appbase_version_string
so that nodeos does not maintain this potential source of breaking reproducible binary builds.