4af3655622
Using origin/master as the git revision breaks reproducibility, giving different values depending on when the code was pulled from the repo at coreboot.org. By using the current revision instead, we get identical builds. Change-Id: If4be6e048d6c8e417b8c074199745900ccd82b49 Signed-off-by: Martin Roth <martinroth@google.com> Reviewed-on: https://review.coreboot.org/12807 Tested-by: build bot (Jenkins) Reviewed-by: Zheng Bao <zheng.bao@amd.com> Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Reviewed-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
67 lines
2 KiB
Bash
Executable file
67 lines
2 KiB
Bash
Executable file
#!/bin/sh
|
|
|
|
# This file is part of the coreboot project.
|
|
#
|
|
# Copyright (C) 2014 Sage Electronic Engineering, LLC.
|
|
#
|
|
# This program is free software; you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation; version 2 of the License.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
|
|
DATE=""
|
|
GITREV=""
|
|
TIMESOURCE=""
|
|
|
|
export LANG=C
|
|
export LC_ALL=C
|
|
export TZ=UTC
|
|
|
|
top=`dirname $0`/../..
|
|
|
|
if [ -d "${top}/.git" -a -x "$(command -v git)" ]; then
|
|
GITREV=$(LANG= git log -1 --format=format:%h)
|
|
TIMESOURCE=git
|
|
DATE=$(git log --pretty=format:%ct -1)
|
|
else
|
|
GITREV=Unknown
|
|
TIMESOURCE="date"
|
|
DATE=$(LANG= LC_ALL=C TZ=UTC date +%s)
|
|
fi
|
|
|
|
our_date() {
|
|
case $(uname) in
|
|
NetBSD|OpenBSD|DragonFly|FreeBSD|Darwin)
|
|
date -r $1 $2
|
|
;;
|
|
*)
|
|
date -d @$1 $2
|
|
esac
|
|
}
|
|
|
|
#Print out the information that goes into build.h
|
|
printf "/* build system definitions (autogenerated) */\n"
|
|
printf "#ifndef __BUILD_H\n"
|
|
printf "#define __BUILD_H\n\n"
|
|
printf "#define COREBOOT_VERSION %s\n" "\"$KERNELVERSION\""
|
|
|
|
#See if the build is running in a git repo and the git command is available
|
|
printf "/* timesource: $TIMESOURCE */\n"
|
|
printf "#define COREBOOT_VERSION_TIMESTAMP $DATE\n"
|
|
printf "#define COREBOOT_ORIGIN_GIT_REVISION \"$GITREV\"\n"
|
|
|
|
printf "#define COREBOOT_EXTRA_VERSION \"%s\"\n" "$COREBOOT_EXTRA_VERSION"
|
|
printf "#define COREBOOT_BUILD \"$(our_date "$DATE")\"\n"
|
|
printf "#define COREBOOT_BUILD_YEAR_BCD 0x$(our_date "$DATE" +%y)\n"
|
|
printf "#define COREBOOT_BUILD_MONTH_BCD 0x$(our_date "$DATE" +%m)\n"
|
|
printf "#define COREBOOT_BUILD_DAY_BCD 0x$(our_date "$DATE" +%d)\n"
|
|
printf "#define COREBOOT_BUILD_WEEKDAY_BCD 0x$(our_date "$DATE" +%w)\n"
|
|
printf "#define COREBOOT_DMI_DATE \"$(our_date "$DATE" +%m/%d/%Y)\"\n"
|
|
printf "\n"
|
|
printf "#define COREBOOT_COMPILE_TIME \"$(our_date "$DATE" +%T)\"\n"
|
|
printf "#endif\n"
|