Matthias Andree schrieb: > Problem: when git is installed into /usr/local/bin, running 'sudo make > install' won't find git in $PATH (because sudo strips PATH, for instance > on openSUSE 11.1, and doesn't include /usr/local/whatever). > > This causes GIT-VERSION-FILE to not find git for git describe, and fall > back to DEF_VER. > > This in turn causes rebuilds of major parts of the system. > > This patch passes GIT through to the shell script, and additionally > looks for the current version and in ${prefix}/bin. > > Signed-off-by: Matthias Andree <matthias.andree@xxxxxx> > --- > GIT-VERSION-GEN | 7 ++++--- > Makefile | 6 +++++- > 2 files changed, 9 insertions(+), 4 deletions(-) > > diff --git a/GIT-VERSION-GEN b/GIT-VERSION-GEN > index 39cde78..66c171e 100755 > --- a/GIT-VERSION-GEN > +++ b/GIT-VERSION-GEN > @@ -2,6 +2,7 @@ > > GVF=GIT-VERSION-FILE > DEF_VER=v1.6.3.GIT > +test -x "$GIT" || GIT=git > > LF=' > ' > @@ -12,12 +13,12 @@ if test -f version > then > VN=$(cat version) || VN="$DEF_VER" > elif test -d .git -o -f .git && > - VN=$(git describe --abbrev=4 HEAD 2>/dev/null) && > + VN=$(${GIT} describe --abbrev=4 HEAD 2>/dev/null) && + VN=$(${GIT} describe --abbrev=4 HEAD 2>/dev/null) && > case "$VN" in > *$LF*) (exit 1) ;; > v[0-9]*) > - git update-index -q --refresh > - test -z "$(git diff-index --name-only HEAD --)" || > + ${GIT} update-index -q --refresh > + test -z "$(${GIT} diff-index --name-only HEAD --)" || > VN="$VN-dirty" ;; > esac > then > diff --git a/Makefile b/Makefile > index 6e21643..8e34877 100644 > --- a/Makefile > +++ b/Makefile > @@ -177,7 +177,11 @@ all:: > # away (some NTFS drivers seem to zero the contents in that scenario). > > GIT-VERSION-FILE: .FORCE-GIT-VERSION-FILE > - @$(SHELL_PATH) ./GIT-VERSION-GEN > + @{ GIT=./git$X ; type $$GIT >/dev/null 2>&1 ; } \ > + || { GIT=$(prefix)/bin/git$X ; type $$GIT >/dev/null 2>&1 ; }\ > + || GIT=git ; \ > + export GIT ; \ > + $(SHELL_PATH) ./GIT-VERSION-GEN > -include GIT-VERSION-FILE > > uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo not') -- DI Johannes Sixt Leiter Softwareentwicklung Viscovery Software GmbH Landstrasse 11 A-4020 Linz, Austria T: +43-1-532 0570-51 M: +43-676-8494 9571 F: +43-1-532 0570-33 j.sixt@xxxxxxxxxxxxx www.viscovery.net t u r n y o u r d a t a i n t o r e a l v a l u e ! -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html