[Piglit] [PATCH] Revert "python: change she-bang to python2"

Ilia Mirkin imirkin at alum.mit.edu
Tue Jun 24 09:16:43 PDT 2014


On Tue, Jun 24, 2014 at 11:53 AM, Kenneth Graunke <kenneth at whitecape.org> wrote:
> On Tuesday, June 24, 2014 11:27:13 AM Ilia Mirkin wrote:
>> On Tue, Jun 24, 2014 at 11:20 AM, Kenneth Graunke <kenneth at whitecape.org>
> wrote:
>> > 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.
>>
>> Easy enough to throw in a test into __init__.py checking the python
>> version... if it's != 2, abort, telling them that their system is
>> broken.
>
> Yeah, that would be nice.  Maybe that's the solution.
>
>> > 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.
>>
>> Isn't there? Refuse to go along with the idiocy until Arch fixes it or
>> people stop using it...
>>
>>   -ilia
>
> The "idiocy" has been going on for 4 years now - if they had any intention of
> changing back, they would've done it by now.

Perhaps it's because people have been too accommodating?

> People aren't likely to change
> their whole Linux distribution over a single symlink, either.  Boycotting
> isn't a solution.

It's definitely *a* solution. Certainly my preferred one, but perhaps not yours.

>
> I still think that this patch makes Piglit more convenient for a wider cross-
> section of our users, even if it is a stupid problem.
>
> --Ken


More information about the Piglit mailing list