diff options
author | Paul Elder <paul.elder@ideasonboard.com> | 2019-07-10 20:29:44 +0900 |
---|---|---|
committer | Paul Elder <paul.elder@ideasonboard.com> | 2019-07-11 12:22:40 +0900 |
commit | 10ec09025d6f52f2c1d0ba6b7e6943a603a386d9 (patch) | |
tree | 88155bb4924380641b1212219f5b697b121177ca /utils/gen-version.sh | |
parent | 6a27bd33879970e182949ad2010687886d2dc671 (diff) |
libcamera: skip auto version generation when building for Chromium OS
Commit b817bcec6b53 ("libcamera: Auto generate version information")
causes the build to fail in the Chromium OS build environment, because
git update-index tries to take a lock (ie. write) in the git repo that
is outside of the build directory.
The solution is to simply skip git update-index if we are building in
the Chromium OS build environment, and this decision is made if the
build directory is not a subdirectory of the source directory.
Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'utils/gen-version.sh')
-rwxr-xr-x | utils/gen-version.sh | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/utils/gen-version.sh b/utils/gen-version.sh index 708c01d3..7f7872ce 100755 --- a/utils/gen-version.sh +++ b/utils/gen-version.sh @@ -3,13 +3,11 @@ # SPDX-License-Identifier: GPL-2.0-or-later # Generate a version string using git describe -if [ -n "$1" ] -then - cd "$1" 2>/dev/null || exit 1 -fi +build_dir="$1" # Bail out if the directory isn't under git control -git rev-parse --git-dir >/dev/null 2>&1 || exit 1 +src_dir=$(git rev-parse --git-dir 2>&1) || exit 1 +src_dir=$(readlink -f "$src_dir/..") # Get a short description from the tree. version=$(git describe --abbrev=8 --match "v[0-9]*" 2>/dev/null) @@ -24,7 +22,10 @@ fi # Append a '-dirty' suffix if the working tree is dirty. Prevent false # positives due to changed timestamps by running git update-index. -git update-index --refresh > /dev/null 2>&1 +if [ -z "$build_dir" ] || (echo "$build_dir" | grep -q "$src_dir") +then + git update-index --refresh > /dev/null 2>&1 +fi git diff-index --quiet HEAD || version="$version-dirty" # Replace first '-' with a '+' to denote build metadata, strip the 'g' in from |