I doubt this set is an adequate job, but hopefully they function as rough
proof of concept patches.
PyGRUB is mostly independent of the rest of Xen. I've confirmed the
PyGRUB build associated with xen-utils-4.11 works fine for loading Linux
with Xen 4.14 or 4.16. Mostly PyGRUB is dependent on filesystem support,
so as long as ext4 remains popular and doesn't grow incompatible
features, older versions of PyGRUB will continue functioning.
On x86 PvGRUB is vastly superior to PyGRUB in nearly every way.
Presently though PvGRUB is unavailable for ARM(64).
Using EDK2 as a bootloader functions quite well on ARM(64) and work is
under way to have that functioning on x86. See bug #978595. This
successfully boots FreeBSD on Xen/ARM (work in-progress).
As such create a xen-domu-bootloader virtual package and make the
resultant xen-pygrub package provide this. Ideally grub-xen-host would
start providing this.
I suspect xen-pygrub may need to be marked as "Replaces: xen-utils-*" for
some set of versions. This would be to ensure PyGRUB isn't lost during
upgrade.