Merge remote-tracking branch 'upstream/rawhide' into alex
This commit is contained in:
commit
48f6f257b7
6 changed files with 154 additions and 61 deletions
|
@ -1,4 +1,4 @@
|
|||
From 4bdcf996757a5d13df63f7891a1dd4c7186c20dc Mon Sep 17 00:00:00 2001
|
||||
From 3a65f800f75e11bd9c3a7db167644f9ebec444c1 Mon Sep 17 00:00:00 2001
|
||||
From: Dan Callaghan <djc@djc.id.au>
|
||||
Date: Sun, 18 Jul 2021 13:18:10 +1000
|
||||
Subject: [PATCH] relax cryptography dependency version requirement
|
||||
|
@ -12,10 +12,10 @@ https://bugzilla.redhat.com/show_bug.cgi?id=1978949
|
|||
1 file changed, 1 insertion(+), 3 deletions(-)
|
||||
|
||||
diff --git a/synapse/python_dependencies.py b/synapse/python_dependencies.py
|
||||
index 271c17c22..e8a71d477 100644
|
||||
index d844fbb3b3..277bd043a9 100644
|
||||
--- a/synapse/python_dependencies.py
|
||||
+++ b/synapse/python_dependencies.py
|
||||
@@ -82,9 +82,7 @@
|
||||
@@ -84,9 +84,7 @@ REQUIREMENTS = [
|
||||
"Jinja2>=2.9",
|
||||
"bleach>=1.4.3",
|
||||
"typing-extensions>=3.7.4",
|
||||
|
@ -25,7 +25,7 @@ index 271c17c22..e8a71d477 100644
|
|||
+ "cryptography>=3.4",
|
||||
"ijson>=3.1",
|
||||
"matrix-common==1.0.0",
|
||||
|
||||
]
|
||||
--
|
||||
2.31.1
|
||||
2.34.1
|
||||
|
||||
|
|
|
@ -0,0 +1,74 @@
|
|||
From b5a1489e0c00701aee43ca207cdde093726890e4 Mon Sep 17 00:00:00 2001
|
||||
From: reivilibre <oliverw@matrix.org>
|
||||
Date: Wed, 2 Feb 2022 16:51:00 +0000
|
||||
Subject: [PATCH 2/2] Fix type errors introduced by new annotations in the
|
||||
Prometheus Client library. (#11832)
|
||||
|
||||
Co-authored-by: David Robertson <davidr@element.io>
|
||||
---
|
||||
changelog.d/11832.misc | 1 +
|
||||
synapse/metrics/__init__.py | 10 +++++++++-
|
||||
synapse/python_dependencies.py | 3 +--
|
||||
3 files changed, 11 insertions(+), 3 deletions(-)
|
||||
create mode 100644 changelog.d/11832.misc
|
||||
|
||||
diff --git a/changelog.d/11832.misc b/changelog.d/11832.misc
|
||||
new file mode 100644
|
||||
index 0000000000..5ff117d933
|
||||
--- /dev/null
|
||||
+++ b/changelog.d/11832.misc
|
||||
@@ -0,0 +1 @@
|
||||
+Fix type errors introduced by new annotations in the Prometheus Client library.
|
||||
\ No newline at end of file
|
||||
diff --git a/synapse/metrics/__init__.py b/synapse/metrics/__init__.py
|
||||
index 9e6c1b2f3b..cca084c18c 100644
|
||||
--- a/synapse/metrics/__init__.py
|
||||
+++ b/synapse/metrics/__init__.py
|
||||
@@ -30,6 +30,7 @@ from typing import (
|
||||
Type,
|
||||
TypeVar,
|
||||
Union,
|
||||
+ cast,
|
||||
)
|
||||
|
||||
import attr
|
||||
@@ -60,7 +61,7 @@ all_gauges: "Dict[str, Union[LaterGauge, InFlightGauge]]" = {}
|
||||
HAVE_PROC_SELF_STAT = os.path.exists("/proc/self/stat")
|
||||
|
||||
|
||||
-class RegistryProxy:
|
||||
+class _RegistryProxy:
|
||||
@staticmethod
|
||||
def collect() -> Iterable[Metric]:
|
||||
for metric in REGISTRY.collect():
|
||||
@@ -68,6 +69,13 @@ class RegistryProxy:
|
||||
yield metric
|
||||
|
||||
|
||||
+# A little bit nasty, but collect() above is static so a Protocol doesn't work.
|
||||
+# _RegistryProxy matches the signature of a CollectorRegistry instance enough
|
||||
+# for it to be usable in the contexts in which we use it.
|
||||
+# TODO Do something nicer about this.
|
||||
+RegistryProxy = cast(CollectorRegistry, _RegistryProxy)
|
||||
+
|
||||
+
|
||||
@attr.s(slots=True, hash=True, auto_attribs=True)
|
||||
class LaterGauge:
|
||||
|
||||
diff --git a/synapse/python_dependencies.py b/synapse/python_dependencies.py
|
||||
index d25f6e18e3..c7cfa9ae87 100644
|
||||
--- a/synapse/python_dependencies.py
|
||||
+++ b/synapse/python_dependencies.py
|
||||
@@ -76,8 +76,7 @@ REQUIREMENTS = [
|
||||
"msgpack>=0.5.2",
|
||||
"phonenumbers>=8.2.0",
|
||||
# we use GaugeHistogramMetric, which was added in prom-client 0.4.0.
|
||||
- # 0.13.0 has an incorrect type annotation, see #11832.
|
||||
- "prometheus_client>=0.4.0,<0.13.0",
|
||||
+ "prometheus_client>=0.4.0",
|
||||
# we use `order`, which arrived in attrs 19.2.0.
|
||||
# Note: 21.1.0 broke `/sync`, see #9936
|
||||
"attrs>=19.2.0,!=21.1.0",
|
||||
--
|
||||
2.34.1
|
||||
|
|
@ -1,42 +0,0 @@
|
|||
From 1b7558ed4060acd4ca34a88c7b14ce7da2baab13 Mon Sep 17 00:00:00 2001
|
||||
From: "Kai A. Hiller" <V02460@gmail.com>
|
||||
Date: Tue, 14 Dec 2021 18:16:37 +0100
|
||||
Subject: [PATCH] Remove dependency on non-standard mock
|
||||
|
||||
---
|
||||
setup.py | 4 +---
|
||||
tests/storage/test_background_update.py | 3 +--
|
||||
2 files changed, 2 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/setup.py b/setup.py
|
||||
index 2c6fb9aac..bfca16727 100755
|
||||
--- a/setup.py
|
||||
+++ b/setup.py
|
||||
@@ -119,9 +119,7 @@ CONDITIONAL_REQUIREMENTS["mypy"] = [
|
||||
# Tests assume that all optional dependencies are installed.
|
||||
#
|
||||
# parameterized_class decorator was introduced in parameterized 0.7.0
|
||||
-#
|
||||
-# We use `mock` library as that backports `AsyncMock` to Python 3.6
|
||||
-CONDITIONAL_REQUIREMENTS["test"] = ["parameterized>=0.7.0", "mock>=4.0.0"]
|
||||
+CONDITIONAL_REQUIREMENTS["test"] = ["parameterized>=0.7.0"]
|
||||
|
||||
CONDITIONAL_REQUIREMENTS["dev"] = (
|
||||
CONDITIONAL_REQUIREMENTS["lint"]
|
||||
diff --git a/tests/storage/test_background_update.py b/tests/storage/test_background_update.py
|
||||
index d77c00150..542b70a1e 100644
|
||||
--- a/tests/storage/test_background_update.py
|
||||
+++ b/tests/storage/test_background_update.py
|
||||
@@ -12,8 +12,7 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
-# Use backported mock for AsyncMock support on Python 3.6.
|
||||
-from mock import Mock
|
||||
+from unittest.mock import Mock
|
||||
|
||||
from twisted.internet.defer import Deferred, ensureDeferred
|
||||
|
||||
--
|
||||
2.33.1
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
From a160ac1d4e42e2a753172f939bead7d6c21ce0cd Mon Sep 17 00:00:00 2001
|
||||
From: David Robertson <davidr@element.io>
|
||||
Date: Wed, 2 Feb 2022 16:25:17 +0000
|
||||
Subject: [PATCH 3/3] Fix losing incoming EDUs if debug logging enabled
|
||||
(#11890)
|
||||
|
||||
* Fix losing incoming EDUs if debug logging enabled
|
||||
|
||||
Fixes #11889. Homeservers should only be affected if the
|
||||
`synapse.8631_debug` logger was enabled for DEBUG mode.
|
||||
|
||||
I am not sure if this merits a bugfix release: I think the logging can
|
||||
be disabled in config if anyone is affected? But it is still pretty bad.
|
||||
---
|
||||
changelog.d/11890.bugfix | 1 +
|
||||
synapse/federation/transport/server/federation.py | 4 ++--
|
||||
2 files changed, 3 insertions(+), 2 deletions(-)
|
||||
create mode 100644 changelog.d/11890.bugfix
|
||||
|
||||
diff --git a/changelog.d/11890.bugfix b/changelog.d/11890.bugfix
|
||||
new file mode 100644
|
||||
index 0000000000..6b696692e3
|
||||
--- /dev/null
|
||||
+++ b/changelog.d/11890.bugfix
|
||||
@@ -0,0 +1 @@
|
||||
+Fix a bug introduced in Synapse 1.51.0rc1 where incoming federation transactions containing at least one EDU would be dropped if debug logging was enabled for `synapse.8631_debug`.
|
||||
\ No newline at end of file
|
||||
diff --git a/synapse/federation/transport/server/federation.py b/synapse/federation/transport/server/federation.py
|
||||
index 9c1ad5851f..d86dfede4e 100644
|
||||
--- a/synapse/federation/transport/server/federation.py
|
||||
+++ b/synapse/federation/transport/server/federation.py
|
||||
@@ -109,11 +109,11 @@ class FederationSendServlet(BaseFederationServerServlet):
|
||||
)
|
||||
|
||||
if issue_8631_logger.isEnabledFor(logging.DEBUG):
|
||||
- DEVICE_UPDATE_EDUS = {"m.device_list_update", "m.signing_key_update"}
|
||||
+ DEVICE_UPDATE_EDUS = ["m.device_list_update", "m.signing_key_update"]
|
||||
device_list_updates = [
|
||||
edu.content
|
||||
for edu in transaction_data.get("edus", [])
|
||||
- if edu.edu_type in DEVICE_UPDATE_EDUS
|
||||
+ if edu.get("edu_type") in DEVICE_UPDATE_EDUS
|
||||
]
|
||||
if device_list_updates:
|
||||
issue_8631_logger.debug(
|
||||
--
|
||||
2.34.1
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
# Version suffix in URL when building release candidates
|
||||
%global rcx %{nil}
|
||||
%global ghversion 1.51.0
|
||||
%global ghversion 1.52.0
|
||||
|
||||
%{?python_enable_dependency_generator}
|
||||
|
||||
|
@ -23,9 +23,12 @@ Source1: synapse.sysconfig
|
|||
Source2: synapse.service
|
||||
Source4: synapse@.service
|
||||
|
||||
Source3: matrix-synapse.sysusers
|
||||
# non-upstreamable patch to accept any version of python-cryptography, see RHBZ#1978949
|
||||
#Patch1: 0001-relax-cryptography-dependency-version-requirement.patch
|
||||
#Patch2: 0002-Remove-dependency-on-non-standard-mock.patch
|
||||
Patch1: 0001-relax-cryptography-dependency-version-requirement.patch
|
||||
Patch2: 0002-Fix-type-errors-introduced-by-new-annotations-in-the.patch
|
||||
Patch3: 0003-Fix-losing-incoming-EDUs-if-debug-logging-enabled-11.patch
|
||||
|
||||
BuildArch: noarch
|
||||
|
||||
BuildRequires: python3-devel
|
||||
|
@ -51,13 +54,13 @@ BuildRequires: python3-ijson
|
|||
BuildRequires: python3-jinja2 >= 2.9
|
||||
BuildRequires: python3-jsonschema
|
||||
BuildRequires: python3-jwt
|
||||
BuildRequires: python3-lxml >= 3.5.0
|
||||
BuildRequires: python3-lxml
|
||||
BuildRequires: python3-matrix-common
|
||||
BuildRequires: python3-matrix-synapse-ldap3 >= 0.1
|
||||
BuildRequires: python3-msgpack >= 0.5.2
|
||||
BuildRequires: python3-netaddr >= 0.7.18
|
||||
BuildRequires: python3-phonenumbers >= 8.2.0
|
||||
BuildRequires: python3-pillow >= 4.3.0
|
||||
BuildRequires: python3-pillow
|
||||
BuildRequires: python3-prometheus_client
|
||||
BuildRequires: python3-pyOpenSSL >= 16.0.0
|
||||
BuildRequires: python3-pyasn1 >= 0.1.9
|
||||
|
@ -93,8 +96,8 @@ the ecosystem.
|
|||
%prep
|
||||
%autosetup -p1 -n %{srcname}-%{ghversion}%{rcx}
|
||||
|
||||
sed -i 's|"cryptography>=3.4.7",|"cryptography>=3.4",|' synapse/python_dependencies.py
|
||||
rm tests/storage/test_background_update.py
|
||||
#sed -i 's|"cryptography>=3.4.7",|"cryptography>=3.4",|' synapse/python_dependencies.py
|
||||
#rm tests/storage/test_background_update.py
|
||||
|
||||
# We don't support the built-in client so remove all the bundled JS.
|
||||
rm -rf synapse/static
|
||||
|
@ -117,17 +120,14 @@ install -p -D -T -m 0644 %{SOURCE1} %{buildroot}%{_sysconfdir}/sysconfig/synapse
|
|||
install -p -D -T -m 0644 %{SOURCE2} %{buildroot}%{_unitdir}/synapse.service
|
||||
install -p -D -T -m 0644 %{SOURCE2} %{buildroot}%{_unitdir}/synapse@.service
|
||||
install -p -d -m 755 %{buildroot}/%{_sharedstatedir}/synapse
|
||||
install -p -D -m 0644 %{SOURCE3} %{buildroot}%{_sysusersdir}/%{name}.conf
|
||||
|
||||
%check
|
||||
PYTHONPATH=. trial-3 tests
|
||||
|
||||
|
||||
%pre
|
||||
getent group synapse >/dev/null || groupadd -r synapse
|
||||
getent passwd synapse >/dev/null || \
|
||||
useradd -r -g synapse -d %{_sharedstatedir}/synapse -s /sbin/nologin \
|
||||
-c "The user for the Synapse Matrix server" synapse
|
||||
exit 0
|
||||
%sysusers_create_compat %{SOURCE3}
|
||||
|
||||
%post
|
||||
%systemd_post synapse.service
|
||||
|
@ -153,11 +153,22 @@ exit 0
|
|||
%attr(755,synapse,synapse) %dir %{_sharedstatedir}/synapse
|
||||
%attr(755,synapse,synapse) %dir %{_sysconfdir}/synapse
|
||||
%attr(644,synapse,synapse) %config(noreplace) %{_sysconfdir}/synapse/*
|
||||
%{_sysusersdir}/%{name}.conf
|
||||
|
||||
|
||||
%changelog
|
||||
* Mon Jan 10 2022 Kai A. Hiller <V02460@gmail.com> - 1.50.0-0.1
|
||||
- Update to v1.50.0
|
||||
* Wed Feb 09 2022 Kai A. Hiller <V02460@gmail.com> - 1.52.0-2
|
||||
- Backport: Fix losing incoming EDUs if debug logging enabled
|
||||
|
||||
* Tue Feb 08 2022 Kai A. Hiller <V02460@gmail.com> - 1.52.0-1
|
||||
- Update to v1.52.0
|
||||
- Create synapse user and group declaratively
|
||||
|
||||
* Thu Jan 27 2022 Kai A. Hiller <V02460@gmail.com> - 1.51.0-1
|
||||
- Update to v1.51.0
|
||||
|
||||
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.49.2-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||
|
||||
* Tue Dec 21 2021 Kai A. Hiller <V02460@gmail.com> - 1.49.2-1
|
||||
- Update to v1.49.2
|
||||
|
|
2
matrix-synapse.sysusers
Normal file
2
matrix-synapse.sysusers
Normal file
|
@ -0,0 +1,2 @@
|
|||
#Type Name ID GECOS Home directory Shell
|
||||
u synapse - "Runs the Synapse Matrix homeserver" /run/synapse /sbin/nologin
|
Loading…
Reference in a new issue