mirror of
https://git.proxmox.com/git/fwupd
synced 2025-08-13 23:06:29 +00:00
Migrate away from the deprecated distutils
This commit is contained in:
parent
c857c9e95d
commit
fd458cd0de
@ -1374,6 +1374,24 @@
|
||||
<package variant="x86_64" />
|
||||
</distro>
|
||||
</dependency>
|
||||
<dependency type="build" id="python3-packaging">
|
||||
<distro id="fedora">
|
||||
<package variant="x86_64" />
|
||||
<package variant="aarch64" />
|
||||
</distro>
|
||||
<distro id="arch">
|
||||
<package variant="x86_64">python-packaging</package>
|
||||
</distro>
|
||||
<distro id="debian">
|
||||
<control />
|
||||
<package variant="x86_64" />
|
||||
<package variant="i386" />
|
||||
</distro>
|
||||
<distro id="ubuntu">
|
||||
<control />
|
||||
<package variant="x86_64" />
|
||||
</distro>
|
||||
</dependency>
|
||||
<dependency type="build" id="python3-requests">
|
||||
<distro id="debian">
|
||||
<package variant="s390x">qemu-user</package>
|
||||
|
@ -11,7 +11,7 @@ import subprocess
|
||||
import os
|
||||
import shutil
|
||||
import xml.etree.ElementTree as ET
|
||||
from distutils.version import LooseVersion as l_ver
|
||||
from packaging.version import Version
|
||||
|
||||
FWUPDTOOL = "/bin/fwupdtool"
|
||||
|
||||
@ -74,10 +74,10 @@ class FwupdHeads:
|
||||
return EXIT_CODES["NOTHING_TO_DO"]
|
||||
for release in heads_metadata_info.find("releases").findall("release"):
|
||||
release_ver = release.get("version")
|
||||
if self.heads_version == "heads" or l_ver(release_ver) > l_ver(
|
||||
if self.heads_version == "heads" or Version(release_ver) > Version(
|
||||
self.heads_version
|
||||
):
|
||||
if not self.heads_update_version or l_ver(release_ver) > l_ver(
|
||||
if not self.heads_update_version or Version(release_ver) > Version(
|
||||
self.heads_update_version
|
||||
):
|
||||
self.heads_update_url = release.find("location").text
|
||||
|
@ -16,7 +16,7 @@ import sys
|
||||
import xml.etree.ElementTree as ET
|
||||
|
||||
from pathlib import Path
|
||||
from distutils.version import LooseVersion as l_ver
|
||||
from packaging.version import Version
|
||||
|
||||
FWUPD_QUBES_DIR = "/usr/share/qubes-fwupd"
|
||||
|
||||
@ -492,7 +492,7 @@ class QubesFwupdmgr(FwupdHeads, FwupdUpdate, FwupdReceiveUpdates):
|
||||
self.name = updates_dict[vm_name][choice]["Name"]
|
||||
self.version = updates_dict[vm_name][choice]["Releases"][0]["Version"]
|
||||
for ver_check in updates_dict[vm_name][choice]["Releases"]:
|
||||
if l_ver(ver_check["Version"]) >= l_ver(self.version):
|
||||
if Version(ver_check["Version"]) >= Version(self.version):
|
||||
self.version = ver_check["Version"]
|
||||
self.url = ver_check["Url"]
|
||||
self.sha = ver_check["Checksum"]
|
||||
@ -539,7 +539,7 @@ class QubesFwupdmgr(FwupdHeads, FwupdUpdate, FwupdReceiveUpdates):
|
||||
raise ValueError("No vendor information in firmware metainfo.")
|
||||
if vendor not in dmi_info:
|
||||
raise ValueError("Wrong firmware provider.")
|
||||
if not downgrade and l_ver(version) <= l_ver(self.dmi_version):
|
||||
if not downgrade and Version(version) <= Version(self.dmi_version):
|
||||
raise ValueError(f"{version} < {self.dmi_version} Downgrade not allowed")
|
||||
|
||||
def _get_dom0_devices(self):
|
||||
@ -587,7 +587,7 @@ class QubesFwupdmgr(FwupdHeads, FwupdUpdate, FwupdReceiveUpdates):
|
||||
)
|
||||
current_version = device["Version"]
|
||||
for update in device["Releases"]:
|
||||
if l_ver(update["Version"]) > current_version:
|
||||
if Version(update["Version"]) > current_version:
|
||||
self.usbvm_updates_list[-1]["Releases"].append(
|
||||
{
|
||||
"Version": update["Version"],
|
||||
@ -666,7 +666,7 @@ class QubesFwupdmgr(FwupdHeads, FwupdUpdate, FwupdReceiveUpdates):
|
||||
"Checksum": downgrade["Checksum"][-1],
|
||||
}
|
||||
for downgrade in device["Releases"]
|
||||
if l_ver(downgrade["Version"]) < l_ver(version)
|
||||
if Version(downgrade["Version"]) < Version(version)
|
||||
],
|
||||
}
|
||||
)
|
||||
|
@ -15,7 +15,7 @@ import sys
|
||||
import imp
|
||||
import io
|
||||
import platform
|
||||
from distutils.version import LooseVersion as l_ver
|
||||
from packaging.version import Version
|
||||
from pathlib import Path
|
||||
from test.fwupd_logs import UPDATE_INFO, GET_DEVICES, DMI_DECODE
|
||||
from test.fwupd_logs import GET_DEVICES_NO_UPDATES, GET_DEVICES_NO_VERSION
|
||||
@ -439,7 +439,7 @@ class TestQubesFwupdmgr(unittest.TestCase):
|
||||
self.q._get_dom0_devices()
|
||||
downgrades = self.q._parse_downgrades(self.q.dom0_devices_info)
|
||||
new_version = downgrades[number]["Version"]
|
||||
self.assertGreater(l_ver(old_version), l_ver(new_version))
|
||||
self.assertGreater(Version(old_version), Version(new_version))
|
||||
|
||||
@unittest.skipUnless(
|
||||
check_whonix_updatevm() and device_connected_usbvm(), REQUIRED_DEV
|
||||
@ -469,7 +469,7 @@ class TestQubesFwupdmgr(unittest.TestCase):
|
||||
raw = usbvm_device_info.read()
|
||||
downgrades = self.q._parse_downgrades(raw)
|
||||
new_version = downgrades[number]["Version"]
|
||||
self.assertGreater(l_ver(old_version), l_ver(new_version))
|
||||
self.assertGreater(Version(old_version), Version(new_version))
|
||||
old_version = None
|
||||
new_version = None
|
||||
self.q._get_dom0_updates()
|
||||
@ -501,7 +501,7 @@ class TestQubesFwupdmgr(unittest.TestCase):
|
||||
break
|
||||
if new_version is None:
|
||||
self.fail("Test device not found")
|
||||
self.assertLess(l_ver(old_version), l_ver(new_version))
|
||||
self.assertLess(Version(old_version), Version(new_version))
|
||||
|
||||
@unittest.skipUnless(device_connected_usbvm(), REQUIRED_DEV)
|
||||
def test_downgrade_firmware_usbvm(self):
|
||||
@ -528,7 +528,7 @@ class TestQubesFwupdmgr(unittest.TestCase):
|
||||
raw = usbvm_device_info.read()
|
||||
downgrades = self.q._parse_downgrades(raw)
|
||||
new_version = downgrades[number]["Version"]
|
||||
self.assertGreater(l_ver(old_version), l_ver(new_version))
|
||||
self.assertGreater(Version(old_version), Version(new_version))
|
||||
|
||||
def test_parse_downgrades(self):
|
||||
downgrades = self.q._parse_downgrades(GET_DEVICES)
|
||||
@ -617,7 +617,7 @@ class TestQubesFwupdmgr(unittest.TestCase):
|
||||
break
|
||||
if new_version is None:
|
||||
self.fail("Test device not found")
|
||||
self.assertLess(l_ver(old_version), l_ver(new_version))
|
||||
self.assertLess(Version(old_version), Version(new_version))
|
||||
|
||||
@unittest.skipUnless(device_connected_usbvm(), REQUIRED_DEV)
|
||||
def test_update_firmware_usbvm(self):
|
||||
@ -652,7 +652,7 @@ class TestQubesFwupdmgr(unittest.TestCase):
|
||||
break
|
||||
if new_version is None:
|
||||
self.fail("Test device not found")
|
||||
self.assertLess(l_ver(old_version), l_ver(new_version))
|
||||
self.assertLess(Version(old_version), Version(new_version))
|
||||
|
||||
@unittest.skipUnless(check_usbvm(), REQUIRED_USBVM)
|
||||
def test_get_usbvm_devices(self):
|
||||
|
@ -4,10 +4,10 @@
|
||||
import sys
|
||||
import markdown
|
||||
|
||||
from distutils.version import LooseVersion
|
||||
from packaging.version import Version
|
||||
|
||||
# https://github.com/fwupd/fwupd/pull/3337#issuecomment-858947695
|
||||
if LooseVersion(markdown.version) < LooseVersion("3.3.3"):
|
||||
if Version(markdown.version) < Version("3.3.3"):
|
||||
print("python3-markdown version 3.3.3 required for gi-docgen")
|
||||
sys.exit(1)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user