From d2ef1a79cf942b2f8c1a4724eb0c4bca0b60edbe Mon Sep 17 00:00:00 2001
From: David Robertson <davidr@element.io>
Date: Fri, 4 Mar 2022 22:40:24 +0000
Subject: [PATCH] Relax version guard for packaging (#12166)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

It’s just occurred to me that #12088 pulled in the “packaging” package (~=21.3). I pulled in the newest version I had at the time.

I only use it for packaging.requirements.Requirements. Which was added in packaging 16.1: https://github.com/pypa/packaging/releases/tag/16.1

https://pkgs.org/download/python3-packaging suggests that the oldest version we care about is 17.1 in Ubuntu Bionic. So I think with this bound we're hunky dory.
---
 changelog.d/12166.misc         | 1 +
 synapse/python_dependencies.py | 4 ++--
 2 files changed, 3 insertions(+), 2 deletions(-)
 create mode 100644 changelog.d/12166.misc

diff --git a/changelog.d/12166.misc b/changelog.d/12166.misc
new file mode 100644
index 0000000000..24b4a7c7de
--- /dev/null
+++ b/changelog.d/12166.misc
@@ -0,0 +1 @@
+Relax the version guard for "packaging" added in #12088.
diff --git a/synapse/python_dependencies.py b/synapse/python_dependencies.py
index 8f48a33936..b40a7bbb76 100644
--- a/synapse/python_dependencies.py
+++ b/synapse/python_dependencies.py
@@ -83,8 +83,8 @@ REQUIREMENTS = [
     # ijson 3.1.4 fixes a bug with "." in property names
     "ijson>=3.1.4",
     "matrix-common~=1.1.0",
-    # For runtime introspection of our dependencies
-    "packaging~=21.3",
+    # We need packaging.requirements.Requirement, added in 16.1.
+    "packaging>=16.1",
 ]
 
 CONDITIONAL_REQUIREMENTS = {
-- 
GitLab