From: Anders Kaseorg Date: Tue, 6 Dec 2016 15:48:31 +0000 (-0500) Subject: AFS_component_version_number.c: Respect SOURCE_DATE_EPOCH if set X-Git-Tag: BP-openafs-stable-1_8_x~60 X-Git-Url: http://git.openafs.org/?p=openafs.git;a=commitdiff_plain;h=5dc53812df9e5a42fa822c9b890c1b8a442bed64 AFS_component_version_number.c: Respect SOURCE_DATE_EPOCH if set To improve build reproducibility, if the SOURCE_DATE_EPOCH environment variable is set, use it to deterministically replace the embedded build date, and do not include the username or hostname in this case. https://wiki.debian.org/ReproducibleBuilds/TimestampsProposal Change-Id: I9ba951f1836385ffd14aad95f071bf8c672a01bb Reviewed-on: https://gerrit.openafs.org/12471 Tested-by: BuildBot Reviewed-by: Benjamin Kaduk --- diff --git a/src/config/Makefile.version-NOCML.in b/src/config/Makefile.version-NOCML.in index 325baa4..c65cfe9 100644 --- a/src/config/Makefile.version-NOCML.in +++ b/src/config/Makefile.version-NOCML.in @@ -11,7 +11,11 @@ AFS_component_version_number.o: AFS_component_version_number.c AFS_component_version_number.c: @TOP_OBJDIR@/src/config/Makefile.version ( VERSION=`@abs_top_srcdir@/build-tools/git-version @abs_top_srcdir@ "@VERSION@"` && \ - echo 'char cml_version_number[]="@(#)OpenAFS '$$VERSION `date +"%Y-%m-%d"` $$USER@`hostname`'";' >AFS_component_version_number.c.NEW && \ + if [ "$$SOURCE_DATE_EPOCH" ]; then \ + echo 'char cml_version_number[]="@(#)OpenAFS '$$VERSION `date -u -d "@$$SOURCE_DATE_EPOCH" +"%Y-%m-%d" 2>/dev/null || date -u -r "$$SOURCE_DATE_EPOCH" +"%Y-%m-%d"`'";'; \ + else \ + echo 'char cml_version_number[]="@(#)OpenAFS '$$VERSION `date +"%Y-%m-%d"` $$USER@`hostname`'";'; \ + fi >AFS_component_version_number.c.NEW && \ echo 'char* AFSVersion = "${PACKAGE} '$$VERSION'";' >>AFS_component_version_number.c.NEW && \ if cmp AFS_component_version_number.c.NEW AFS_component_version_number.c > /dev/null 2>&1 ; then : ; else \ mv AFS_component_version_number.c.NEW AFS_component_version_number.c ; fi )