Nick Coghlan <ncoghlan@gmail.com> schrieb am Do., 26. Feb. 2015 um 00:14 Uhr:
On 5 February 2015 at 17:48, Nick Coghlan <ncoghlan@gmail.com> wrote:
> On 4 February 2015 at 21:01, Bohuslav Kabrda <bkabrda@redhat.com> wrote:
>> ----- Original Message -----
>>> I don't really feel strongly about this, I agree that your solution has a
>>> merit (and syspython *is* better than default_python :)). I think I'll open
>>> an FPC ticket to ask FPC for their opinions on this and then I'll start
>>> taking concrete steps [1] ;) to get this done.
>>
>> Here's the FPC ticket: https://fedorahosted.org/fpc/ticket/498
>
> In commenting on the ticket, I realised something fundamental: we
> really do need to keep the RPM macro and the binary symlink in sync.
> That way the unversioned shebang lines in any packaged scripts can
> match up with the unversioned macros in the spec file.
>
> Which seems to bring the viable options down to just two:
>
> * switch the symlink to Python 3 as well (I don't like this due to the
> impact on end users with custom scripts)
> * hold off on switching the default for the time being and instead
> focus on enabling explicitly opting in to Python 3 in EPEL

For those not following along with the FPC ticket, Toshio and Tomspur
have a nice write-up of the options at
https://etherpad.mozilla.org/2Uqk0ikCll

I came back to this question myself due to a couple of different
ideas, discussed in https://fedorahosted.org/fpc/ticket/498#comment:19

* How does the situation in Fedora change if the upstream PEP 494
recommendation to downstream Linux distros was to change in
conjunction with the Python 3.5 release currently scheduled for
September? That release (https://www.python.org/dev/peps/pep-0478/)
amongst other things, automatically handles EINTR errors for syscalls,
restores binary interpolation support and adds matrix multiplication
support and os.scandir().

* With the default interpreter change postponed to Fedora 23, would it
make sense to patch the system Python in Fedora 22 to emit Python 3
warnings by default when it was run using the unqualified "python"
reference rather than being run as the qualified "python2"? And then
switch the symlink along with the RPM macros in Fedora 23?

Isn't it to late for Fedora 22 to emit such warnings by default? Iiuc, the screen output would change, when using /usr/bin/python, which could possibly break quite some things. So instead of a really badly "impact on end users with custom scripts", it might be one?
This would ease the transition at least a little, so it _could_ be done...

Do you think those warning could be harmfull in Fedora 22?
I'm undecided if these warnings could break more things than ease the Python 3 transition. Is changing the recommendation without the warnings an option?

Nevertheless, it would be great for Fedora, if the upstream recommendation changes with Python 3.5. This would confirm that the unversioned python can be assumed to be python3 everywhere and Fedora could more easily follow that route.

It's also worth noting that the change I am considering to the
upstream recommendation would place a qualifier on the distro
providing a C.UTF-8 locale, so the "C.UTF-8 in upstream glibc" RFE
(https://sourceware.org/bugzilla/show_bug.cgi?id=17318) would become a
key enabler for making the symlink switch in Fedora (associated Fedora
RFE: https://bugzilla.redhat.com/show_bug.cgi?id=902094)

How does this impact the symlink switch? Unfortunately, that's not clear to me... Am I overlooking something?

Regards,
   Thomas