scripts: fix getver git dir check
authorblogic <blogic@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Sat, 14 Feb 2015 20:48:37 +0000 (20:48 +0000)
committerblogic <blogic@3c298f89-4303-0410-b956-a3cf2f4a3e73>
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>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44452 3c298f89-4303-0410-b956-a3cf2f4a3e73

scripts/getver.sh

index 8bb384b..4643ca6 100755 (executable)
@@ -17,7 +17,7 @@ try_svn() {
 }
 
 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" ]