public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: releng-bot <releng-bot@fedoraproject.org>
To: git-commits@fedoraproject.org
Subject: [rpms/matrix-synapse] f45: Unretirement request: https://forge.fedoraproject.org/releng/fedora-scm-requests/issues/474
Date: Thu, 27 Aug 2026 18:32:44 GMT	[thread overview]
Message-ID: <178785556494.1.13137269110290140071.rpms-matrix-synapse-ab1524a2aa51@fedoraproject.org> (raw)

A new commit has been pushed.

Repo   : rpms/matrix-synapse
Branch : f45
Commit : ab1524a2aa518d6fb30b7d975cb89725d7c72972
Author : releng-bot <releng-bot@fedoraproject.org>
Date   : 2026-08-27T18:32:42+00:00
Stats  : +604/-1 in 11 file(s)
URL    : https://src.fedoraproject.org/rpms/matrix-synapse/c/ab1524a2aa518d6fb30b7d975cb89725d7c72972?branch=f45

Log:
Unretirement request: https://forge.fedoraproject.org/releng/fedora-scm-requests/issues/474

---
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..b6fbe25
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,6 @@
+/matrix-synapse-*.src.rpm
+/.build-*.log
+/noarch
+/synapse-*.tar.gz
+/synapse-*/
+/results_matrix-synapse/

diff --git a/0001-pyo3-Disable-abi3-feature.patch b/0001-pyo3-Disable-abi3-feature.patch
new file mode 100644
index 0000000..c2da764
--- /dev/null
+++ b/0001-pyo3-Disable-abi3-feature.patch
@@ -0,0 +1,73 @@
+From bbe5c1e519aa300ba6316307a94478dd82908464 Mon Sep 17 00:00:00 2001
+From: "Kai A. Hiller" <V02460@gmail.com>
+Date: Fri, 8 Sep 2023 14:10:56 +0200
+Subject: [PATCH 1/2] pyo3: Disable abi3 feature
+
+Fedora does not require compatibility with Python versions different to
+the one at compile time.
+---
+ build_rust.py   | 22 ++--------------------
+ rust/Cargo.toml |  2 --
+ 2 files changed, 2 insertions(+), 22 deletions(-)
+
+diff --git a/build_rust.py b/build_rust.py
+index a9e9265daf..65d9ac301d 100644
+--- a/build_rust.py
++++ b/build_rust.py
+@@ -1,10 +1,8 @@
+ # A build script for poetry that adds the rust extension.
+ 
+-import itertools
+ import os
+ from typing import Any
+ 
+-from packaging.specifiers import SpecifierSet
+ from setuptools_rust import Binding, RustExtension
+ 
+ 
+@@ -16,27 +14,11 @@ def build(setup_kwargs: dict[str, Any]) -> None:
+         target="synapse.synapse_rust",
+         path=cargo_toml_path,
+         binding=Binding.PyO3,
+-        # This flag is a no-op in the latest versions. Instead, we need to
+-        # specify this in the `bdist_wheel` config below.
+-        py_limited_api=True,
++        # This flag is a no-op in the latest versions.
++        py_limited_api=False,
+         # We always build in release mode, as we can't distinguish
+         # between using `poetry` in development vs production.
+         debug=False,
+     )
+     setup_kwargs.setdefault("rust_extensions", []).append(extension)
+     setup_kwargs["zip_safe"] = False
+-
+-    # We look up the minimum supported Python version with
+-    # `python_requires` (e.g. ">=3.10.0,<4.0.0") and finding the first Python
+-    # version that matches. We then convert that into the `py_limited_api` form,
+-    # e.g. cp310 for Python 3.10.
+-    py_limited_api: str
+-    python_bounds = SpecifierSet(setup_kwargs["python_requires"])
+-    for minor_version in itertools.count(start=10):
+-        if f"3.{minor_version}.0" in python_bounds:
+-            py_limited_api = f"cp3{minor_version}"
+-            break
+-
+-    setup_kwargs.setdefault("options", {}).setdefault("bdist_wheel", {})[
+-        "py_limited_api"
+-    ] = py_limited_api
+diff --git a/rust/Cargo.toml b/rust/Cargo.toml
+index 8199a4e02b..9eae4cc297 100644
+--- a/rust/Cargo.toml
++++ b/rust/Cargo.toml
+@@ -33,8 +33,6 @@ mime = "0.3.17"
+ pyo3 = { version = "0.27.2", features = [
+     "macros",
+     "anyhow",
+-    "abi3",
+-    "abi3-py310",
+     # So we can pass `bytes::Bytes` directly back to Python efficiently,
+     # https://docs.rs/pyo3/latest/pyo3/bytes/index.html
+     "bytes",
+-- 
+2.53.0
+

diff --git a/0002-Build-RustExtension-with-debug-symbols.patch b/0002-Build-RustExtension-with-debug-symbols.patch
new file mode 100644
index 0000000..68f2198
--- /dev/null
+++ b/0002-Build-RustExtension-with-debug-symbols.patch
@@ -0,0 +1,33 @@
+From 6452deb91594dd1ba8b2ed27e937033110c19f54 Mon Sep 17 00:00:00 2001
+From: "Kai A. Hiller" <V02460@gmail.com>
+Date: Wed, 29 Mar 2023 12:28:31 +0200
+Subject: [PATCH 2/2] Build RustExtension with debug symbols
+
+---
+ build_rust.py | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/build_rust.py b/build_rust.py
+index 65d9ac301d..ecc98a5ec8 100644
+--- a/build_rust.py
++++ b/build_rust.py
+@@ -3,7 +3,7 @@
+ import os
+ from typing import Any
+ 
+-from setuptools_rust import Binding, RustExtension
++from setuptools_rust import Binding, RustExtension, Strip
+ 
+ 
+ def build(setup_kwargs: dict[str, Any]) -> None:
+@@ -19,6 +19,7 @@ def build(setup_kwargs: dict[str, Any]) -> None:
+         # We always build in release mode, as we can't distinguish
+         # between using `poetry` in development vs production.
+         debug=False,
++        strip=Strip.No,
+     )
+     setup_kwargs.setdefault("rust_extensions", []).append(extension)
+     setup_kwargs["zip_safe"] = False
+-- 
+2.51.1
+

diff --git a/README.md b/README.md
new file mode 100644
index 0000000..d85a0d9
--- /dev/null
+++ b/README.md
@@ -0,0 +1,16 @@
+# Matrix Synapse
+
+Fedora package of the [Matrix Synapse homeserver](https://github.com/element-hq/synapse).
+
+## Package config
+
+- Run as user: `synapse` ([matrix-synapse.sysusers](./matrix-synapse/blob/main/f/matrix-synapse.sysusers))
+- Systemd service name: `synapse.service` ([synapse.service](./matrix-synapse/blob/main/f/synapse.service))
+- Config: `/etc/synapse/homeserver.yaml` ([synapse.service](./matrix-synapse/blob/main/f/synapse.service))
+
+## Useful links
+
+- Releases: <https://github.com/element-hq/synapse/releases>
+- Python dependencies: <https://github.com/element-hq/synapse/blob/develop/pyproject.toml>
+- Python extras: <https://github.com/element-hq/synapse/blob/develop/pyproject.toml>
+- Rust dependencies: <https://github.com/element-hq/synapse/blob/develop/rust/Cargo.toml>

diff --git a/changelog b/changelog
new file mode 100644
index 0000000..728c30a
--- /dev/null
+++ b/changelog
@@ -0,0 +1,289 @@
+* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.66.0-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
+
+* Sun Jan 08 2023 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 1.66.0-2
+- Drop support for i686
+
+* Wed Sep 07 2022 Kai A. Hiller <V02460@gmail.com> - 1.66.0-1
+- Update to v1.66.0
+
+* Sun Aug 14 2022 Dan Callaghan <djc@djc.id.au> - 1.63.1-2
+- dropped unnecessary BuildRequires on pympler, which is broken in F37+
+  (RHBZ#2113507)
+
+* Tue Jul 26 2022 Kai A. Hiller <V02460@gmail.com> - 1.63.1-1
+- Update to v1.63.1
+
+* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.62.0-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
+
+* Thu Jul 14 2022 Kai A. Hiller <V02460@gmail.com> - 1.62.0-1
+- Update to v1.62.0
+
+* Wed Jun 29 2022 Kai A. Hiller <V02460@gmail.com> - 1.61.1-1
+- Update to v1.61.1
+- Fix CVE-2022-31052
+
+* Tue Jun 14 2022 Kai A. Hiller <V02460@gmail.com> - 1.61.0-1
+- Update to v1.61.0
+
+* Thu Jun 09 2022 Kai A. Hiller <V02460@gmail.com> - 1.60.0-1
+- Update to v1.60.0
+
+* Thu May 19 2022 Kai A. Hiller <V02460@gmail.com> - 1.59.1-1
+- Update to v1.59.1
+
+* Wed May 18 2022 Kai A. Hiller <V02460@gmail.com> - 1.59.0-1
+- Update to v1.59.0
+
+* Wed May 04 2022 Kai A. Hiller <V02460@gmail.com> - 1.58.0-1
+- Update to v1.58.0
+
+* Thu Apr 21 2022 Dan Callaghan <djc@djc.id.au> - 1.57.0-1
+- Update to v1.57.0
+
+* Tue Apr 05 2022 Kai A. Hiller <V02460@gmail.com> - 1.56.0-1
+- Update to v1.56.0
+
+* Thu Mar 24 2022 Kai A. Hiller <V02460@gmail.com> - 1.55.0-1
+- Update to v1.55.0
+
+* Tue Mar 08 2022 Kai A. Hiller <V02460@gmail.com> - 1.54.0-1
+- Update to v1.54.0
+
+* Tue Feb 22 2022 Kai A. Hiller <V02460@gmail.com> - 1.53.0-1
+- Update to v1.53.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
+
+* Tue Dec 14 2021 Kai A. Hiller <V02460@gmail.com> - 1.49.0-1
+- Update to v1.49.0
+
+* Tue Nov 30 2021 Kai A. Hiller <V02460@gmail.com> - 1.48.0-1
+- Update to v1.48.0
+
+* Wed Nov 24 2021 Kai A. Hiller <V02460@gmail.com> - 1.47.1-1
+- Update to v1.47.1
+- Fix CVE-2021-41281
+
+* Fri Nov 19 2021 Kai A. Hiller <V02460@gmail.com> - 1.47.0-1
+- Update to v1.47.0
+
+* Thu Nov 04 2021 Kai A. Hiller <V02460@gmail.com> - 1.46.0-1
+- Update to v1.46.0
+
+* Thu Oct 21 2021 Kai A. Hiller <V02460@gmail.com> - 1.45.1-1
+- Update to v1.45.1
+
+* Mon Oct 18 2021 Kai A. Hiller <V02460@gmail.com> - 1.44.0-1
+- Update to v1.44.0
+
+* Thu Sep 09 2021 Kai A. Hiller <V02460@gmail.com> - 1.42.0-1
+- Update to v1.42.0
+
+* Tue Aug 31 2021 Kai A. Hiller <V02460@gmail.com> - 1.41.1-1
+- Update to v1.41.1
+- Fix CVE-2021-39163, CVE-2021-39164
+
+* Tue Aug 24 2021 Kai A. Hiller <V02460@gmail.com> - 1.41.0-1
+- Update to v1.41.0
+
+* Tue Aug 10 2021 Kai A. Hiller <V02460@gmail.com> - 1.40.0-1
+- Update to v1.40.0
+
+* Thu Jul 29 2021 Kai A. Hiller <V02460@gmail.com> - 1.39.0-1
+- Update to v1.39.0
+
+* Fri Jul 23 2021 Kai A. Hiller <V02460@gmail.com> - 1.38.1-1
+- Update to v1.38.1
+
+* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.38.0-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
+
+* Sun Jul 18 2021 Dan Callaghan <djc@djc.id.au> - 1.38.0-2
+- fix startup ordering of synapse.service (RHBZ#1910740)
+- relax version requirement for python3-cryptography
+
+* Wed Jul 14 2021 Kai A. Hiller <V02460@gmail.com> - 1.38.0-1
+- Update to v1.38.0
+
+* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 1.26.0-3
+- Rebuilt for Python 3.10
+
+* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.26.0-2
+- Rebuilt for updated systemd-rpm-macros
+  See https://pagure.io/fesco/issue/2583.
+
+* Thu Jan 28 2021 Kai A. Hiller <V02460@gmail.com> - 1.26.0-1
+- Update to v1.26.0
+
+* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.25.0-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
+
+* Wed Jan 13 2021 Kai A. Hiller <V02460@gmail.com - 1.25.0-1
+- Update to v1.25.0
+
+* Wed Dec 09 2020 Kai A. Hiller <V02460@gmail.com> - 1.24.0-1
+- Update to v1.24.0
+
+* Mon Nov 30 2020 Gwyn Ciesla <gwync@protonmail.com> - 1.23.0-1
+- 1.23.0
+
+* Sat Aug 29 2020 Kai A. Hiller <V02460@gmail.com> - 1.18.0-1
+- Update to v1.18.0
+
+* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.13.0-4
+- Second attempt - Rebuilt for
+  https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
+
+* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.13.0-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
+
+* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 1.13.0-2
+- Rebuilt for Python 3.9
+
+* Thu May 21 2020 Dan Callaghan <djc@djc.id.au> - 1.13.0-1
+- Update to v1.13.0
+
+* Sun May 17 2020 Dan Callaghan <djc@djc.id.au> - 1.12.4-1
+- Update to v1.12.4
+
+* Wed Apr 22 2020 Kai A. Hiller <V02460@gmail.com> - 1.12.3-1
+- Update to v1.12.3
+
+* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.8.0-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
+
+* Fri Jan 24 2020 Arjen Heidinga <dexter@beetjevreeemd.nl> - 1.8.0-1
+- Update to v1.8.0
+
+* Tue Dec 31 2019 Dan Callaghan <djc@djc.id.au> - 1.7.2-1
+- Update to v1.7.2
+
+* Tue Dec 03 2019 Dan Callaghan <djc@djc.id.au> - 1.6.1-1
+- Update to v1.6.1
+
+* Fri Nov 08 2019 Kai A. Hiller <V02460@gmail.com> - 1.5.1-1
+- Update to v1.5.1
+- Add Python 3.8 compatibility
+
+* Fri Oct 11 2019 Kai A. Hiller <V02460@gmail.com> - 1.4.0-1
+- Update to v1.4.0
+
+* Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 1.2.1-2
+- Rebuilt for Python 3.8
+
+* Fri Jul 26 2019 Kai A. Hiller <V02460@gmail.com> - 1.2.1-1
+- Update to v1.2.1
+
+* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.0-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
+
+* Thu Jun 27 2019 Dan Callaghan <djc@djc.id.au> - 1.0.0-1
+- Update to v1.0.0 release, including new protocol-mandated TLS
+  certificate verification logic. See:
+  https://github.com/matrix-org/synapse/blob/master/docs/MSC1711_certificates_FAQ.md
+
+* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.34.0.1-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
+
+* Thu Jan 24 2019 Jeremy Cline <jeremy@jcline.org> - 0.34.0.1-2
+- synapse user should own its configuration directory (rhbz 1662672)
+
+* Fri Jan 11 2019 Jeremy Cline <jeremy@jcline.org> - 0.34.0.1-1
+- Update to v0.34.0.1, fixes CVE-2019-5885
+
+* Fri Dec 28 2018 Jeremy Cline <jeremy@jcline.org> - 0.34.0-1
+- Update to v0.34.0
+- Switch to Python 3
+
+* Thu Sep 06 2018 Jeremy Cline <jeremy@jcline.org> - 0.33.3.1-1
+- Update to v0.33.3.1
+- Use the Python dependency generator.
+
+* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.31.2-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
+
+* Thu Jun 14 2018 Jeremy Cline <jeremy@jcline.org> - 0.31.2-1
+- Update to v0.31.2
+- https://github.com/matrix-org/synapse/releases/tag/v0.31.2
+
+* Wed Jun 13 2018 Jeremy Cline <jeremy@jcline.org> - 0.31.1-2
+- Stop using Python dependency generator
+
+* Wed Jun 13 2018 Jeremy Cline <jeremy@jcline.org> - 0.31.1-1
+- Update to v0.31.1
+- Fix CVE-2018-12291
+
+* Thu May 24 2018 Jeremy Cline <jeremy@jcline.org> - 0.29.1-1
+- Update to the latest upstream release.
+- Use the Python dependency generator.
+
+* Tue May 01 2018 Jeremy Cline <jeremy@jcline.org> - 0.28.1-1
+- Update to the latest upstream release.
+
+* Wed Apr 11 2018 Jeremy Cline <jeremy@jcline.org> - 0.27.3-1
+- Update to the latest upstream release.
+
+* Mon Mar 26 2018 Jeremy Cline <jeremy@jcline.org> - 0.27.2-1
+- Update to the latest upstream release.
+
+* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.26.0-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
+
+* Wed Jan 10 2018 Jeremy Cline <jeremy@jcline.org> - 0.26.0-1
+- Update to latest upstream
+
+* Tue Jan 09 2018 Iryna Shcherbina <ishcherb@redhat.com> - 0.23.1-2
+- Update Python 2 dependency declarations to new packaging standards
+  (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)
+
+* Tue Oct 03 2017 Jeremy Cline <jeremy@jcline.org> - 0.23.1-1
+- Update to latest upstream
+- Include patch to work with ujson-2.0+
+
+* Fri Sep 29 2017 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 0.22.1-4
+- Use python2 prefix for packages whenever possible
+- Add missing %%{?systemd_requires}
+
+* Wed Aug 09 2017 Gwyn Ciesla <limburgher@gmail.com> - 0.22.1-3
+- Switch to python-bcrypt, BZ 1473018.
+
+* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.22.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
+
+* Mon Jul 10 2017 Jeremy Cline <jeremy@jcline.org> - 0.22.1-1
+- Update to the latest upstream release
+
+* Thu Jul 06 2017 Jeremy Cline <jeremy@jcline.org> - 0.22.0-1
+- Update to the latest upstream release (#1462045)
+
+* Fri Jun 23 2017 Jeremy Cline <jeremy@jcline.org> - 0.21.1-1
+- Update to latest upstream release
+
+* Tue May 30 2017 Jeremy Cline <jeremy@jcline.org> - 0.19.3-4
+- use _sharedstatedir  rather than _localstatedir
+
+* Wed May 17 2017 Jeremy Cline <jeremy@jcline.org> - 0.19.3-3
+- Remove bundled JS
+- Fix some typos in the summary and description
+
+* Tue Apr 04 2017 Jeremy Cline <jeremy@jcline.org> - 0.19.3-2
+- Remove the duplicate requirement on pysaml
+
+* Tue Mar 28 2017 Jeremy Cline <jeremy@jcline.org> - 0.19.3-1
+- Initial package

diff --git a/dead.package b/dead.package
deleted file mode 100644
index d035a64..0000000
--- a/dead.package
+++ /dev/null
@@ -1 +0,0 @@
-Retired: Fails to install: https://forge.fedoraproject.org/releng/tickets/issues/13473

diff --git a/matrix-synapse.spec b/matrix-synapse.spec
new file mode 100644
index 0000000..68ca6b9
--- /dev/null
+++ b/matrix-synapse.spec
@@ -0,0 +1,155 @@
+%bcond check 1
+# F43FailsToInstall: python3-pysaml2
+# https://bugzilla.redhat.com/show_bug.cgi?id=2372073
+%bcond saml2 0
+
+Name:       matrix-synapse
+Version:    1.151.0
+Release:    %autorelease
+Summary:    A Matrix reference homeserver written in Python using Twisted
+License:    AGPL-3.0-or-later
+URL:        https://github.com/element-hq/synapse
+
+%global upstream_tag v%{lua:return(rpm.expand("%{version}"):gsub("~",""))}
+%global archive_tag %{lua:return(rpm.expand("%{version}"):gsub("~",""))}
+
+Source0:    %{url}/archive/%{upstream_tag}/synapse-%{version}.tar.gz
+Source1:    synapse.sysconfig
+Source2:    synapse.service
+Source3:    matrix-synapse.sysusers
+Patch1:     0001-pyo3-Disable-abi3-feature.patch
+Patch2:     0002-Build-RustExtension-with-debug-symbols.patch
+ExclusiveArch:  %{rust_arches}
+
+Recommends:     %{name}+postgres
+Recommends:     %{name}+systemd
+
+BuildRequires:  jq
+BuildRequires:  python3-devel
+BuildRequires:  rust-packaging >= 21
+BuildRequires:  /usr/bin/openssl
+BuildRequires:  systemd-rpm-macros
+BuildRequires:  tomcli
+
+# Handles obsolete extra `user_search`. Keep this line until F42 EOL.
+Obsoletes:      %{name}+user-search < 1.138.0-2
+%if %{without saml2}
+Obsoletes:      %{name}+saml2 < 1.136.0-2
+%endif
+
+%description
+Matrix is an ambitious new ecosystem for open federated Instant Messaging and
+VoIP. Synapse is a reference "homeserver" implementation of Matrix from the
+core development team at matrix.org, written in Python/Twisted. It is intended
+to showcase the concept of Matrix and let folks see the spec in the context of
+a coded base and let you run your own homeserver and generally help bootstrap
+the ecosystem.
+
+%pyproject_extras_subpkg -n %{name} matrix-synapse-ldap3 postgres %{?with_saml2:saml2} oidc url_preview sentry jwt cache_memory
+
+
+%prep
+%autosetup -p1 -n synapse-%{archive_tag}
+
+# We don't support the built-in client so remove all the bundled JS.
+rm -rf synapse/static
+
+# We cannot respect upper bounds on the versions of Python build dependencies.
+echo "$(tomcli get pyproject.toml build-system.requires -F json |
+  jq '.[] |= sub("(,<=.*).*"; "") | .[]' -r)" |
+  xargs -r -x tomcli set pyproject.toml lists str build-system.requires
+
+
+%cargo_prep
+
+
+%generate_buildrequires
+cd rust
+%cargo_generate_buildrequires
+cd ..
+
+# Missing: opentracing,redis
+%pyproject_buildrequires -x test,matrix-synapse-ldap3,postgres%{?with_saml2:,saml2},oidc,url-preview,sentry,jwt,cache-memory
+
+
+%build
+%pyproject_wheel
+
+
+%install
+%pyproject_install
+%py3_shebang_fix %{buildroot}%{python3_sitearch}/synapse/_scripts
+%pyproject_save_files synapse
+
+install -p -D -T -m 0644 contrib/systemd/log_config.yaml %{buildroot}%{_sysconfdir}/synapse/log_config.yaml
+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 -m 755 %{buildroot}%{_sharedstatedir}/synapse
+install -p -D -m 0644 %{SOURCE3} %{buildroot}%{_sysusersdir}/%{name}.conf
+
+
+%if %{with check}
+%check
+set -o pipefail
+PYTHONPATH=%{buildroot}%{python3_sitearch}:%{buildroot}%{python3_sitelib}:$PWD trial-3 %_smp_mflags tests | tee trial.stdout
+
+# Guard against new types of tests being skipped.
+ALLOWLIST="Requires hiredis
+Requires jaeger_client
+Requires Postgres
+Requires SAML2 and OIDC
+Requires pysaml2
+Test only applies when postgres is used as the database
+not supported
+not supported yet
+Synapse does not correctly handle this case
+\`BaseFederationServlet\` does not support cancellation yet.
+Once we remove ops from the Sliding Sync response, this test should pass
+Test is not possible because when everyone leaves the room, the server is \`no_longer_in_room\` and we don't have any \`current_state_events\` to query"
+REASONS=$(cat trial.stdout | sed -n '/^\[SKIPPED\]$/{n;p;}')
+SKIPPED=$(comm -23 <(echo "$REASONS" | sort | uniq) <(echo "$ALLOWLIST" | sort | uniq))
+if [ ! -z "$SKIPPED" ]; then
+  echo -e "Failing, because tests were skipped:\n$SKIPPED"
+  exit 1
+fi
+
+%endif
+
+
+%post
+%systemd_post synapse.service
+
+
+%preun
+%systemd_preun synapse.service
+
+
+%postun
+%systemd_postun_with_restart synapse.service
+
+
+%files -f %{pyproject_files}
+%license LICENSE-AGPL-3.0
+%doc *.rst
+%config(noreplace) %{_sysconfdir}/sysconfig/synapse
+%{_bindir}/export_signing_key
+%{_bindir}/generate_config
+%{_bindir}/generate_log_config
+%{_bindir}/generate_signing_key
+%{_bindir}/hash_password
+%{_bindir}/register_new_matrix_user
+%{_bindir}/synapse_homeserver
+%{_bindir}/synapse_port_db
+%{_bindir}/synapse_review_recent_signups
+%{_bindir}/synapse_worker
+%{_bindir}/synctl
+%{_bindir}/update_synapse_database
+%{_unitdir}/synapse.service
+%attr(755,synapse,synapse) %dir %{_sharedstatedir}/synapse
+%attr(755,synapse,synapse) %dir %{_sysconfdir}/synapse
+%attr(644,synapse,synapse) %config(noreplace) %{_sysconfdir}/synapse/log_config.yaml
+%{_sysusersdir}/%{name}.conf
+
+
+%changelog
+%autochangelog

diff --git a/matrix-synapse.sysusers b/matrix-synapse.sysusers
new file mode 100644
index 0000000..97adeeb
--- /dev/null
+++ b/matrix-synapse.sysusers
@@ -0,0 +1,2 @@
+#Type  Name     ID  GECOS                                 Home directory  Shell
+u      synapse  -   "Runs the Synapse Matrix homeserver"  /run/synapse    /sbin/nologin

diff --git a/sources b/sources
new file mode 100644
index 0000000..c617542
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+SHA512 (synapse-1.151.0.tar.gz) = 6bd144744f21ff9948c2975329273d4dda538161fe6655f4f873cd3645fba243a3b02002cb3850bf3ba43f74436e7ae72718149ae34caea9af0e36e3761ef531

diff --git a/synapse.service b/synapse.service
new file mode 100644
index 0000000..7ab8671
--- /dev/null
+++ b/synapse.service
@@ -0,0 +1,17 @@
+[Unit]
+Description=Synapse Matrix homeserver
+After=network-online.target postgresql.service
+
+[Service]
+Type=notify
+NotifyAccess=main
+User=synapse
+Group=synapse
+WorkingDirectory=/var/lib/synapse
+ExecStart=/usr/bin/python3 -m synapse.app.homeserver --config-path=/etc/synapse/homeserver.yaml
+ExecReload=/bin/kill -HUP $MAINPID
+# EnvironmentFile=-/etc/sysconfig/synapse  # Can be used to e.g. set SYNAPSE_CACHE_FACTOR
+SyslogIdentifier=synapse
+
+[Install]
+WantedBy=multi-user.target

diff --git a/synapse.sysconfig b/synapse.sysconfig
new file mode 100644
index 0000000..10770e7
--- /dev/null
+++ b/synapse.sysconfig
@@ -0,0 +1,12 @@
+# Synapse's architecture is quite RAM hungry currently - we deliberately cache
+# a lot of recent room data and metadata in RAM in order to speed up common
+# requests. We'll improve this in future, but for now the easiest way to either
+# reduce the RAM usage (at the risk of slowing things down) is to set the
+# almost-undocumented SYNAPSE_CACHE_FACTOR environment variable. Roughly
+# speaking, a SYNAPSE_CACHE_FACTOR of 1.0 will max out at around 3-4GB of
+# resident memory - this is what we currently run the matrix.org on. The
+# default setting is currently 0.1, which is probably around a ~700MB
+# footprint. You can dial it down further to 0.02 if desired, which targets
+# roughly ~512MB. Conversely you can dial it up if you need performance for
+# lots of users and have a box with a lot of RAM.
+SYNAPSE_CACHE_FACTOR=0.1

             reply	other threads:[~2026-08-27 18:32 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-27 18:32 releng-bot [this message]
2026-08-27 18:55 [rpms/matrix-synapse] f45: Unretirement request: https://forge.fedoraproject.org/releng/fedora-scm-requests/issues/474 releng-bot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=178785556494.1.13137269110290140071.rpms-matrix-synapse-ab1524a2aa51@fedoraproject.org \
    --to=releng-bot@fedoraproject.org \
    --cc=git-commits@fedoraproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox