[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 
    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.

-------------- 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