You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
122 lines
4.6 KiB
122 lines
4.6 KiB
9 years ago
|
taken from upstream
|
||
|
|
||
|
https://bugs.gentoo.org/531154
|
||
|
|
||
|
From 976a674b42f9647865d40fa417e7a3dc56a16e6e Mon Sep 17 00:00:00 2001
|
||
|
From: Grisha Trubetskoy <grisha@modpython.org>
|
||
|
Date: Thu, 19 Dec 2013 12:23:18 -0500
|
||
|
Subject: [PATCH] Fixes for compile without git, correct how git revision hash
|
||
|
is generated (skip it if it's a tag or no git available or we are not working
|
||
|
with a checkin), also fix a bash-dependency (helps on Solaris), and a couple
|
||
|
of cross-platform awk fixes in configure.
|
||
|
|
||
|
---
|
||
|
configure.in | 6 +++---
|
||
|
dist/version.sh | 15 +++++++++++++--
|
||
|
src/Makefile.in | 14 +++++---------
|
||
|
src/include/mod_python.h | 1 -
|
||
|
src/include/mod_python.h.in | 1 -
|
||
|
src/include/mp_version.h | 2 --
|
||
|
6 files changed, 21 insertions(+), 18 deletions(-)
|
||
|
|
||
|
diff --git a/dist/version.sh b/dist/version.sh
|
||
|
index 1060b4f..e50000d 100755
|
||
|
--- a/dist/version.sh
|
||
|
+++ b/dist/version.sh
|
||
|
@@ -5,6 +5,17 @@ MPV_PATH="`dirname $0`/../src/include/mp_version.h"
|
||
|
MAJ=`awk '/MP_VERSION_MAJOR/ {print $3}' $MPV_PATH`
|
||
|
MIN=`awk '/MP_VERSION_MINOR/ {print $3}' $MPV_PATH`
|
||
|
PCH=`awk '/MP_VERSION_PATCH/ {print $3}' $MPV_PATH`
|
||
|
-GIT=`git describe --always`
|
||
|
|
||
|
-echo $MAJ.$MIN.$PCH-$GIT
|
||
|
+# if git exists in path
|
||
|
+if type git >/dev/null 2>&1; then
|
||
|
+ # and we are in a checkout
|
||
|
+ if git rev-parse 2>/dev/null; then
|
||
|
+ # but not on a tag (which means this is a release)
|
||
|
+ if test -z "`git log 'HEAD^!' --format=%d 2>/dev/null | grep 'tag: '`"; then
|
||
|
+ # append git revision hash to version
|
||
|
+ GIT="-`git describe --always`"
|
||
|
+ fi
|
||
|
+ fi
|
||
|
+fi
|
||
|
+
|
||
|
+echo $MAJ.$MIN.$PCH$GIT
|
||
|
diff --git a/src/Makefile.in b/src/Makefile.in
|
||
|
index c3b3fb2..081c954 100644
|
||
|
--- a/src/Makefile.in
|
||
|
+++ b/src/Makefile.in
|
||
|
@@ -50,7 +50,7 @@ psp_parser.c: psp_parser.l
|
||
|
|
||
|
dso: mod_python.so
|
||
|
|
||
|
-mod_python.so: $(SRCS) @SOLARIS_HACKS@
|
||
|
+mod_python.so: $(SRCS) @SOLARIS_HACKS@
|
||
|
@echo
|
||
|
@echo 'Building mod_python.so.'
|
||
|
@echo
|
||
|
@@ -64,21 +64,17 @@ distclean: clean
|
||
|
rm -f Makefile .depend
|
||
|
|
||
|
version.c:
|
||
|
- @MP_GIT_SHA=$$(git describe --always); \
|
||
|
- echo > version.c ; \
|
||
|
+ @echo > version.c ; \
|
||
|
echo "/* THIS FILE IS AUTO-GENERATED BY Makefile */" >> version.c ; \
|
||
|
echo "#include \"mp_version.h\"" >> version.c ; \
|
||
|
- echo "const char * const mp_git_sha = \"$${MP_GIT_SHA}\";" >> version.c ; \
|
||
|
echo "const int mp_version_major = MP_VERSION_MAJOR;" >> version.c ; \
|
||
|
echo "const int mp_version_minor = MP_VERSION_MINOR;" >> version.c ; \
|
||
|
echo "const int mp_version_patch = MP_VERSION_PATCH;" >> version.c ; \
|
||
|
- echo "const char * const mp_version_string = MP_VERSION_STRING(MP_VERSION_MAJOR,MP_VERSION_MINOR,MP_VERSION_PATCH) \"-$${MP_GIT_SHA}\";" >> version.c ; \
|
||
|
- echo "const char * const mp_version_component = \"mod_python/\" MP_VERSION_STRING(MP_VERSION_MAJOR,MP_VERSION_MINOR,MP_VERSION_PATCH) \"-$${MP_GIT_SHA}\";" >> version.c
|
||
|
-
|
||
|
-# echo "const char * const mp_version_component = \"mod_python/\" #MP_VERSION_MAJOR \".\" #MP_VERSION_MINOR \".\" #MP_VERSION_PATCH \"-$${MP_GIT_SHA}\";" >> version.c
|
||
|
+ echo "const char * const mp_version_string = \"`../dist/version.sh`\";" >> version.c ; \
|
||
|
+ echo "const char * const mp_version_component = \"mod_python/\" \"`../dist/version.sh`\";" >> version.c
|
||
|
|
||
|
# this is a hack to help avoid a gcc/solaris problem
|
||
|
-# python uses assert() which needs _eprintf(). See
|
||
|
+# python uses assert() which needs _eprintf(). See
|
||
|
# SOLARIS_HACKS above
|
||
|
_eprintf.o:
|
||
|
ar -x `gcc -print-libgcc-file-name` _eprintf.o
|
||
|
diff --git a/src/include/mod_python.h b/src/include/mod_python.h
|
||
|
index 061146b..68a77d4 100644
|
||
|
--- a/src/include/mod_python.h
|
||
|
+++ b/src/include/mod_python.h
|
||
|
@@ -156,7 +156,6 @@ extern module AP_MODULE_DECLARE_DATA python_module;
|
||
|
#define MUTEX_DIR "/tmp"
|
||
|
|
||
|
/* version stuff */
|
||
|
-extern const char * const mp_git_sha;
|
||
|
extern const int mp_version_major;
|
||
|
extern const int mp_version_minor;
|
||
|
extern const int mp_version_patch;
|
||
|
diff --git a/src/include/mod_python.h.in b/src/include/mod_python.h.in
|
||
|
index 4b6f1fb..7d536c5 100644
|
||
|
--- a/src/include/mod_python.h.in
|
||
|
+++ b/src/include/mod_python.h.in
|
||
|
@@ -156,7 +156,6 @@ extern module AP_MODULE_DECLARE_DATA python_module;
|
||
|
#define MUTEX_DIR "@MUTEX_DIR@"
|
||
|
|
||
|
/* version stuff */
|
||
|
-extern const char * const mp_git_sha;
|
||
|
extern const int mp_version_major;
|
||
|
extern const int mp_version_minor;
|
||
|
extern const int mp_version_patch;
|
||
|
diff --git a/src/include/mp_version.h b/src/include/mp_version.h
|
||
|
index 4b3a494..5ed83a1 100644
|
||
|
--- a/src/include/mp_version.h
|
||
|
+++ b/src/include/mp_version.h
|
||
|
@@ -10,5 +10,3 @@
|
||
|
#define MP_VERSION_MINOR 5
|
||
|
#define MP_VERSION_PATCH 0
|
||
|
|
||
|
-#define STR(x) #x
|
||
|
-#define MP_VERSION_STRING(maj, min, p) STR(maj) "." STR(min) "." STR(p)
|
||
|
--
|
||
|
2.6.2
|
||
|
|