Skip to content

Commit

Permalink
Allow copy-builtin to work with modified sources
Browse files Browse the repository at this point in the history
`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 <[email protected]>
Reviewed-by: George Melikov <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Signed-off-by: Matthew Thode <[email protected]>
Closes openzfs#8022 
Closes openzfs#8025
  • Loading branch information
prometheanfire authored and Gregor Kopka committed Jan 7, 2019
1 parent ecd69c0 commit 3d9e4d5
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 25 deletions.
2 changes: 1 addition & 1 deletion copy-builtin
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
37 changes: 13 additions & 24 deletions scripts/make_gitrev.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -26,29 +25,19 @@
# `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)

0 comments on commit 3d9e4d5

Please sign in to comment.