On Mon, 2017-06-26 at 15:26 +0200, jan matejek wrote:
Fellow openSUSists,
this has been a long time coming, and I'd now like to start the actual process of switching the default Python implementation to Python 3 in Tumbleweed.
I'd like to point to https://www.python.org/dev/peps/pep-0394/ again... """The main barrier to a distribution switching the python command from python2 to python3 isn't breakage within the distribution, but instead breakage of private third party scripts developed by sysadmins and other users. Updating the python command to invoke python3 by default indicates that a distribution is willing to break such scripts with errors that are potentially quite confusing for users that aren't yet familiar with the backwards incompatible changes in Python 3.""" is openSUSE *REALLY* the distro that is willing to break user scripts?
What else will happen: * Stuff will break! The breakage will be contained to a testing project at first.
That will be an interesting project - and breakages will be many, I'm sure
* note that if a script is using "/usr/bin/python" as shebang (or worse, "/usr/bin/env python"), it's already wrong. The shebang must be versioned, unless the script actually works with an arbitrary python version
As this has so far not been any rule to enforce, I can ensure you a ton of fallouts. zypper se --requires -x /usr/bin/python => this lists 635 items (of which 211 are source packages). zypper se --requires -x /usr/bin/env => 747 hits; no analysis done what those will run behind; could be anything (0 of them are source packages) Also, if those shebangs are so wrong we definitively need a way to support our packagers to change it in the shipped .py files - without having to go out and write 1000 patches for this now. The bare minimum is a documentation with recommendations on how to easily find, then change the files. Followed with rpmlint warnings that can be searched for (once rpmlint warns, the warnings will show up on rpmlint.opensuse.org) Cheers, Dominique