diff options
author | Arvind Sankar <[email protected]> | 2020-06-19 22:08:59 -0400 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2020-06-24 18:19:28 -0700 |
commit | 109d2c93102049e7d7fdd5de7f9edff717224b32 (patch) | |
tree | 08eeeb151b4ecbabe5e3617199da94762e7bdce6 /scripts | |
parent | 33982eb24c615f78b8f6b5f54c6acb6c29cbf6e3 (diff) |
Move zfs_gitrev.h to build directory
Currently an out-of-tree build does not work with read-only source
directory because zfs_gitrev.h can't be created. Move this file to the
build directory, which is more appropriate for a generated file, and
drop the dist-hook for zfs_gitrev.h. There is no need to distribute this
file since it will be regenerated as part of the compilation in any
case.
scripts/make_gitrev.sh tries to avoid updating zfs_gitrev.h if there has
been no change, however this doesn't cover the case when the source
directory is not in git: in that case zfs_gitrev.h gets overwritten even
though it's always "unknown". Simplify the logic to always write out a
new version of zfs_gitrev.h, compare against the old and overwrite only
if different. This is now simple enough to just include in the
Makefile, so drop the script.
Reviewed-by: Ryan Moeller <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Signed-off-by: Arvind Sankar <[email protected]>
Closes #10493
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/Makefile.am | 1 | ||||
-rwxr-xr-x | scripts/make_gitrev.sh | 45 |
2 files changed, 0 insertions, 46 deletions
diff --git a/scripts/Makefile.am b/scripts/Makefile.am index 1605ab886..176304439 100644 --- a/scripts/Makefile.am +++ b/scripts/Makefile.am @@ -15,7 +15,6 @@ EXTRA_DIST = \ dkms.postbuild \ enum-extract.pl \ kmodtool \ - make_gitrev.sh \ man-dates.sh \ paxcheck.sh \ zfs2zol-patch.sed \ diff --git a/scripts/make_gitrev.sh b/scripts/make_gitrev.sh deleted file mode 100755 index 1cf143794..000000000 --- a/scripts/make_gitrev.sh +++ /dev/null @@ -1,45 +0,0 @@ -#!/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 - -cleanup() { - ZFS_GIT_REV=${ZFS_GIT_REV:-"unknown"} - cat << EOF > "$(dirname "$0")"/../include/zfs_gitrev.h -#define ZFS_META_GITREV "${ZFS_GIT_REV}" -EOF -} -trap cleanup EXIT - -# Check if git is installed and we are in a git repo. -git rev-parse --git-dir > /dev/null 2>&1 -# Get the git current git revision -ZFS_GIT_REV=$(git describe --always --long --dirty 2>/dev/null) -# Check if header file already contain the exact string -grep -sq "\"${ZFS_GIT_REV}\"" "$(dirname "$0")"/../include/zfs_gitrev.h && - trap - EXIT -exit 0 |