summaryrefslogtreecommitdiff
path: root/extra/git/fix-git-build-python.patch
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2013-01-03 00:38:37 -0800
committerroot <root@rshg054.dnsready.net>2013-01-03 00:38:37 -0800
commitf2bbb5646aefe9ea6502524fbf4d0138cee8b2a1 (patch)
treef8dcab5e1ac3d149a39377f3437d9d3f812e62f9 /extra/git/fix-git-build-python.patch
parentfa3e18ade0ab762a414c45ec433025d96b71254b (diff)
Thu Jan 3 00:38:37 PST 2013
Diffstat (limited to 'extra/git/fix-git-build-python.patch')
-rw-r--r--extra/git/fix-git-build-python.patch109
1 files changed, 109 insertions, 0 deletions
diff --git a/extra/git/fix-git-build-python.patch b/extra/git/fix-git-build-python.patch
new file mode 100644
index 000000000..11618a49a
--- /dev/null
+++ b/extra/git/fix-git-build-python.patch
@@ -0,0 +1,109 @@
+Date: Wed, 2 Jan 2013 03:59:35 -0500
+From: Jeff King <peff@peff.net>
+To: Junio C Hamano <gitster@pobox.com>
+Cc: Dan McGee <dan@archlinux.org>, GIT Mailing-list <git@vger.kernel.org>,
+ Florian Achleitner <florian.achleitner.2.6.31@gmail.com>,
+ David Michael Barr <b@rr-dav.id.au>,
+ "Eric S. Raymond" <esr@thyrsus.com>
+Subject: Re: Test failures with python versions when building git 1.8.1
+Message-ID: <20130102085935.GB9328@sigill.intra.peff.net>
+References: <CAEik5nOqge8ix4WGf-h+0Dmz1CanH_XtQdB-CxvPsggSu1-LzQ@mail.gmail.com>
+ <7va9ss5fhq.fsf@alter.siamese.dyndns.org>
+ <20130102065345.GA8685@sigill.intra.peff.net>
+ <7v1ue459yh.fsf@alter.siamese.dyndns.org>
+MIME-Version: 1.0
+Content-Type: text/plain; charset=utf-8
+Content-Disposition: inline
+In-Reply-To: <7v1ue459yh.fsf@alter.siamese.dyndns.org>
+
+On Tue, Jan 01, 2013 at 11:18:46PM -0800, Junio C Hamano wrote:
+
+> Jeff King <peff@peff.net> writes:
+>
+> > [1] This symlink is doubly wrong, because any use of symbolic links
+> > in the test scripts needs to depend on the SYMLINKS prereq, and this
+> > does not.
+>
+> Yeah, I think we have discussed this once already in
+>
+> http://thread.gmane.org/gmane.comp.version-control.git/210688/focus=210714
+
+Thanks for the pointer; it looks like nothing productive came of the
+earlier discussion. To give a hat trick of failure to this line of code,
+I notice that the existing code also does not properly put quotes around
+$GIT_BUILD_DIR.
+
+> > [2] In both the current code and what I showed above, the test scripts
+> > depend on things in contrib/. This is probably a bad idea in
+> > general, as the quality of what goes into contrib is not as closely
+> > watched (especially with respect to things like portability).
+> > Certainly I would not have known to look more carefully at a patch
+> > to contrib/svn-fe for breakage to the test suite.
+>
+> As long as such tests are made skippable with appropriate
+> prerequisites, I do not think it is bad to have their tests in t/; I
+> would say it is rather better than having them in contrib/ and leave
+> it not run by anybody, which happened to some of the stuff in
+> contrib/ already.
+
+Good point. While my sense of decorum wants to keep contrib totally
+split out, from a practical point of view, it is better to have more
+people run the tests and report failures than not.
+
+Whether we end up doing something with contrib and tests or not, the
+patch below gives a minimal fix in the meantime. Dan, does it fix your
+problem?
+
+-- >8 --
+Subject: [PATCH] t9020: don't run python from $PATH
+
+In t9020, we symlink in a python script from contrib to help
+with the testing. However, we don't munge its #!-line, which
+means we may run the wrong python (we want the one in
+PYTHON_PATH). On top of this, we use a symlink without
+checking the SYMLINKS prereq, and we fail to properly quote
+GIT_BUILD_DIR, which may have spaces.
+
+Instead of symlinking, let's just write a small script which
+will feed the contrib script to PYTHON_PATH. To avoid
+quoting issues, we just export the variables the script
+needs to run.
+
+Signed-off-by: Jeff King <peff@peff.net>
+---
+ t/t9020-remote-svn.sh | 5 ++++-
+ t/test-lib.sh | 2 +-
+ 2 files changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/t/t9020-remote-svn.sh b/t/t9020-remote-svn.sh
+index 4f2dfe0..416623b 100755
+--- a/t/t9020-remote-svn.sh
++++ b/t/t9020-remote-svn.sh
+@@ -14,7 +14,10 @@ export PATH="$HOME:$PATH"
+
+ # We override svnrdump by placing a symlink to the svnrdump-emulator in .
+ export PATH="$HOME:$PATH"
+-ln -sf $GIT_BUILD_DIR/contrib/svn-fe/svnrdump_sim.py "$HOME/svnrdump"
++export GIT_BUILD_DIR
++write_script svnrdump <<\EOF
++exec "$PYTHON_PATH" "$GIT_BUILD_DIR"/contrib/svn-fe/svnrdump_sim.py "$@"
++EOF
+
+ init_git () {
+ rm -fr .git &&
+diff --git a/t/test-lib.sh b/t/test-lib.sh
+index f50f834..c17db19 100644
+--- a/t/test-lib.sh
++++ b/t/test-lib.sh
+@@ -45,7 +45,7 @@ fi
+ fi
+
+ . "$GIT_BUILD_DIR"/GIT-BUILD-OPTIONS
+-export PERL_PATH SHELL_PATH
++export PERL_PATH SHELL_PATH PYTHON_PATH
+
+ # if --tee was passed, write the output not only to the terminal, but
+ # additionally to the file test-results/$BASENAME.out, too.
+--
+1.8.1.rc3.4.gf3a2f57
+