Discussion:
Python 3 for k5test.py
Greg Hudson
2018-04-28 19:40:44 UTC
Permalink
I am thinking now might be the right time to move to Python 2 to Python
3 for the Python test suite. This is based on:

* Per https://wiki.ubuntu.com/BionicBeaver/ReleaseNotes, Ubuntu 18.04
doesn't install Python 2 by default, and implies that 20.04 won't
include Python 2 in main. (I would guess it might continue to be
available in universe.)

* https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3
anticipates an update to PEP 394 recommending that /usr/bin/python be
Python 3, and talks about maybe getting rid of Python 2 in a few
years.

Right now the test suite requires Python 2.5, which was released roughly
three years before Python 3.0. My thought is that if someone is
building MIT krb5 on a system too old to offer Python 3, they are
probably building multiple newer versions of software packages, and
adding Python 3 to that set isn't a huge burden. Or they can just not
run the test suite. But if someone has a need to build and modify krb5
1.17 on a post-2020 operating system which doesn't conveniently offer
Python 2, having to build Python 2 just for our test suite could be more
of a burden. Of course that might also happen for 1.16 and prior, but
we can't reasonably do anything about that.

I prototyped the work required back in February, and it isn't a lot:
https://github.com/greghudson/krb5/commits/python3

If we don't make this change now, I will at least make configure.in look
for "python2" in the path in preference to "python", and to skip the
Python tests if the interpreter we do find has sys.hexversion >=
0x3000000.
_______________________________________________
krbdev mailing list ***@mit.edu
https://mailman.mit.edu/mailman/listinfo/krbdev
Robbie Harwood
2018-04-30 16:04:56 UTC
Permalink
Post by Greg Hudson
I am thinking now might be the right time to move to Python 2 to
* Per https://wiki.ubuntu.com/BionicBeaver/ReleaseNotes, Ubuntu 18.04
doesn't install Python 2 by default, and implies that 20.04 won't
include Python 2 in main. (I would guess it might continue to be
available in universe.)
* https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3
anticipates an update to PEP 394 recommending that /usr/bin/python be
Python 3, and talks about maybe getting rid of Python 2 in a few
years.
Right now the test suite requires Python 2.5, which was released
roughly three years before Python 3.0. My thought is that if someone
is building MIT krb5 on a system too old to offer Python 3, they are
probably building multiple newer versions of software packages, and
adding Python 3 to that set isn't a huge burden. Or they can just not
run the test suite. But if someone has a need to build and modify
krb5 1.17 on a post-2020 operating system which doesn't conveniently
offer Python 2, having to build Python 2 just for our test suite could
be more of a burden. Of course that might also happen for 1.16 and
prior, but we can't reasonably do anything about that.
https://github.com/greghudson/krb5/commits/python3
If we don't make this change now, I will at least make configure.in
look for "python2" in the path in preference to "python", and to skip
the Python tests if the interpreter we do find has sys.hexversion >=
0x3000000.
I would appreciate this. Fedora already generates warnings [1] for
assuming /usr/bin/python is python2 in shebangs (they want explicit
/usr/bin/python2 or /usr/bin/python2), and currently is planning to drop
python2 at or before 2020 as far as I know.

Thanks,
--Robbie

1: https://taskotron.fedoraproject.org/artifacts/all/83108d26-47f0-11e8-afb2-525400fc9f92/tests.yml/output.log
Continue reading on narkive:
Loading...