summaryrefslogtreecommitdiffstats
path: root/Makefile.am
diff options
context:
space:
mode:
authorMatthew Ahrens <[email protected]>2018-10-08 21:57:02 -0700
committerBrian Behlendorf <[email protected]>2018-10-08 21:57:02 -0700
commit4cbde2ecbf7c6478bac106fadd6a23f53d538262 (patch)
tree7589858c7148f5d4c3eea51931457903814c32e1 /Makefile.am
parentdfbe26750308d757d20af8eb5aefef49ec65d4a8 (diff)
Create /proc/sys/kernel/spl/gitrev with git hash
The existing mechanisms for determining what code is running in the kernel do not always correctly report the git hash. The versions reported there do not reflect changes made since `configure` was run (i.e. incremental builds do not update the version) and they are misleading if git tags are not set up properly. This applies to `modinfo zfs`, `dmesg`, and `/sys/module/zfs/version`. There are complicated requirements on how the existing version is generated. Therefore we are leaving that alone, and adding a new mechanism to record and retrieve the git hash: `cat /proc/sys/kernel/spl/gitrev` The gitrev is re-generated at compile time, when running `make` (including for incremental builds). The value is the output of `git describe` (or "unknown" if not in a git repo or there are uncommitted changes). We're also removing /proc/sys/kernel/spl/version, which was never very useful. Reviewed by: Pavel Zakharov <[email protected]> Reviewed by: Brian Behlendorf <[email protected]> Reviewed by: Tim Chase <[email protected]> Signed-off-by: Matthew Ahrens <[email protected]> Closes #7931 Closes #7965
Diffstat (limited to 'Makefile.am')
-rw-r--r--Makefile.am9
1 files changed, 8 insertions, 1 deletions
diff --git a/Makefile.am b/Makefile.am
index 50b80b945..782b88c2f 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -25,6 +25,12 @@ EXTRA_DIST += META AUTHORS COPYRIGHT LICENSE NEWS NOTICE README.md
@CODE_COVERAGE_RULES@
+.PHONY: gitrev
+gitrev:
+ -${top_srcdir}/scripts/make_gitrev.sh
+
+BUILT_SOURCES = gitrev
+
distclean-local::
-$(RM) -R autom4te*.cache
-find . \( -name SCCS -o -name BitKeeper -o -name .svn -o -name CVS \
@@ -40,7 +46,8 @@ distclean-local::
all-local:
-${top_srcdir}/scripts/zfs-tests.sh -c
-dist-hook:
+dist-hook: gitrev
+ cp ${top_srcdir}/include/zfs_gitrev.h $(distdir)/include; \
sed -i 's/Release:[[:print:]]*/Release: $(RELEASE)/' \
$(distdir)/META