Skip to content

Complete the Python 3 conversion

Past work has tried to make Xen be Py2+Py3 compatible. All the commonly-used things are now compatible, but some dregs remain.

Find all the remaining Py2-only things (absence of from __future__ import print_function is a good heuristic) and adapt them to be Py3 compatible too. (Or delete them, if that is a safe thing to do.)

Work in progress notes

All installed python scritps:

/local/xen.git$ find dist/ -type f | xargs file | grep Python | awk -F: '{ print $1 }'
dist/install/usr/local/bin/xencov_split
dist/install/usr/local/bin/xentrace_format
dist/install/usr/local/bin/xencons
dist/install/usr/local/lib/python3.9/dist-packages/grub/ExtLinuxConf.py
dist/install/usr/local/lib/python3.9/dist-packages/grub/LiloConf.py
dist/install/usr/local/lib/python3.9/dist-packages/grub/GrubConf.py
dist/install/usr/local/lib/python3.9/dist-packages/xen/migration/public.py
dist/install/usr/local/lib/python3.9/dist-packages/xen/migration/verify.py
dist/install/usr/local/lib/python3.9/dist-packages/xen/migration/tests.py
dist/install/usr/local/lib/python3.9/dist-packages/xen/migration/xl.py
dist/install/usr/local/lib/python3.9/dist-packages/xen/migration/libxc.py
dist/install/usr/local/lib/python3.9/dist-packages/xen/migration/legacy.py
dist/install/usr/local/lib/python3.9/dist-packages/xen/migration/libxl.py
dist/install/usr/local/lib/python3.9/dist-packages/xen/util.py
dist/install/usr/local/lib/xen/bin/xenpvnetboot
dist/install/usr/local/lib/xen/bin/pygrub
dist/install/usr/local/lib/xen/bin/verify-stream-v2
dist/install/usr/local/lib/xen/bin/convert-legacy-stream
dist/install/usr/local/sbin/xenmon
script notes
xencov_split For GCC coverage builds. Fixed (3e73dd88)
xentrace_format For Xentrace. Fixed (f1546c98)
xencons Not-Invented-Here telnet. Deleted (f1546c98)
xenpvnetboot Bootloader. Deleted (ffa14376)
pygrub Bootloader. Already Py3
verify-stream-v2 Already Py3 (1430c5a8)
convert-legacy-stream Already Py3 (1430c5a8)
xenmon Fixed (3a59443c)
Edited by Andrew Cooper
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information