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

[PATCH] GIT-VERSION-GEN: allow overriding from Makefile

From
Junio C Hamano <junkio@cox.net>
Date
Jan 9, 2006, 23:01 UTC
Message-ID
<7vpsn1f1lb.fsf@assigned-by-dhcp.cox.net>

The RPM building procedure relied on being able to build from a freshly untarred tarball, so there is no way "git describe" could figure out from which commit it is building (there was no HEAD).

This still does not allow you to build RPM binary package from an untagged interim version because RPM does not like '-' in version number, but that probably is a blessing.

Signed-off-by: Junio C Hamano <junkio@cox.net>
---
 * For 1.1.1; the binary in 1.1.0 RPM was affected with this bug.
 GIT-VERSION-GEN |   13 +++++++++----
 Makefile        |    2 +-
 2 files changed, 10 insertions(+), 5 deletions(-)
1900d64cbecf46844dd7910d78676e0cace7139e
diff --git a/GIT-VERSION-GEN b/GIT-VERSION-GEN
index 845b9dc..c878819 100755
--- a/GIT-VERSION-GEN
+++ b/GIT-VERSION-GEN
@@ -2,8 +2,15 @@
 
 GVF=GIT-VERSION-FILE
 
-VN=$(git-describe --abbrev=4 HEAD 2>/dev/null) || VN=v1.0.GIT
-VN=$(expr "$VN" : v'\(.*\)')
+case "${VN+set}" in
+set)
+	;;
+*)
+	VN=$(git-describe --abbrev=4 HEAD 2>/dev/null) || VN=v1.0.GIT
+	VN=$(expr "$VN" : v'\(.*\)')
+	;;
+esac
+
 if test -r $GVF
 then
 	VC=$(sed -e 's/^GIT_VERSION = //' <$GVF)
@@ -14,5 +21,3 @@ test "$VN" = "$VC" || {
 	echo >&2 "GIT_VERSION = $VN"
 	echo "GIT_VERSION = $VN" >$GVF
 }
-
-
diff --git a/Makefile b/Makefile
index c9c15b5..0bbb5b8 100644
--- a/Makefile
+++ b/Makefile
@@ -494,7 +494,7 @@ dist: git.spec git-tar-tree
 	gzip -f -9 $(GIT_TARNAME).tar
 
 rpm: dist
-	$(RPMBUILD) -ta $(GIT_TARNAME).tar.gz
+	VN=$(GIT_VERSION) $(RPMBUILD) -ta $(GIT_TARNAME).tar.gz
 
 ### Cleaning rules
 
-- 
1.1.0
Next: H. Peter Anvin
Message 1 of 2 in “GIT-VERSION-GEN: allow overriding from Makefile”
  1. GIT-VERSION-GEN: allow overriding from MakefileJunio C Hamano, Jan 9, 2006
  2. For release tarballs, include the proper versionH. Peter Anvin, Jan 10, 2006

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.