git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] To make GIT-VERSION-FILE, search for git more widely

From
Johannes Sixt <j.sixt@viscovery.net>
Date
May 7, 2009, 08:28 UTC
Message-ID
<4A029B9B.7090706@viscovery.net>
In-Reply-To
<1241684666-18956-1-git-send-email-matthias.andree@gmx.de>
Matthias Andree schrieb:
Show 36 quoted lines
> 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@gmx.de>
> ---
>  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) &&
Show 27 quoted lines
>  	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@viscovery.net
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 !
Previous: Matthias AndreeNext: Junio C Hamano
Message 2 of 13 in “To make GIT-VERSION-FILE, search for git more widely”
  1. To make GIT-VERSION-FILE, search for git more widelyMatthias Andree, May 7, 2009
  2. Johannes SixtMay 7, 2009
  3. Junio C HamanoMay 7, 2009
  4. Matthias AndreeMay 7, 2009
  5. Re: To make GIT-VERSION-FILE, search for git more widelyNicolas Sebrecht, May 7, 2009
  6. Matthias AndreeMay 7, 2009
  7. Re: To make GIT-VERSION-FILE, search for git more widelyNicolas Sebrecht, May 7, 2009
  8. Johannes SixtMay 7, 2009
  9. Michael J GruberMay 7, 2009
  10. Matthias AndreeMay 7, 2009
  11. Matthias AndreeMay 7, 2009
  12. Johannes SixtMay 7, 2009
  13. To make GIT-VERSION-FILE, search for git more widelyMatthias Andree, May 7, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.