On Wed, Jul 24, 2013 at 02:04:17PM -0400, Barry Warsaw wrote:
> On Jul 24, 2013, at 01:32 PM, Scott Kitterman wrote:

> >Jakub Wilk <jw...@debian.org> wrote:
> >>* Barry Warsaw <ba...@debian.org>, 2013-07-24, 12:38:
> >>>In any case, it's come up that PEP 394 recommends distros start 
> >>>adopting shebang lines that state /usr/bin/python2 in their scripts, 
> >>>and I don't think we do this yet.  We should!

> >>We absolutely should not.

> >Definitely not.  The entire notion that /usr/bin/python should point at
> >python3 anytime soon is nuts.  Do it when python2.7 is removed from the
> >archive, not before. If you aren't going to do that switch, /usr/bin/python2
> >is meaningless other than as a workaround for people who care about Arch.
> >Since upstream now ships /usr/bin/python2 we should too (and we do for
> >Jessie), but there's no good reason for us to be using it.

> Can you or Jakub elaborate on *why* you think it's a bad idea?  I can't see
> how it hurts.  Setting aside the Python 3 transition, and in light of the
> recommendations of PEP 394:

> * It doesn't break anything.  As you say, we already ship /usr/bin/python2, so
>   everything that works with #!/usr/bin/python will continue to work with
>   #!/usr/bin/python2.  You can still override the shebang line with whatever
>   executable you want, of course.

It does break something: it breaks python-using packages' compatibility
with older Debian releases that *don't* ship /usr/bin/python2.  If you
switch the interpreter to python2, either this is being done
package-by-package, which means backports require sourceful changes to be
compatible with wheezy; or it's being done in the package helpers, which
means packages which otherwise don't care about this issue are still going
to need a binary rebuild to be installable/usable on wheezy.

Given the choice between compatibility with older releases of Debian, and
compatibility with whatever Arch nutters who thought it would be a good idea
to change the semantics of /usr/bin/python, I know which one is more
important to me.

> * Nobody probably even cares.  How many people care what's in the shebang line
>   of scripts?  I bet the fraction of users that have looked at the lines is
>   pretty low (it was a while before we finally agreed to stop shipping
>   #!/usr/bin/env python).

You care when the script has a shebang line that doesn't work on your
platform.  Which, when you get right down to it, is the impetus behind these
misguided changes to PE394.

> Note that no one is saying that /usr/bin/python should change to python3 *any
> time soon*.

I say that it shouldn't change *ever*.  API versioning is important.  It's
not less important for interpreter shebangs than it is for sonames.  Just
because Arch screwed up doesn't mean we should propagate the ambiguity.

-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
Ubuntu Developer                                    http://www.debian.org/
slanga...@ubuntu.com                                     vor...@debian.org

Attachment: signature.asc
Description: Digital signature

Reply via email to