cyrus-imapd/patch-cyrus-autoreconf-keep-version
Jason Tibbitts 9d10c9d73e More test suite work; run only on selected arches
I've decided to skip running the internal test suite on big-endian
machines, and to not run Cassandane on 32-bit machines.  Upstream is
working on it but it's going to take a while.
2017-05-31 17:06:29 -05:00

54 lines
1.6 KiB
Plaintext

From 216934c3f4884999206715db3499fc0162e1d65c Mon Sep 17 00:00:00 2001
From: ellie timoney <ellie@fastmail.com>
Date: Tue, 30 May 2017 17:52:04 +1000
Subject: [PATCH] build: preserve release version across autoreconf
Administrators building from a release tarball can safely run
autoreconf without the source tree forgetting its version (or
worse, scavenging an unrelated version string from some git
repository in an ancestor directory).
---
Makefile.am | 6 +++++-
tools/git-version.sh | 4 ++++
3 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/Makefile.am b/Makefile.am
index 9a4fa49be..e37822aac 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -116,7 +116,8 @@ noinst_HEADERS =
noinst_LTLIBRARIES =
noinst_PROGRAMS =
EXTRA_DIST = \
- $(wildcard tools/vzic/*)
+ $(wildcard tools/vzic/*) \
+ VERSION
if COM_ERR
COMPILE_ET_DEP = com_err/et/compile_et
@@ -1910,6 +1911,9 @@ dist-hook:
find $(top_distdir) -type f -name .sphinx-build.stamp -delete
rm -rf $(top_distdir)/$(SPHINX_CACHE)
+VERSION: tools/git-version.sh
+ $(AM_V_GEN)$< > $@.NEW && mv $@.NEW $@
+
install-data-hook:
if CMULOCAL
$(INSTALL) -m 644 $(top_srcdir)/depot/depot.conf $(DESTDIR)/
diff --git a/tools/git-version.sh b/tools/git-version.sh
index 66563c162..c728769db 100755
--- a/tools/git-version.sh
+++ b/tools/git-version.sh
@@ -41,6 +41,10 @@
# OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#
+# if we've come from a release package, ignore git entirely
+test -s VERSION &&
+ exec head -1 VERSION
+
# first try: based on annotated git tags (real releases)
version=$(git describe --dirty=-dirty 2>/dev/null)
test -n "$version" &&