Restore scripts/make_gitrev.sh
Commit 109d2c9310
("Move zfs_gitrev.h to build directory") removed
scripts/make_gitrev.sh, putting the logic into the Makefile itself.
However, at least the Arch Linux packager wants the script so that the
file can be generated without having to run configure first, for
DKMS packaging purposes.
So move the make recipe back into the script.
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Eli Schwartz <eschwartz@archlinux.org>
Signed-off-by: Arvind Sankar <nivedita@alum.mit.edu>
Closes #10595
This commit is contained in:
parent
5dd92909c6
commit
d32a59fe2b
11
Makefile.am
11
Makefile.am
|
@ -54,16 +54,7 @@ CLEANFILES = $(GITREV)
|
||||||
|
|
||||||
PHONY = gitrev
|
PHONY = gitrev
|
||||||
gitrev:
|
gitrev:
|
||||||
$(AM_V_GEN)ZFS_GITREV=$$(cd $(top_srcdir) && \
|
$(AM_V_GEN)$(top_srcdir)/scripts/make_gitrev.sh $(GITREV)
|
||||||
git describe --always --long --dirty 2>/dev/null); \
|
|
||||||
ZFS_GITREV=$${ZFS_GITREV:-unknown}; \
|
|
||||||
printf '#define\tZFS_META_GITREV "%s"\n' \
|
|
||||||
"$${ZFS_GITREV}" >$(GITREV)~; \
|
|
||||||
if cmp -s $(GITREV) $(GITREV)~; then \
|
|
||||||
$(RM) $(GITREV)~; \
|
|
||||||
else \
|
|
||||||
mv -f $(GITREV)~ $(GITREV); \
|
|
||||||
fi
|
|
||||||
|
|
||||||
all: gitrev
|
all: gitrev
|
||||||
|
|
||||||
|
|
|
@ -15,6 +15,7 @@ EXTRA_DIST = \
|
||||||
dkms.postbuild \
|
dkms.postbuild \
|
||||||
enum-extract.pl \
|
enum-extract.pl \
|
||||||
kmodtool \
|
kmodtool \
|
||||||
|
make_gitrev.sh \
|
||||||
man-dates.sh \
|
man-dates.sh \
|
||||||
paxcheck.sh \
|
paxcheck.sh \
|
||||||
zfs2zol-patch.sed \
|
zfs2zol-patch.sed \
|
||||||
|
|
|
@ -0,0 +1,50 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
#
|
||||||
|
# CDDL HEADER START
|
||||||
|
#
|
||||||
|
# This file and its contents are supplied under the terms of the
|
||||||
|
# Common Development and Distribution License ("CDDL"), version 1.0.
|
||||||
|
# You may only use this file in accordance with the terms of version
|
||||||
|
# 1.0 of the CDDL.
|
||||||
|
#
|
||||||
|
# A full copy of the text of the CDDL should have accompanied this
|
||||||
|
# source. A copy of the CDDL is also available via the Internet at
|
||||||
|
# http://www.illumos.org/license/CDDL.
|
||||||
|
#
|
||||||
|
# CDDL HEADER END
|
||||||
|
#
|
||||||
|
|
||||||
|
# Copyright (c) 2018 by Delphix. All rights reserved.
|
||||||
|
# Copyright (c) 2018 by Matthew Thode. All rights reserved.
|
||||||
|
|
||||||
|
#
|
||||||
|
# Generate zfs_gitrev.h. Note that we need to do this for every
|
||||||
|
# invocation of `make`, including for incremental builds. Therefore we
|
||||||
|
# can't use a zfs_gitrev.h.in file which would be processed only when
|
||||||
|
# `configure` is run.
|
||||||
|
#
|
||||||
|
|
||||||
|
set -e -u
|
||||||
|
|
||||||
|
top_srcdir="$(dirname "$0")/.."
|
||||||
|
GITREV="${1:-include/zfs_gitrev.h}"
|
||||||
|
|
||||||
|
# GITREV should be a relative path (relative to top_builddir)
|
||||||
|
case "${GITREV}" in
|
||||||
|
/*) echo "Error: ${GITREV} should be a relative path" >&2
|
||||||
|
exit 1;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
ZFS_GITREV=$({ cd "${top_srcdir}" &&
|
||||||
|
git describe --always --long --dirty 2>/dev/null; } || :)
|
||||||
|
ZFS_GITREV=${ZFS_GITREV:-unknown}
|
||||||
|
|
||||||
|
GITREVTMP="${GITREV}~"
|
||||||
|
printf '#define\tZFS_META_GITREV "%s"\n' "${ZFS_GITREV}" >"${GITREVTMP}"
|
||||||
|
if cmp -s "${GITREV}" "${GITREVTMP}"
|
||||||
|
then
|
||||||
|
rm -f "${GITREVTMP}"
|
||||||
|
else
|
||||||
|
mv -f "${GITREVTMP}" "${GITREV}"
|
||||||
|
fi
|
Loading…
Reference in New Issue