2
0
mirror of https://gitlab.isc.org/isc-projects/bind9 synced 2025-08-30 22:15:20 +00:00

Ensure proper comparison order in "abi-check" jobs

Right before the release API version (LIBINTERFACE, LIBREVISION, LIBAGE)
for older and newer libraries tends to be the same. Given that, commit
hash can't be the determining factor here, Unix time of the commit
should suit us better and is placed after the API version. The commit
hash is preserved as it's useful to see it in the actual report.

'-nosymtbl' versions of libraries are not produced in Automake builds.
This commit is contained in:
Michal Nowak
2020-04-15 11:06:22 +02:00
parent 7a0ebb14f3
commit 8e3e2836b0

View File

@@ -49,14 +49,14 @@ check_program w3m
# generate ABI dump file for them.
while read -r SO; do
APIFILE="$(dirname "${SO}")/../api"
pushd "$(dirname "${APIFILE}")"
GIT_REVISION=$(git rev-parse HEAD | cut -c 1-10)
popd
APIFILE_DIR=$(dirname "${APIFILE}")
GIT_HEAD_REV=$(git -C "${APIFILE_DIR}" rev-parse HEAD | cut -c 1-10)
GIT_HEAD_UNIX_TIME=$(git -C "${APIFILE_DIR}" log -1 --format=%ct HEAD)
# Get LIBINTERFACE, LIBREVISION, LIBAGE from the 'api' file.
eval "$(grep -v "^#" "${APIFILE}" | tr -d " ")"
VERSION="${LIBINTERFACE}.${LIBREVISION}.${LIBAGE}-${GIT_REVISION}"
VERSION="${LIBINTERFACE}.${LIBREVISION}.${LIBAGE}-${GIT_HEAD_UNIX_TIME}-${GIT_HEAD_REV}"
abi-dumper "${SO}" -o abi-"$(basename "${SO}" .so)-${VERSION}".dump -lver "${VERSION}"
done < <(find "${TESTBIND}"/lib/*/.libs/ "${REFBIND}"/lib/*/.libs/ -name '*.so')
done < <(find "${TESTBIND}"/lib/*/.libs/ "${REFBIND}"/lib/*/.libs/ -name '*.so' ! -name '*-nosymtbl*')
# Generate HTML API compatibility reports for all libraries.
find . -maxdepth 1 -name 'abi-*.dump' | sort | while read -r OLD; read -r NEW; do