diff --git a/_service b/_service
index f229448..ac49589 100644
--- a/_service
+++ b/_service
@@ -4,11 +4,11 @@
@PARENT_TAG@
https://github.com/matrix-org/synapse.git
git
- v1.34.0
+ v1.35.1
v(.*)
\1
diff --git a/dont-bump-cryptography-with-system-openssl.patch b/dont-bump-cryptography-with-system-openssl.patch
index cb888be..7745276 100644
--- a/dont-bump-cryptography-with-system-openssl.patch
+++ b/dont-bump-cryptography-with-system-openssl.patch
@@ -2,13 +2,13 @@ Index: synapse/synapse/python_dependencies.py
===================================================================
--- synapse.orig/synapse/python_dependencies.py
+++ synapse/synapse/python_dependencies.py
-@@ -85,7 +85,8 @@ REQUIREMENTS = [
+@@ -86,7 +86,8 @@ REQUIREMENTS = [
"typing-extensions>=3.7.4",
# We enforce that we have a `cryptography` version that bundles an `openssl`
# with the latest security patches.
- "cryptography>=3.4.7",
+ # opensuse we do not bump here as we do not use the intree copy
+ "cryptography",
+ "ijson>=3.0",
]
- CONDITIONAL_REQUIREMENTS = {
diff --git a/matrix-synapse-1.34.0.obscpio b/matrix-synapse-1.34.0.obscpio
deleted file mode 100644
index 8674478..0000000
--- a/matrix-synapse-1.34.0.obscpio
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:291f4334c52337f9aba1be65083a2b8d7c1f172dab88657446781e16d772918e
-size 30117389
diff --git a/matrix-synapse-1.35.1.obscpio b/matrix-synapse-1.35.1.obscpio
new file mode 100644
index 0000000..c597d72
--- /dev/null
+++ b/matrix-synapse-1.35.1.obscpio
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d9668f1f73247a7d80bfc0bc02f1ea95c313b4f26d3a2a24c1a3dafbbf630913
+size 30255117
diff --git a/matrix-synapse-1.4.1-paths.patch b/matrix-synapse-1.4.1-paths.patch
index 99ce13b..dca8408 100644
--- a/matrix-synapse-1.4.1-paths.patch
+++ b/matrix-synapse-1.4.1-paths.patch
@@ -50,7 +50,7 @@ Index: synapse/synapse/config/server.py
===================================================================
--- synapse.orig/synapse/config/server.py
+++ synapse/synapse/config/server.py
-@@ -725,7 +725,7 @@ class ServerConfig(Config):
+@@ -726,7 +726,7 @@ class ServerConfig(Config):
bind_port = 8448
unsecure_port = 8008
@@ -63,7 +63,7 @@ Index: synapse/synapse/config/tls.py
===================================================================
--- synapse.orig/synapse/config/tls.py
+++ synapse/synapse/config/tls.py
-@@ -275,7 +275,7 @@ class TlsConfig(Config):
+@@ -236,7 +236,7 @@ class TlsConfig(Config):
If the TLS paths are not specified the default will be certs in the
config directory"""
@@ -72,7 +72,7 @@ Index: synapse/synapse/config/tls.py
if bool(tls_certificate_path) != bool(tls_private_key_path):
raise ConfigError(
-@@ -294,7 +294,7 @@ class TlsConfig(Config):
+@@ -255,7 +255,7 @@ class TlsConfig(Config):
acme_enabled = bool(acme_domain)
acme_domain = "matrix.example.com"
diff --git a/matrix-synapse-test.spec b/matrix-synapse-test.spec
index 1d5956e..1bcfdf7 100644
--- a/matrix-synapse-test.spec
+++ b/matrix-synapse-test.spec
@@ -27,7 +27,7 @@
%define pkgname matrix-synapse
Name: %{pkgname}-test
-Version: 1.34.0
+Version: 1.35.1
Release: 0
Summary: Test package for %{pkgname}
License: Apache-2.0
diff --git a/matrix-synapse-user.conf b/matrix-synapse-user.conf
new file mode 100644
index 0000000..7f1dffb
--- /dev/null
+++ b/matrix-synapse-user.conf
@@ -0,0 +1,2 @@
+# Type Name ID GECOS [HOME]
+u synapse - "Matrix Synapse" /var/lib/matrix-synapse
diff --git a/matrix-synapse.changes b/matrix-synapse.changes
index 1318fdf..828b77c 100644
--- a/matrix-synapse.changes
+++ b/matrix-synapse.changes
@@ -1,3 +1,116 @@
+-------------------------------------------------------------------
+Thu Jun 3 15:16:29 UTC 2021 - Marcus Rueckert
+
+- Update to v1.35.1:
+ - Bugfixes
+ - Fix a bug introduced in v1.35.0 where invite-only rooms would
+ be shown to all users in a space, regardless of if the user
+ had access to it. (#10109)
+
+-------------------------------------------------------------------
+Tue Jun 1 16:27:57 UTC 2021 - Marcus Rueckert
+
+- Update to 1.35.0
+ - Deprecations and Removals
+ - The core Synapse development team plan to drop support for
+ the unstable API of MSC2858, including the undocumented
+ experimental.msc2858_enabled config option, in August 2021.
+ Client authors should ensure that their clients are updated
+ to use the stable API (which has been supported since Synapse
+ 1.30) well before that time, to give their users time to
+ upgrade. (#10101)
+ - Features
+ - Add experimental support to allow a user who could join a
+ restricted room to view it in the spaces summary. (#9922,
+ #10007, #10038)
+ - Reduce memory usage when joining very large rooms over
+ federation. (#9958)
+ - Add a configuration option which allows enabling opentracing
+ by user id. (#9978)
+ - Enable experimental support for MSC2946 (spaces summary API)
+ and MSC3083 (restricted join rules) by default. (#10011)
+ - Bugfixes
+ - Fixed a bug causing replication requests to fail when
+ receiving a lot of events via federation. Introduced in
+ v1.33.0. (#10082)
+ - Fix HTTP response size limit to allow joining very large
+ rooms over federation. Introduced in v1.33.0. (#10093)
+ - Fix a bug introduced in v1.35.0rc1 when calling the spaces
+ summary API via a GET request. (#10079)
+ - Fix a bug introduced in v1.26.0 which meant that
+ synapse_port_db would not correctly initialise some postgres
+ sequences, requiring manual updates afterwards. (#9991)
+ - Fix synctl's --no-daemonize parameter to work correctly with
+ worker processes. (#9995)
+ - Fix a validation bug introduced in v1.34.0 in the ordering of
+ spaces in the space summary API. (#10002)
+ - Fixed deletion of new presence stream states from database.
+ (#10014, #10033)
+ - Fixed a bug with very high resolution image uploads throwing
+ internal server errors. (#10029)
+ - Updates to the Docker image
+ - Fix bug introduced in Synapse 1.33.0 which caused a
+ Permission denied: '/homeserver.log' error when starting
+ Synapse with the generated log configuration. Contributed by
+ Sergio Miguéns Iglesias. (#10045)
+ - Improved Documentation
+ - Add hardened systemd files as proposed in #9760 and added
+ them to contrib/. Change the docs to reflect the presence of
+ these files. (#9803)
+ - Clarify documentation around SSO mapping providers generating
+ unique IDs and localparts. (#9980)
+ - Updates to the PostgreSQL documentation (postgres.md).
+ (#9988, #9989)
+ - Fix broken link in user directory documentation. Contributed
+ by @junquera. (#10016)
+ - Add missing room state entry to the table of contents of room
+ admin API. (#10043)
+ - Deprecations and Removals
+ - Removed support for the deprecated tls_fingerprints
+ configuration setting. Contributed by Jerin J Titus. (#9280)
+ - Internal Changes
+ - Log method and path when dropping request due to size limit.
+ (#10091)
+ - Allow sending full presence to users via workers other than
+ the one that called ModuleApi.send_local_online_presence_to.
+ (#9823)
+ - Update comments in the space summary handler. (#9974)
+ - Minor enhancements to the @cachedList descriptor. (#9975)
+ - Split multipart email sending into a dedicated handler.
+ (#9977)
+ - Run black on files in the scripts directory. (#9981)
+ - Add missing type hints to synapse.util module. (#9982)
+ - Simplify a few helper functions. (#9984, #9985, #9986)
+ - Remove unnecessary property from SQLBaseStore. (#9987)
+ - Remove keylen param on LruCache. (#9993)
+ - Update the Grafana dashboard in contrib/. (#10001)
+ - Add a batching queue implementation. (#10017)
+ - Reduce memory usage when verifying signatures on large
+ numbers of events at once. (#10018)
+ - Properly invalidate caches for destination retry timings
+ every (instead of expiring entries every 5 minutes). (#10036)
+ - Fix running complement tests with Synapse workers. (#10039)
+ - Fix typo in get_state_ids_for_event docstring where the
+ return type was incorrect. (#10050)
+- new dependency python3-ijson
+- refresh patches to apply cleanly again
+ dont-bump-cryptography-with-system-openssl.patch
+ matrix-synapse-1.4.1-paths.patch
+
+-------------------------------------------------------------------
+Sun May 30 17:50:21 UTC 2021 - Marcus Rueckert
+
+- fix requires on Tumbleweed. the %if is ugly but there is no
+ better solution right now short of adding our own macro to
+ generates the requires based on the provides of other packages.
+
+-------------------------------------------------------------------
+Wed May 19 15:50:36 UTC 2021 - Marcus Rueckert
+
+- Switch package to use sysuser
+- Cleanup duplicated buildrequires and switch to %requires_eq for
+ the base python as well
+
-------------------------------------------------------------------
Mon May 17 12:18:10 UTC 2021 - Marcus Rueckert
diff --git a/matrix-synapse.obsinfo b/matrix-synapse.obsinfo
index 9c55ebe..126d2fb 100644
--- a/matrix-synapse.obsinfo
+++ b/matrix-synapse.obsinfo
@@ -1,5 +1,5 @@
name: matrix-synapse
-version: 1.34.0
-mtime: 1621249228
-commit: 13b0673b5a0bceafbcfce1407544c2421fd69210
+version: 1.35.1
+mtime: 1622723059
+commit: 56667733419ebf070f1a7f7c9a04070f1b944572
diff --git a/matrix-synapse.spec b/matrix-synapse.spec
index 083582f..0764d05 100644
--- a/matrix-synapse.spec
+++ b/matrix-synapse.spec
@@ -42,17 +42,24 @@
# https://github.com/matrix-org/synapse/releases or synapse/CHANGES.md
# * Commit+submit
+%if 0%{?suse_version} >= 1550
+%define use_python python38
+%else
+%define use_python python3
+%endif
+
%define modname synapse
%define pkgname matrix-synapse
%define eggname matrix_synapse
Name: %{pkgname}
-Version: 1.34.0
+Version: 1.35.1
Release: 0
Summary: Matrix protocol reference homeserver
License: Apache-2.0
Group: Productivity/Networking/Instant Messenger
URL: https://github.com/matrix-org/synapse
Source0: %{pkgname}-%{version}.tar.xz
+Source47: matrix-synapse-user.conf
Source48: README.SUSE
Source49: matrix-synapse.tmpfiles.d
Source50: %{pkgname}.service
@@ -65,132 +72,134 @@ Patch: matrix-synapse-1.4.1-paths.patch
Patch1: dont-bump-cryptography-with-system-openssl.patch
BuildRequires: fdupes
BuildRequires: python-rpm-macros
-BuildRequires: python3-base
-BuildRequires: python3-psutil >= 2.0.0
-BuildRequires: python3-setuptools
-BuildRequires: python3-treq >= 15.1.0
+BuildRequires: %{use_python}-base >= 3.5
+BuildRequires: %{use_python}-setuptools
BuildRequires: systemd-rpm-macros
+BuildRequires: sysuser-shadow
+BuildRequires: sysuser-tools
BuildRequires: unzip
%{?systemd_requires}
-Requires(pre): shadow
-Requires: python3-base >= 3.5
+%{sysusers_requires}
+%requires_eq %{use_python}-base
# NOTE: Keep this is in the same order as synapse/python_dependencie.py.
-BuildRequires: python3-Jinja2 >= 2.9
-%requires_eq python3-Jinja2
-BuildRequires: python3-Pillow >= 4.3.0
-%requires_eq python3-Pillow
-BuildRequires: python3-PyNaCl >= 1.2.1
-%requires_eq python3-PyNaCl
-BuildRequires: python3-PyYAML >= 3.11
-%requires_eq python3-PyYAML
-BuildRequires: python3-Twisted >= 20.3.0
-%requires_eq python3-Twisted
-BuildRequires: ((python3-attrs >= 19.1.0 with python3-attrs < 21.1.0) or python3-attrs > 21.1.0)
-%requires_eq python3-attrs
-BuildRequires: python3-bcrypt >= 3.2.0
-%requires_eq python3-bcrypt
-BuildRequires: python3-bleach >= 1.4.3
-%requires_eq python3-bleach
-BuildRequires: python3-canonicaljson >= 1.4.0
-%requires_eq python3-canonicaljson
-BuildRequires: python3-cryptography
-%requires_eq python3-cryptography
-BuildRequires: python3-frozendict >= 1
-%requires_eq python3-frozendict
-BuildRequires: python3-idna >= 2.5
-%requires_eq python3-idna
-BuildRequires: python3-jsonschema >= 2.5.1
-%requires_eq python3-jsonschema
-BuildRequires: python3-msgpack >= 0.5.2
-%requires_eq python3-msgpack
-BuildRequires: python3-netaddr >= 0.7.18
-%requires_eq python3-netaddr
-BuildRequires: python3-phonenumbers >= 8.2.0
-%requires_eq python3-phonenumbers
-BuildRequires: python3-prometheus_client >= 0.4.0
-%requires_eq python3-prometheus_client
-BuildRequires: python3-psutil >= 2.0.0
-%requires_eq python3-psutil
-BuildRequires: python3-pyOpenSSL >= 16.0.0
-%requires_eq python3-pyOpenSSL
-BuildRequires: python3-pyasn1 >= 0.1.9
-%requires_eq python3-pyasn1
-BuildRequires: python3-pyasn1-modules >= 0.0.7
-%requires_eq python3-pyasn1-modules
-BuildRequires: python3-pymacaroons >= 0.13.0
-%requires_eq python3-pymacaroons
-BuildRequires: python3-service_identity >= 18.1.0
-%requires_eq python3-service_identity
-BuildRequires: python3-signedjson >= 1.1.0
-%requires_eq python3-signedjson
-BuildRequires: python3-six >= 1.10
-%requires_eq python3-six
-BuildRequires: python3-sortedcontainers >= 1.4.4
-%requires_eq python3-sortedcontainers
-BuildRequires: python3-systemd >= 231
-%requires_eq python3-systemd
-BuildRequires: python3-typing_extensions >= 3.7.4
-%requires_eq python3-typing_extensions
-BuildRequires: python3-treq >= 15.1
-%requires_eq python3-treq
-BuildRequires: python3-unpaddedbase64 >= 1.1.0
-%requires_eq python3-unpaddedbase64
+BuildRequires: %{use_python}-Jinja2 >= 2.9
+%requires_eq %{use_python}-Jinja2
+BuildRequires: %{use_python}-Pillow >= 4.3.0
+%requires_eq %{use_python}-Pillow
+BuildRequires: %{use_python}-PyNaCl >= 1.2.1
+%requires_eq %{use_python}-PyNaCl
+BuildRequires: %{use_python}-PyYAML >= 3.11
+%requires_eq %{use_python}-PyYAML
+BuildRequires: %{use_python}-Twisted >= 20.3.0
+%requires_eq %{use_python}-Twisted
+BuildRequires: ((%{use_python}-attrs >= 19.1.0 with %{use_python}-attrs < 21.1.0) or %{use_python}-attrs > 21.1.0)
+%requires_eq %{use_python}-attrs
+BuildRequires: %{use_python}-bcrypt >= 3.2.0
+%requires_eq %{use_python}-bcrypt
+BuildRequires: %{use_python}-bleach >= 1.4.3
+%requires_eq %{use_python}-bleach
+BuildRequires: %{use_python}-canonicaljson >= 1.4.0
+%requires_eq %{use_python}-canonicaljson
+BuildRequires: %{use_python}-cryptography
+%requires_eq %{use_python}-cryptography
+BuildRequires: %{use_python}-frozendict >= 1
+%requires_eq %{use_python}-frozendict
+BuildRequires: %{use_python}-idna >= 2.5
+%requires_eq %{use_python}-idna
+BuildRequires: %{use_python}-ijson >= 3.0
+%requires_eq %{use_python}-ijson
+BuildRequires: %{use_python}-jsonschema >= 2.5.1
+%requires_eq %{use_python}-jsonschema
+BuildRequires: %{use_python}-msgpack >= 0.5.2
+%requires_eq %{use_python}-msgpack
+BuildRequires: %{use_python}-netaddr >= 0.7.18
+%requires_eq %{use_python}-netaddr
+BuildRequires: %{use_python}-phonenumbers >= 8.2.0
+%requires_eq %{use_python}-phonenumbers
+BuildRequires: %{use_python}-prometheus_client >= 0.4.0
+%requires_eq %{use_python}-prometheus_client
+BuildRequires: %{use_python}-psutil >= 2.0.0
+%requires_eq %{use_python}-psutil
+BuildRequires: %{use_python}-pyOpenSSL >= 16.0.0
+%requires_eq %{use_python}-pyOpenSSL
+BuildRequires: %{use_python}-pyasn1 >= 0.1.9
+%requires_eq %{use_python}-pyasn1
+BuildRequires: %{use_python}-pyasn1-modules >= 0.0.7
+%requires_eq %{use_python}-pyasn1-modules
+BuildRequires: %{use_python}-pymacaroons >= 0.13.0
+%requires_eq %{use_python}-pymacaroons
+BuildRequires: %{use_python}-service_identity >= 18.1.0
+%requires_eq %{use_python}-service_identity
+BuildRequires: %{use_python}-signedjson >= 1.1.0
+%requires_eq %{use_python}-signedjson
+BuildRequires: %{use_python}-six >= 1.10
+%requires_eq %{use_python}-six
+BuildRequires: %{use_python}-sortedcontainers >= 1.4.4
+%requires_eq %{use_python}-sortedcontainers
+BuildRequires: %{use_python}-systemd >= 231
+%requires_eq %{use_python}-systemd
+BuildRequires: %{use_python}-typing_extensions >= 3.7.4
+%requires_eq %{use_python}-typing_extensions
+BuildRequires: %{use_python}-treq >= 15.1
+%requires_eq %{use_python}-treq
+BuildRequires: %{use_python}-unpaddedbase64 >= 1.1.0
+%requires_eq %{use_python}-unpaddedbase64
# Specify all CONDITIONAL_REQUIREMENTS (we Require them to avoid no-recommends
# breaking very commonly-used bits of matrix-synapse such as postgresql).
%if %{with ldap}
-BuildRequires: python3-matrix-synapse-ldap3 >= 0.1
-%requires_eq python3-matrix-synapse-ldap3
+BuildRequires: %{use_python}-matrix-synapse-ldap3 >= 0.1
+%requires_eq %{use_python}-matrix-synapse-ldap3
%endif
%if %{with postgres}
-BuildRequires: python3-psycopg2 >= 2.8
-%requires_eq python3-psycopg2
+BuildRequires: %{use_python}-psycopg2 >= 2.8
+%requires_eq %{use_python}-psycopg2
%endif
%if %{with acme}
-BuildRequires: python3-txacme >= 0.9.2
-%requires_eq python3-txacme
+BuildRequires: %{use_python}-txacme >= 0.9.2
+%requires_eq %{use_python}-txacme
%endif
%if %{with saml}
-BuildRequires: python3-pysaml2 >= 4.5.0
-%requires_eq python3-pysaml2
+BuildRequires: %{use_python}-pysaml2 >= 4.5.0
+%requires_eq %{use_python}-pysaml2
%endif
%if %{with oidc}
-BuildRequires: python3-authlib >= 0.15.1
-%requires_eq python3-authlib
+BuildRequires: %{use_python}-authlib >= 0.15.1
+%requires_eq %{use_python}-authlib
%endif
%if %{with url_preview}
-BuildRequires: python3-lxml >= 3.5.0
-%requires_eq python3-lxml
+BuildRequires: %{use_python}-lxml >= 3.5.0
+%requires_eq %{use_python}-lxml
%endif
%if %{with sentry}
-BuildRequires: python3-sentry-sdk >= 0.7.2
-%requires_eq python3-sentry-sdk
+BuildRequires: %{use_python}-sentry-sdk >= 0.7.2
+%requires_eq %{use_python}-sentry-sdk
%endif
%if %{with jwt}
-BuildRequires: python3-PyJWT >= 1.6.4
-%requires_eq python3-PyJWT
+BuildRequires: %{use_python}-PyJWT >= 1.6.4
+%requires_eq %{use_python}-PyJWT
%endif
%if %{with opentracing}
-BuildRequires: python3-jaeger-client >= 4.0.0
-%requires_eq python3-jaeger-client
-BuildRequires: python3-opentracing >= 2.2.0
-%requires_eq python3-opentracing
+BuildRequires: %{use_python}-jaeger-client >= 4.0.0
+%requires_eq %{use_python}-jaeger-client
+BuildRequires: %{use_python}-opentracing >= 2.2.0
+%requires_eq %{use_python}-opentracing
%endif
%if %{with redis}
-BuildRequires: python3-txredisapi >= 1.4.7
-%requires_eq python3-txredisapi
-BuildRequires: python3-hiredis
-%requires_eq python3-hiredis
+BuildRequires: %{use_python}-txredisapi >= 1.4.7
+%requires_eq %{use_python}-txredisapi
+BuildRequires: %{use_python}-hiredis
+%requires_eq %{use_python}-hiredis
%endif
%if %{with cache_memory}
-BuildRequires: python3-Pympler
-%requires_eq python3-Pympler
+BuildRequires: %{use_python}-Pympler
+%requires_eq %{use_python}-Pympler
%endif
BuildArch: noarch
# We only provide/obsolete python2 to ensure that users upgrade.
Obsoletes: python2-matrix-synapse < %{version}-%{release}
Provides: python2-matrix-synapse = %{version}-%{release}
-Obsoletes: python3-matrix-synapse < %{version}-%{release}
-Provides: python3-matrix-synapse = %{version}-%{release}
+Obsoletes: %{use_python}-matrix-synapse < %{version}-%{release}
+Provides: %{use_python}-matrix-synapse = %{version}-%{release}
%description
Synapse is a Python-based reference "homeserver" implementation of
@@ -213,6 +222,7 @@ sed -i 's|@PYTHON_FLAVOR@|%{__python3}|g' %{S:50}
%build
%python3_build
+%sysusers_generate_pre %{SOURCE47} %{name}
%install
cp %{S:48} README.SUSE
@@ -242,6 +252,7 @@ ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{pkgname}
#
install -D -m 0644 %{S:50} %{buildroot}%{_unitdir}/%{pkgname}.service
install -D -m 0644 %{S:49} %{buildroot}%{_tmpfilesdir}/%{pkgname}.conf
+install -D -m 0644 %{SOURCE47} %{buildroot}%{_sysusersdir}/%{name}.conf
#
install -D -m 0755 %{S:51} %{buildroot}%{_sbindir}/matrix-synapse-generate-config
@@ -252,12 +263,7 @@ install -d -m 0750 %{buildroot}%{_localstatedir}/log/%{pkgname}
%fdupes %{buildroot}%{python3_sitelib}
-%pre
-getent group synapse >/dev/null || groupadd -r synapse
-getent passwd synapse >/dev/null || \
- /usr/sbin/useradd -r -g synapse -s /bin/false -c 'Matrix Synapse' \
- -d %{_rundir}/%{pkgname} synapse
-usermod --shell=/bin/false --home=%{_localstatedir}/lib/%{pkgname} --gid=synapse synapse
+%pre -f %{name}.pre
%service_add_pre %{pkgname}.service
%post
@@ -286,6 +292,7 @@ usermod --shell=/bin/false --home=%{_localstatedir}/lib/%{pkgname} --gid=synapse
%{_sbindir}/rc%{pkgname}
%{_sbindir}/matrix-synapse-generate-config
%{_unitdir}/%{pkgname}.service
+%{_sysusersdir}/%{name}.conf
%{_tmpfilesdir}/%{pkgname}.conf
# Man pages.
%{_mandir}/man*/*