scripts: fix getver git dir check
authorJohn Crispin <john@openwrt.org>
Sat, 14 Feb 2015 20:48:37 +0000 (20:48 +0000)
committerJohn Crispin <john@openwrt.org>
Sat, 14 Feb 2015 20:48:37 +0000 (20:48 +0000)
Git internals are referenced by .git which isn't necessarily a
directory. It may also be a file that references the actual .git
directory using the gitdir directive.

If .git is assumed to be a directory the build will not be able to get
the correct version when openwrt is included as a git submodule because
when used as a submodule .git will actually be a file referencing to a
subdirectory in the parent's git dir.

When the correct version is not detected some image generation tools
will fail because the OpenWrt string will be 'OpenWrtunknown' which is
too long for some header formats.

Signed-off-by: Felix Kaechele <heffer@fedoraproject.org>
SVN-Revision: 44452

scripts/getver.sh

index 8bb384bd538fbc4a3a249d666cd8dc216e7fb63d..4643ca63ff0bb43b344fa4f9dfef383567c128ff 100755 (executable)
@@ -17,7 +17,7 @@ try_svn() {
 }
 
 try_git() {
 }
 
 try_git() {
-       [ -d .git ] || return 1
+       [ -e .git ] || return 1
        REV="$(git log | grep -m 1 git-svn-id | awk '{ gsub(/.*@/, "", $0); print $1 }')"
        REV="${REV:+r$REV}"
        [ -n "$REV" ]
        REV="$(git log | grep -m 1 git-svn-id | awk '{ gsub(/.*@/, "", $0); print $1 }')"
        REV="${REV:+r$REV}"
        [ -n "$REV" ]