GIT-VERSION-GEN: allow overriding from Makefile
PATCH 1/1 GIT-VERSION-GEN: allow overriding from Makefile
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 <[email protected]>
---
* 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
GIT-VERSION-GEN +9 -4
@@ -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 } - -
Makefile +1 -1
@@ -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
Signature · 1 line
1.1.0
PATCH 1/1 For release tarballs, include the proper version
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 <[email protected]>
GIT-VERSION-GEN +8 -2
@@ -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)
Makefile +3 -1
@@ -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