Bug #23055
closedCeph contains a number of scripts that will only run if Python 2 is present
0%
Description
Ceph ships with a number of Python scripts that start with the following line:
#!/usr/bin/env python
On most if not all current systems (unverified assumption), "python" is a symlink to "python2".
On more recent openSUSE and SLES systems, at least, there is a "python3", but no "python2" or even "python". As a result, all of these scripts fail.
Since Python 2 is being slowly and inexorably deprecated, and Python 3 is already available for all supported distros, let us change these shebangs to
#!/usr/bin/env python3
and fix any breakage that ensues.
Updated by Nathan Cutler about 6 years ago
- Subject changed from Ceph is bustling with scripts that will only run if Python 2 is present to Ceph contains a number of scripts that will only run if Python 2 is present
Updated by Nathan Cutler about 6 years ago
Thanks to @Ken Dreyer for this link: https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3
So, not just openSUSE but also Fedora is in the process of eliminating all "python" shebangs (must be changed to either python2 or python3 so it becomes explicit which python version is expected).
Note to self: post (here and in ceph-devel ML) a list of scripts that need to be changed
Updated by Nathan Cutler almost 6 years ago
- Status changed from In Progress to Closed
"make check" now runs clean in a py3-only environment, which is enough of a milestone for me to close this bug, which is too general anyway.
Obviously there's still work to do before Ceph functions properly in a py3-only environment.