Python 2.7 will reach end-of-life in January 2020, over 9 years after it was released. This falls within the Fedora 31 lifetime. Packages that depend on Python 2 are being switched to Python 3 or removed from Fedora: https://fedoraproject.org/wiki/Changes/F31_Mass_Python_2_Package_Removal#Information_on_Remaining_Packages Python 2 will be retired in Fedora 32: https://fedoraproject.org/wiki/Changes/RetirePython2 To help planning, we'd like to know the plans for nfs-ganesha's future. Specifically: - What is the reason for the Python2 dependency? (Is it software written in Python, or does it just provide Python bindings, or use Python in the build system or test runner?) - What are the upstream/community plans/timelines regarding Python 3? - What is the guidance for porting to Python 3? (Assuming that there is someone who generally knows how to port to Python 3, but doesn't know anything about the particular package, what are the next steps to take?) This bug is filed semi-automatically, and might not have all the context specific to nfs-ganesha. If you need anything from us, or something is unclear, please mention it here. Thank you.
Ganesha itself is written in C, and provides no python bindings. However, we provide a DBUS API for interacting with the running Ganesha, and provide a set of Python utilities to make using this API easy for administrators. We have no problem with these being ported to python 3, and are willing to help, although none of us are python experts (and most of us haven't done such a port). We have tentative plans to move to python 3 upstream, but not much work has been done on it so far. All the python in Ganesha lives in src/scripts/ganeshactl. All of it currently uses python2 in the shebang. It should be fairly straight forward, with the only gotcha possibly being the use of PyQT4.
nfs-ganesha-2.8.x – which is what's in rawhide – uses python3. The only python in nfs-ganesha is in the nfs-ganesha-utils RPM. I.e. `rpm -qp --requires nfs-ganesha-utils-2.8.2-3.fc31.x86_64.rpm` ... python(abi) = 3.7 python3 python3-dbus python3-gobject python3-pyparsing ... Beyond that I'm not aware of anything that has any left over dependencies on python2. If you are aware of some specific issue please provide a link to what you're looking at. Closing as NOTABUG.
> If you are aware of some specific issue please provide a link to what you're looking at. Sure! Sorry for not providing that initially -- it takes some manual digging. It's in the nfs-ganesha-gpfs subpackage: $ sudo dnf repoquery --repo rawhide --requires nfs-ganesha-gpfs /usr/bin/python2 [...] There's a stray python2 shebang in /usr/libexec/ganesha/gpfs-epoch. The script looks py3-compatible at first glance. Could you switch to python3?
fixed in nfs-ganesha-2.8.2-5.fc31, nfs-ganesha-2.8.2-1.fc32 package will be updated in bodhi once bodhi recognizes the fc31/f31 release/tag mappings