In the __lt__ function for the class KernelVersions, if
self.groups != other.groups, but self.groups == other.groups[0:n] or
self.groups[0:n] == other.groups for some n, then at some point, one of
the two pieces to be compared will be None, which resulted in an
Exception when calling isdigit.
Hence check whether one of the pieces to be compared is None and handle
this as a special case.
(cherry picked from commit b901203390b4994a8169021d7dc47928561dad24)
Kernels are sorted with a rough algorithm, comparing groups of numbers
numerically, and names consisting of strings alphabetically.
fixesQubesOS/qubes-issues#5084
Fixed dependencies, places where obsolete functions stopped working,
code fragments that started throwing warnings and an .ui file that
stopped being readable after the update.
Added the following reactions ot VM dependencies in GUI tools:
- Qube Manager will inform the user why they cannot delete a VM (which
properties of which VMS [or global] are using the VM)
- Settings window will try to intelligently rename VMs (change
properties to the new name, if possible, and inform the user what went
wrong if not)
- Settings window will inform the user why they cannot delete a VM
Also, renaming VM from Settings launched from Qube Manager will
refresh the VM list through a horrible hack, to be replaced by a neater
Admin API solution in some near future.
depends on ca848ca7bdfixesQubesOS/qubes-issues#3992fixesQubesOS/qubes-issues#3993fixesQubesOS/qubes-issues#3892fixesQubesOS/qubes-issues#3499
Renamed "NetVM" to "Networking" and to clear up any possible
misunderstanding, renamed "none" to "(none)" in the appropriate dropdown.
FixesQubesOS/qubes-issues#1763