Thread (39 messages) flat view 39 messages, 4 authors, 2016-06-15

Re: [PATCH 3/8] git_remote_helpers: Force rebuild if python version changes

From: Pete Wyckoff <hidden>
Date: 2016-06-15 22:55:44

john@keeping.me.uk wrote on Sun, 13 Jan 2013 16:26 +0000:
On Sat, Jan 12, 2013 at 06:30:44PM -0500, Pete Wyckoff wrote:
quoted
john@keeping.me.uk wrote on Sat, 12 Jan 2013 19:23 +0000:
quoted
When different version of python are used to build via distutils, the
behaviour can change.  Detect changes in version and pass --force in
this case.
[..]
quoted
diff --git a/git_remote_helpers/Makefile b/git_remote_helpers/Makefile
[..]
quoted
+py_version=$(shell $(PYTHON_PATH) -c \
+	'import sys; print("%i.%i" % sys.version_info[:2])')
+
 all: $(pysetupfile)
-	$(QUIET)$(PYTHON_PATH) $(pysetupfile) $(QUIETSETUP) build
+	$(QUIET)test "$$(cat GIT-PYTHON_VERSION 2>/dev/null)" = "$(py_version)" || \
+	flags=--force; \
+	$(PYTHON_PATH) $(pysetupfile) $(QUIETSETUP) build $$flags
+	$(QUIET)echo "$(py_version)" >GIT-PYTHON_VERSION
Can you depend on ../GIT-PYTHON-VARS instead?  It comes from
96a4647 (Makefile: detect when PYTHON_PATH changes, 2012-12-18).
It doesn't check version, just path, but hopefully that's good
enough.  I'm imagining a rule that would do "clean" if
../GIT-PYTHON-VARS changed, then build without --force.
I was trying to keep the git_remote_helpers directory self contained.  I
can't see how to depend on ../GIT-PYTHON-VARS in a way that is as simple
as this and keeps "make -C git_remote_helpers" working in a clean tree.

Am I missing something obvious here?
Not if it wants to stay self-contained; you're right.

I'm not thrilled with how git_remote_helpers/Makefile always
runs setup.py, and always generates PYLIBDIR, and now always
invokes python a third time to see if its version changed.

		-- Pete
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help