[Piglit] [PATCH] Revert "python: change she-bang to python2"
Kenneth Graunke
kenneth at whitecape.org
Tue Jun 24 08:20:24 PDT 2014
On Friday, June 20, 2014 12:04:01 AM Dylan Baker wrote:
> This reverts commit 40b5d5288991fec2cc76ea4af7050555be467126.
>
> The patch to be reverted breaks users of *BSD, solaris, and OSX which
> don't provide a python2 symlink, making it a regression.
>
> The patch however, fixes python for arch users whos python executable
> incorrectly is python3. This is a bug that Arch is not willing to fix.
>
> bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=80261
I for one was happy to see the change to /usr/bin/python2, as it makes things
easier for Arch Linux users. There are a lot of Piglit users running Arch
Linux, and AFAICT only a couple using BSD/Solaris/OSX.
Recently, a bunch of my coworkers who are Debian/Fedora/Gentoo users have
tried to use my Arch Linux box, and didn't realize they needed to work around
this issue. They were horribly confused until I explained how to fix it.
Let's look at the two failure modes:
1. Arch Linux with #! /usr/bin/env python
$ ./piglit-run.py tests/gpu results
Traceback (most recent call last):
File "./piglit-run.py", line 30, in <module>
from framework.programs.run import run
File "/home/kwg/Projects/piglit/framework/programs/run.py", line 30, in
<module>
import framework.core as core
File "/home/kwg/Projects/piglit/framework/core.py", line 32, in <module>
import ConfigParser
ImportError: No module named 'ConfigParser'
This failure mode is incredibly cryptic. The workaround is easy:
run "python2 piglit-run.py tests/gpu results". But it's not obvious.
2. BSD/OSX/Solaris with #! /usr/bin/env python2
$ ./piglit-run.py tests/gpu results
/usr/bin/env: python2: No such file or directory
This is incredibly clear, at least. The workaround is both easy and obvious:
put a python2 -> python symlink anywhere in your path. It doesn't even have
to be installed system-wide - you can put it in ~/bin if you like.
For the record, I dislike that Arch has installed Python 3 as /usr/bin/python.
It's incompatible and has caused no end of headaches for upstreams. But,
there's not a lot we can do about that. Most systems have started installing
python 2.x as both /usr/bin/python and /usr/bin/python2, which seems
reasonable enough.
This is obviously a frustrating issue, but I hope the patch can stay. Not
particularly for my benefit (I know the workaround), but for other Arch users
or for non-Arch people haplessly stuck using someone else's machine.
--Ken
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.freedesktop.org/archives/piglit/attachments/20140624/1996e483/attachment.sig>
More information about the Piglit
mailing list