Makefile,genbuild: Provide length for abbreviated commit hashes

The original default, minimum abbreviated hash length was 7. It dif-
fers on newer systems, however. This breaks reproducibility, so set
an explicit length. 12 hex digits should be good enough.

Note: This sets only a minimum. With a high enough number of commit
objects in the repository, Git could still decide to use a longer
hash, again breaking reproducibility. 12 digits will hopefully pro-
vide enough margin.

Change-Id: Ia86e9cc41e27a0a57d498dcb13aec954c4ea0f04
Signed-off-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/76560
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Martin Roth <martin.roth@amd.corp-partner.google.com>
This commit is contained in:
Nico Huber 2023-07-16 00:59:55 +02:00 committed by Felix Held
parent ac02857b97
commit f9aec6e298
2 changed files with 3 additions and 3 deletions

View File

@ -23,7 +23,7 @@ ifeq ($(BUILD_TIMELESS),1)
KERNELVERSION := -TIMELESS--LESSTIME-
else
KERNELVERSION := $(strip $(if $(GIT),\
$(shell git describe --dirty --always || git describe),\
$(shell git describe --abbrev=12 --dirty --always || git describe),\
$(if $(wildcard $(top)/.coreboot-version),\
$(shell cat $(top)/.coreboot-version),\
coreboot-unknown$(KERNELREVISION))))

View File

@ -23,8 +23,8 @@ fi
# $1: format string
get_git_head_data() {
LANG="" git log --no-show-signature -1 --format="format:$1" 2>/dev/null || \
LANG="" git log -1 --format="format:$1"
LANG="" git log --no-show-signature --abbrev=12 -1 --format="format:$1" 2>/dev/null || \
LANG="" git log --abbrev=12 -1 --format="format:$1"
}
if [ "${BUILD_TIMELESS}" = "1" ]; then