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
signature.asc
Description: Digital signature