]> git.proxmox.com Git - mirror_zfs.git/commitdiff
Allow copy-builtin to work with modified sources
authorMatthew Thode <mthode@mthode.org>
Wed, 17 Oct 2018 19:06:05 +0000 (14:06 -0500)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Wed, 17 Oct 2018 19:06:05 +0000 (12:06 -0700)
`scripts/make_gitrev.sh` had 'set -e' so if any command failed it would
fail and cause copy-builtin to fail (copy-builtin also has `set -e`.
This commit also simplifies scripts/make_gitrev.sh to always write a
file by using a cleanup function.  It also simplifies other areas of
the script as well (making it much shorter).

Reviewed-by: John Kennedy <john.kennedy@delphix.com>
Reviewed-by: George Melikov <mail@gmelikov.ru>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Matthew Thode <mthode@mthode.org>
Closes #8022
Closes #8025

copy-builtin
scripts/make_gitrev.sh

index eaffbd2d26ec3b1f819bed58cb6c86de91385422..1dcfcb961ee8025d08e0d842affb2f05da1f9edd 100755 (executable)
@@ -30,7 +30,7 @@ then
 fi
 
 make clean || true
-scripts/make_gitrev.sh
+scripts/make_gitrev.sh || true
 
 rm -rf "$KERNEL_DIR/include/zfs" "$KERNEL_DIR/fs/zfs"
 cp --recursive include "$KERNEL_DIR/include/zfs"
index 04be09595ccca20898c1003d35777d29e2cf8f40..757f00fbcf0e2046f3c34e2477094e59df9669ef 100755 (executable)
@@ -15,9 +15,8 @@
 # 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
 # `configure` is run.
 #
 
-BASE_DIR=$(dirname "$0")
-
-file=${BASE_DIR}/../include/zfs_gitrev.h
+set -e -u
 
-#
-# Set default file contents in case we bail.
-#
-rm -f "$file"
-# shellcheck disable=SC2039
-/bin/echo -e "#define\tZFS_META_GITREV \"unknown\"" >>"$file"
+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 || exit
-
-#
+git rev-parse --git-dir > /dev/null 2>&1
 # Check if there are uncommitted changes
-#
-git diff-index --quiet HEAD || exit
-
-rev=$(git describe 2>/dev/null) || exit
-
-rm -f "$file"
-# shellcheck disable=SC2039
-/bin/echo -e "#define\tZFS_META_GITREV \"${rev}\"" >>"$file"
+git diff-index --quiet HEAD
+# Get the git current git revision
+ZFS_GIT_REV=$(git describe 2>/dev/null)