aboutsummaryrefslogtreecommitdiff
path: root/python/python3-libagent/480.diff
blob: 601513ed2b94ef5ae1556567ca2d7bf9b84ba6a0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
diff --git a/libagent/age/__init__.py b/libagent/age/__init__.py
index dd2fbe66..e20cb3c4 100644
--- a/libagent/age/__init__.py
+++ b/libagent/age/__init__.py
@@ -13,9 +13,9 @@
 import logging
 import os
 import sys
+from importlib import metadata
 
 import bech32
-import pkg_resources
 from cryptography.exceptions import InvalidTag
 from cryptography.hazmat.primitives.ciphers.aead import ChaCha20Poly1305
 
@@ -150,9 +150,8 @@ def main(device_type):
     p = argparse.ArgumentParser()
 
     agent_package = device_type.package_name()
-    resources_map = {r.key: r for r in pkg_resources.require(agent_package)}
-    resources = [resources_map[agent_package], resources_map['libagent']]
-    versions = '\n'.join('{}={}'.format(r.key, r.version) for r in resources)
+    resources = [metadata.distribution(agent_package), metadata.distribution('libagent')]
+    versions = '\n'.join('{}={}'.format(r.metadata['Name'], r.version) for r in resources)
     p.add_argument('--version', help='print the version info',
                    action='version', version=versions)
 
diff --git a/libagent/gpg/__init__.py b/libagent/gpg/__init__.py
index 6bad4f65..4f1b166d 100644
--- a/libagent/gpg/__init__.py
+++ b/libagent/gpg/__init__.py
@@ -17,13 +17,13 @@
 import stat
 import subprocess
 import sys
+from importlib import metadata
 
 try:
     # TODO: Not supported on Windows. Use daemoniker instead?
     import daemon
 except ImportError:
     daemon = None
-import pkg_resources
 import semver
 
 from .. import device, formats, server, util
@@ -308,9 +308,8 @@ def main(device_type):
     parser = argparse.ArgumentParser(epilog=epilog)
 
     agent_package = device_type.package_name()
-    resources_map = {r.key: r for r in pkg_resources.require(agent_package)}
-    resources = [resources_map[agent_package], resources_map['libagent']]
-    versions = '\n'.join('{}={}'.format(r.key, r.version) for r in resources)
+    resources = [metadata.distribution(agent_package), metadata.distribution('libagent')]
+    versions = '\n'.join('{}={}'.format(r.metadata['Name'], r.version) for r in resources)
     parser.add_argument('--version', help='print the version info',
                         action='version', version=versions)
 
diff --git a/libagent/ssh/__init__.py b/libagent/ssh/__init__.py
index dee3ee24..14f2656d 100644
--- a/libagent/ssh/__init__.py
+++ b/libagent/ssh/__init__.py
@@ -13,6 +13,7 @@
 import sys
 import tempfile
 import threading
+from importlib import metadata
 
 import configargparse
 
@@ -21,7 +22,6 @@
     import daemon
 except ImportError:
     daemon = None
-import pkg_resources
 
 from .. import device, formats, server, util
 from . import client, protocol
@@ -83,9 +83,8 @@ def create_agent_parser(device_type):
     p.add_argument('-v', '--verbose', default=0, action='count')
 
     agent_package = device_type.package_name()
-    resources_map = {r.key: r for r in pkg_resources.require(agent_package)}
-    resources = [resources_map[agent_package], resources_map['libagent']]
-    versions = '\n'.join('{}={}'.format(r.key, r.version) for r in resources)
+    resources = [metadata.distribution(agent_package), metadata.distribution('libagent')]
+    versions = '\n'.join('{}={}'.format(r.metadata['Name'], r.version) for r in resources)
     p.add_argument('--version', help='print the version info',
                    action='version', version=versions)
 
diff --git a/setup.py b/setup.py
index 10586f2e..4c21923a 100755
--- a/setup.py
+++ b/setup.py
@@ -8,6 +8,7 @@
     author='Roman Zeyde',
     author_email='dev@romanzey.de',
     url='http://github.com/romanz/trezor-agent',
+    python_requires='>=3.8',
     packages=[
         'libagent',
         'libagent.age',