The existing implementation tries to generate a time-stamp once when make is run. However, it doesn't work and generates one for every compilation. Getting this right portably in automake is not straightforward. Instead, do it when configure is run. Rename the time-stamp variable since it is no longer generated by make. Fixes: 64c07e38f049 ("table: Embed creating nft version into userdata") Signed-off-by: Jeremy Sowden --- Makefile.am | 2 -- configure.ac | 4 +--- nftversion.h.in | 18 ++++++++++-------- 3 files changed, 11 insertions(+), 13 deletions(-) diff --git a/Makefile.am b/Makefile.am index b134330d5ca2..ceb222578f93 100644 --- a/Makefile.am +++ b/Makefile.am @@ -159,8 +159,6 @@ AM_CFLAGS = \ \ $(GCC_FVISIBILITY_HIDDEN) \ \ - -DMAKE_STAMP=$(MAKE_STAMP) \ - \ $(NULL) AM_YFLAGS = -d -Wno-yacc diff --git a/configure.ac b/configure.ac index 2c61072e0682..9859072e9ae5 100644 --- a/configure.ac +++ b/configure.ac @@ -149,9 +149,7 @@ AC_ARG_WITH([stable-release], [AS_HELP_STRING([--with-stable-release], [], [with_stable_release=0]) AC_SUBST([STABLE_RELEASE],[$with_stable_release]) AC_SUBST([NFT_VERSION], [$(echo "${VERSION}" | tr '.' ',')]) -# Current date should be fetched exactly once per build, -# so have 'make' call date and pass the value to every 'gcc' call -AC_SUBST([MAKE_STAMP], ["\$(shell date +%s)"]) +AC_SUBST([BUILD_STAMP], [$(date +%s)]) AC_ARG_ENABLE([distcheck], AS_HELP_STRING([--enable-distcheck], [Build for distcheck]), diff --git a/nftversion.h.in b/nftversion.h.in index 6f897719d005..325b9dcca2d8 100644 --- a/nftversion.h.in +++ b/nftversion.h.in @@ -1,19 +1,21 @@ #ifndef NFTABLES_NFTVERSION_H #define NFTABLES_NFTVERSION_H +#define BUILD_STAMP @BUILD_STAMP@ + static char nftversion[] = { @NFT_VERSION@, @STABLE_RELEASE@ }; static char nftbuildstamp[] = { - ((uint64_t)MAKE_STAMP >> 56) & 0xff, - ((uint64_t)MAKE_STAMP >> 48) & 0xff, - ((uint64_t)MAKE_STAMP >> 40) & 0xff, - ((uint64_t)MAKE_STAMP >> 32) & 0xff, - ((uint64_t)MAKE_STAMP >> 24) & 0xff, - ((uint64_t)MAKE_STAMP >> 16) & 0xff, - ((uint64_t)MAKE_STAMP >> 8) & 0xff, - ((uint64_t)MAKE_STAMP >> 0) & 0xff, + ((uint64_t)BUILD_STAMP >> 56) & 0xff, + ((uint64_t)BUILD_STAMP >> 48) & 0xff, + ((uint64_t)BUILD_STAMP >> 40) & 0xff, + ((uint64_t)BUILD_STAMP >> 32) & 0xff, + ((uint64_t)BUILD_STAMP >> 24) & 0xff, + ((uint64_t)BUILD_STAMP >> 16) & 0xff, + ((uint64_t)BUILD_STAMP >> 8) & 0xff, + ((uint64_t)BUILD_STAMP >> 0) & 0xff, }; #endif /* !defined(NFTABLES_NFTVERSION_H) */ -- 2.51.0