git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] GIT-VERSION-GEN: allow overriding from Makefile
@ 2006-01-09 23:01 Junio C Hamano
  2006-01-10  2:07 ` [PATCH] For release tarballs, include the proper version H. Peter Anvin
  0 siblings, 1 reply; 2+ messages in thread
From: Junio C Hamano @ 2006-01-09 23:01 UTC (permalink / raw)
  To: git

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

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [PATCH] For release tarballs, include the proper version
  2006-01-09 23:01 [PATCH] GIT-VERSION-GEN: allow overriding from Makefile Junio C Hamano
@ 2006-01-10  2:07 ` H. Peter Anvin
  0 siblings, 0 replies; 2+ messages in thread
From: H. Peter Anvin @ 2006-01-10  2:07 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git

[-- Attachment #1: Type: text/plain, Size: 196 bytes --]

When producing a release tarball, include a "version" file, which 
GIT-VERSION-GEN can then use to do the right thing when building from a 
tarball.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>

[-- Attachment #2: gitver --]
[-- Type: text/plain, Size: 1085 bytes --]

diff --git a/GIT-VERSION-GEN b/GIT-VERSION-GEN
index 845b9dc..7763639 100755
--- a/GIT-VERSION-GEN
+++ b/GIT-VERSION-GEN
@@ -1,9 +1,15 @@
 #!/bin/sh
 
 GVF=GIT-VERSION-FILE
+DEF_VER=v1.1.GIT
 
-VN=$(git-describe --abbrev=4 HEAD 2>/dev/null) || VN=v1.0.GIT
-VN=$(expr "$VN" : v'\(.*\)')
+# First try git-describe, then see if there is a version file
+# (included in release tarballs), then default
+VN=$(git-describe --abbrev=4 HEAD 2>/dev/null) ||
+VN=$(cat version) ||
+VN="$DEF_VER"
+
+VN=$(expr "$VN" : v*'\(.*\)')
 if test -r $GVF
 then
 	VC=$(sed -e 's/^GIT_VERSION = //' <$GVF)
diff --git a/Makefile b/Makefile
index c9c15b5..fa0cd83 100644
--- a/Makefile
+++ b/Makefile
@@ -489,7 +489,9 @@ dist: git.spec git-tar-tree
 	./git-tar-tree HEAD $(GIT_TARNAME) > $(GIT_TARNAME).tar
 	@mkdir -p $(GIT_TARNAME)
 	@cp git.spec $(GIT_TARNAME)
-	$(TAR) rf $(GIT_TARNAME).tar $(GIT_TARNAME)/git.spec
+	@echo $(GIT_VERSION) > $(GIT_TARNAME)/version
+	$(TAR) rf $(GIT_TARNAME).tar \
+		$(GIT_TARNAME)/git.spec $(GIT_TARNAME)/version
 	@rm -rf $(GIT_TARNAME)
 	gzip -f -9 $(GIT_TARNAME).tar
 

^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2006-01-10  2:07 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-01-09 23:01 [PATCH] GIT-VERSION-GEN: allow overriding from Makefile Junio C Hamano
2006-01-10  2:07 ` [PATCH] For release tarballs, include the proper version H. Peter Anvin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).