As part of the Python 2->3 migration effort in Fedora we've been trying to get to the point where setting PYTHON=/usr/bin/python3 allows us to ensure that /usr/bin/python is never used in the build environment.
One thing that doesn't work right with svn is that the test scripts are run by executing shebang scripts with "#!/usr/bin/env python", which means the PYTHON variable set in make is ignored. This is trivial to fix by adopting the same logic as used for Win32 already. Are there any objections to doing this? [[[ * subversion/tests/cmdline/svntest/main.py (open_pipe): Run Python tests under the same Python executable for all platforms rather than just Win32 (rather than finding one from $PATH via /usr/bin/env). ]]]
Index: subversion/tests/cmdline/svntest/main.py =================================================================== --- subversion/tests/cmdline/svntest/main.py (revision 1830881) +++ subversion/tests/cmdline/svntest/main.py (working copy) @@ -456,9 +456,9 @@ should be passed to wait_on_pipe.""" command = [str(x) for x in command] - # On Windows subprocess.Popen() won't accept a Python script as - # a valid program to execute, rather it wants the Python executable. - if (sys.platform == 'win32') and (command[0].endswith('.py')): + # Always run python scripts under the same Python executable as used + # for the test suite. + if command[0].endswith('.py'): command.insert(0, sys.executable) command_string = command[0] + ' ' + ' '.join(map(_quote_arg, command[1:]))