The pacemaker-libs-devel package contains
/usr/include/pacemaker/crm_config.h which defines BUILD_VERSION. This
macro is set to the git commit ID that was used to build this package.
In previous releases, we had a bug in configure.ac that caused us to
incorrectly fail to find git, resulting in using the fallback of the
source tree directory name. This is something like pacemaker-1234abcd,
which is the same on all builders.
However, 2.1.7 includes a fixed configure.ac that can now find the git
binary which means we now use the latest git commit ID. Unfortunately,
this varies from builder to builder even for the same release. This is
because the first steps in package building are running "git commit" to
initialize a repo, and then running "git am" to apply all the patches.
Creating the repo means it will get a different commit ID every time,
which means the applied patches will have a different parent, giving
them different commit IDs.
The end result of this is that each builder sees its own distinct commit
ID, and therefore each arch has its own BUILD_VERSION. This means the
x86_64 and i686 packages now differ, introducing a file conflict, which
means rpm will refuse to upgrade.
The fix is to simply remove the automatically created git repo after we
are done with it, causing configure.ac to use the directory name
fallback.
- Resolves: RHEL-29007
- Fix documentation for Pacemaker Remote schema transfers
- Do not check CIB feature set version when CIB_file is set
- Consolidate attrd cache handling
- Avoid duplicating option metadata across daemons
- Related: RHEL-7597
- Related: RHEL-14045