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*/*