## START: Set by rpmautospec ## (rpmautospec version 0.6.0) ## RPMAUTOSPEC: autorelease, autochangelog %define autorelease(e:s:pb:n) %{?-p:0.}%{lua: release_number = 1; base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); print(release_number + base_release_number - 1); }%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} ## END: Set by rpmautospec %bcond_without check Name: matrix-synapse Version: 1.115.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 Recommends: %{name}+user-search BuildRequires: python3-devel BuildRequires: rust-packaging >= 21 BuildRequires: /usr/bin/openssl BuildRequires: systemd-rpm-macros %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 saml2 oidc systemd url_preview sentry jwt cache_memory user-search %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 %cargo_prep %generate_buildrequires cd rust %cargo_generate_buildrequires cd .. # Missing: opentracing,redis %pyproject_buildrequires -x test,matrix-synapse-ldap3,postgres,saml2,oidc,systemd,url-preview,sentry,jwt,cache-memory,user-search %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. WHITELIST="Requires hiredis Requires jaeger_client Requires Postgres 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 "$WHITELIST" | sort | uniq)) if [ ! -z "$SKIPPED" ]; then echo -e "Failing, because tests were skipped:\n$SKIPPED" exit 1 fi %endif %pre %sysusers_create_compat %{SOURCE3} %post %systemd_post synapse.service %preun %systemd_preun synapse.service %postun %systemd_postun_with_restart synapse.service %files -f %{pyproject_files} %license LICENSE %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 ## START: Generated by rpmautospec * Sun Sep 22 2024 Kai A. Hiller - 1.115.0-1 - Update to v1.115.0 * Tue Aug 06 2024 Kai A. Hiller - 1.112.0-1 - Update to v1.112.0 * Thu Jul 18 2024 Fedora Release Engineering - 1.110.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild * Sun Jul 07 2024 Kai A. Hiller - 1.110.0-1 - Update to v1.110.0 * Sat Jun 29 2024 Python Maint - 1.109.0-2 - Rebuilt for Python 3.13 * Tue Jun 18 2024 Kai A. Hiller - 1.109.0-1 - Update to v1.109.0 * Tue May 28 2024 Kai A. Hiller - 1.108.0-1 - Update to v1.108.0 * Tue May 14 2024 Kai A. Hiller - 1.107.0-1 - Update to v1.107.0 * Tue May 14 2024 Kai A. Hiller - 1.105.1-3 - Drop f38 compatibility * Sat May 11 2024 Kai A. Hiller - 1.105.1-2 - Make binary and config files explicit * Tue Apr 23 2024 Kai A. Hiller - 1.105.1-1 - Update to v1.105.1 (CVE-2024-31208) * Tue Apr 23 2024 Kai A. Hiller - 1.105.0-2 - Update pyo3 to v0.21.1 * Wed Apr 17 2024 Kai A. Hiller - 1.105.0-1 - Update to v1.105.0 * Thu Apr 04 2024 Kai A. Hiller - 1.104.0-1 - Update to v1.104.0 * Tue Mar 19 2024 Kai A. Hiller - 1.103.0-1 - Update to v1.103.0 * Tue Mar 05 2024 Kai A. Hiller - 1.102.0-1 - Update to v1.102.0 * Wed Feb 14 2024 Kai A. Hiller - 1.101.0-1 - Update to v1.101.0 * Wed Feb 14 2024 Kai A. Hiller - 1.100.0-2 - gitignore: Exclude local build directory * Wed Jan 31 2024 Kai A. Hiller - 1.100.0-1 - Update to v1.100.0 * Fri Jan 26 2024 Kai A. Hiller - 1.99.0-6 - Enable Rust release build for fc39+ * Fri Jan 26 2024 Kai A. Hiller - 1.99.0-5 - Fix use of version-specific Python API * Fri Jan 26 2024 Kai A. Hiller - 1.99.0-4 - Change order of patches * Thu Jan 25 2024 Fedora Release Engineering - 1.99.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild * Sun Jan 21 2024 Fedora Release Engineering - 1.99.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild * Tue Jan 16 2024 Kai A. Hiller - 1.99.0-1 - Update to v1.99.0 * Tue Jan 16 2024 Kai A. Hiller - 1.98.0-4 - Enable "sentry" extra * Wed Jan 10 2024 Kai A. Hiller - 1.98.0-3 - Change upstream to Element’s fork under AGPL * Wed Jan 10 2024 Kai A. Hiller - 1.98.0-2 - Fix %%cargo_prep invocation * Tue Dec 12 2023 Kai A. Hiller - 1.98.0-1 - Update to v1.98.0 * Tue Nov 28 2023 Kai A. Hiller - 1.97.0-1 - Update to v1.97.0 * Fri Nov 17 2023 Kai A. Hiller - 1.96.1-1 - Update to v1.96.1 * Tue Oct 31 2023 Kai A. Hiller - 1.95.1-1 - Update to 1.95.1 (CVE-2023-43796) * Wed Oct 25 2023 Kai A. Hiller - 1.95.0-1 - Update to v1.95.0 * Wed Oct 11 2023 Kai A. Hiller - 1.94.0-2 - Fixed CVE-2023-45129 in v1.94.0 * Tue Oct 10 2023 Kai A. Hiller - 1.94.0-1 - Update to v1.94.0 * Wed Sep 27 2023 Kai A. Hiller - 1.93.0-2 - Relax pillow requirement * Wed Sep 27 2023 Kai A. Hiller - 1.93.0-1 - Update to v1.93.0 (CVE-2023-41335, CVE-2023-42453) * Wed Sep 13 2023 Kai A. Hiller - 1.92.1-1 - Update to v1.92.1 * Mon Sep 04 2023 Kai A. Hiller - 1.91.1-1 - Update to v1.91.1 * Mon Aug 28 2023 Kai A. Hiller - 1.90.0-2 - Support Python 3.12 * Sat Aug 19 2023 Kai A. Hiller - 1.90.0-1 - Update to v1.90.0 * Fri Aug 04 2023 Kai A. Hiller - 1.89.0-1 - Update to v1.89.0 * Thu Jul 20 2023 Fedora Release Engineering - 1.88.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild * Tue Jul 18 2023 Kai A. Hiller - 1.88.0-1 - Update to v1.88.0 * Fri Jul 07 2023 Kai A. Hiller - 1.87.0-1 - Update to v1.87.0 * Thu Jun 22 2023 Kai A. Hiller - 1.86.0-1 - Update to v1.86.0 * Thu Jun 08 2023 Kai A. Hiller - 1.85.2-1 - Update to v1.85.2 * Wed Jun 07 2023 Kai A. Hiller - 1.85.1-1 - Update to v1.85.1 * Tue Jun 06 2023 Kai A. Hiller - 1.85.0-1 - Update to v1.85.0 * Sat Jun 03 2023 Kai A. Hiller - 1.84.1-1 - Update to v1.84.1 * Wed May 10 2023 Kai A. Hiller - 1.83.0-1 - Update to v1.83.0 * Wed May 10 2023 Kai A. Hiller - 1.80.0-6 - Use plain text instead of %%global srcname * Wed May 10 2023 Kai A. Hiller - 1.80.0-5 - Enable parallel tests * Wed Mar 29 2023 Kai A. Hiller - 1.80.0-4 - Add README.md * Wed Mar 29 2023 Kai A. Hiller - 1.80.0-3 - Add user-search extra * Wed Mar 29 2023 Kai A. Hiller - 1.80.0-2 - Add new reasons to test whitelist * Wed Mar 29 2023 Kai A. Hiller - 1.80.0-1 - Update to v1.80.0 * Thu Jan 19 2023 Fedora Release Engineering - 1.66.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild * Sun Jan 08 2023 Elliott Sales de Andrade - 1.66.0-2 - Drop support for i686 * Wed Sep 07 2022 Kai A. Hiller - 1.66.0-1 - Update to v1.66.0 * Sun Aug 14 2022 Dan Callaghan - 1.63.1-2 - dropped unnecessary BuildRequires on pympler, which is broken in F37+ (RHBZ#2113507) * Tue Jul 26 2022 Kai A. Hiller - 1.63.1-1 - Update to v1.63.1 * Thu Jul 21 2022 Fedora Release Engineering - 1.62.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild * Thu Jul 14 2022 Kai A. Hiller - 1.62.0-1 - Update to v1.62.0 * Wed Jun 29 2022 Kai A. Hiller - 1.61.1-1 - Update to v1.61.1 - Fix CVE-2022-31052 * Tue Jun 14 2022 Kai A. Hiller - 1.61.0-1 - Update to v1.61.0 * Thu Jun 09 2022 Kai A. Hiller - 1.60.0-1 - Update to v1.60.0 * Thu May 19 2022 Kai A. Hiller - 1.59.1-1 - Update to v1.59.1 * Wed May 18 2022 Kai A. Hiller - 1.59.0-1 - Update to v1.59.0 * Wed May 04 2022 Kai A. Hiller - 1.58.0-1 - Update to v1.58.0 * Thu Apr 21 2022 Dan Callaghan - 1.57.0-1 - Update to v1.57.0 * Tue Apr 05 2022 Kai A. Hiller - 1.56.0-1 - Update to v1.56.0 * Thu Mar 24 2022 Kai A. Hiller - 1.55.0-1 - Update to v1.55.0 * Tue Mar 08 2022 Kai A. Hiller - 1.54.0-1 - Update to v1.54.0 * Tue Feb 22 2022 Kai A. Hiller - 1.53.0-1 - Update to v1.53.0 * Wed Feb 09 2022 Kai A. Hiller - 1.52.0-2 - Backport: Fix losing incoming EDUs if debug logging enabled * Tue Feb 08 2022 Kai A. Hiller - 1.52.0-1 - Update to v1.52.0 - Create synapse user and group declaratively * Thu Jan 27 2022 Kai A. Hiller - 1.51.0-1 - Update to v1.51.0 * Thu Jan 20 2022 Fedora Release Engineering - 1.49.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild * Tue Dec 21 2021 Kai A. Hiller - 1.49.2-1 - Update to v1.49.2 * Tue Dec 14 2021 Kai A. Hiller - 1.49.0-1 - Update to v1.49.0 * Tue Nov 30 2021 Kai A. Hiller - 1.48.0-1 - Update to v1.48.0 * Wed Nov 24 2021 Kai A. Hiller - 1.47.1-1 - Update to v1.47.1 - Fix CVE-2021-41281 * Fri Nov 19 2021 Kai A. Hiller - 1.47.0-1 - Update to v1.47.0 * Thu Nov 04 2021 Kai A. Hiller - 1.46.0-1 - Update to v1.46.0 * Thu Oct 21 2021 Kai A. Hiller - 1.45.1-1 - Update to v1.45.1 * Mon Oct 18 2021 Kai A. Hiller - 1.44.0-1 - Update to v1.44.0 * Thu Sep 09 2021 Kai A. Hiller - 1.42.0-1 - Update to v1.42.0 * Tue Aug 31 2021 Kai A. Hiller - 1.41.1-1 - Update to v1.41.1 - Fix CVE-2021-39163, CVE-2021-39164 * Tue Aug 24 2021 Kai A. Hiller - 1.41.0-1 - Update to v1.41.0 * Tue Aug 10 2021 Kai A. Hiller - 1.40.0-1 - Update to v1.40.0 * Thu Jul 29 2021 Kai A. Hiller - 1.39.0-1 - Update to v1.39.0 * Fri Jul 23 2021 Kai A. Hiller - 1.38.1-1 - Update to v1.38.1 * Thu Jul 22 2021 Fedora Release Engineering - 1.38.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild * Sun Jul 18 2021 Dan Callaghan - 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 - 1.38.0-1 - Update to v1.38.0 * Fri Jun 04 2021 Python Maint - 1.26.0-3 - Rebuilt for Python 3.10 * Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek - 1.26.0-2 - Rebuilt for updated systemd-rpm-macros See https://pagure.io/fesco/issue/2583. * Thu Jan 28 2021 Kai A. Hiller - 1.26.0-1 - Update to v1.26.0 * Tue Jan 26 2021 Fedora Release Engineering - 1.25.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild * Wed Jan 13 2021 Kai A. Hiller - 1.24.0-1 - Update to v1.24.0 * Mon Nov 30 2020 Gwyn Ciesla - 1.23.0-1 - 1.23.0 * Sat Aug 29 2020 Kai A. Hiller - 1.18.0-1 - Update to v1.18.0 * Sat Aug 01 2020 Fedora Release Engineering - 1.13.0-4 - Second attempt - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild * Tue Jul 28 2020 Fedora Release Engineering - 1.13.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild * Tue May 26 2020 Miro Hrončok - 1.13.0-2 - Rebuilt for Python 3.9 * Thu May 21 2020 Dan Callaghan - 1.13.0-1 - Update to v1.13.0 * Sun May 17 2020 Dan Callaghan - 1.12.4-1 - Update to v1.12.4 * Wed Apr 22 2020 Kai A. Hiller - 1.12.3-1 - Update to v1.12.3 * Wed Jan 29 2020 Fedora Release Engineering - 1.8.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild * Fri Jan 24 2020 Arjen Heidinga - 1.8.0-1 - Update to v1.8.0 * Tue Dec 31 2019 Dan Callaghan - 1.7.2-1 - Update to v1.7.2 * Tue Dec 03 2019 Dan Callaghan - 1.6.1-1 - Update to v1.6.1 * Fri Nov 08 2019 Kai A. Hiller - 1.5.1-1 - Update to v1.5.1 - Add Python 3.8 compatibility * Fri Oct 11 2019 Kai A. Hiller - 1.4.0-1 - Update to v1.4.0 * Mon Aug 19 2019 Miro Hrončok - 1.2.1-2 - Rebuilt for Python 3.8 * Fri Jul 26 2019 Kai A. Hiller - 1.2.1-1 - Update to v1.2.1 * Thu Jul 25 2019 Fedora Release Engineering - 1.0.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild * Thu Jun 27 2019 Dan Callaghan - 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 - 0.34.0.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild * Thu Jan 24 2019 Jeremy Cline - 0.34.0.1-2 - synapse user should own its configuration directory (rhbz 1662672) * Fri Jan 11 2019 Jeremy Cline - 0.34.0.1-1 - Update to v0.34.0.1, fixes CVE-2019-5885 * Fri Dec 28 2018 Jeremy Cline - 0.34.0-1 - Update to v0.34.0 - Switch to Python 3 * Thu Sep 06 2018 Jeremy Cline - 0.33.3.1-1 - Update to v0.33.3.1 - Use the Python dependency generator. * Fri Jul 13 2018 Fedora Release Engineering - 0.31.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild * Thu Jun 14 2018 Jeremy Cline - 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 - 0.31.1-2 - Stop using Python dependency generator * Wed Jun 13 2018 Jeremy Cline - 0.31.1-1 - Update to v0.31.1 - Fix CVE-2018-12291 * Thu May 24 2018 Jeremy Cline - 0.29.1-1 - Update to the latest upstream release. - Use the Python dependency generator. * Tue May 01 2018 Jeremy Cline - 0.28.1-1 - Update to the latest upstream release. * Wed Apr 11 2018 Jeremy Cline - 0.27.3-1 - Update to the latest upstream release. * Mon Mar 26 2018 Jeremy Cline - 0.27.2-1 - Update to the latest upstream release. * Thu Feb 08 2018 Fedora Release Engineering - 0.26.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild * Wed Jan 10 2018 Jeremy Cline - 0.26.0-1 - Update to latest upstream * Tue Jan 09 2018 Iryna Shcherbina - 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 - 0.23.1-1 - Update to latest upstream - Include patch to work with ujson-2.0+ * Fri Sep 29 2017 Igor Gnatenko - 0.22.1-4 - Use python2 prefix for packages whenever possible - Add missing %%{?systemd_requires} * Wed Aug 09 2017 Gwyn Ciesla - 0.22.1-3 - Switch to python-bcrypt, BZ 1473018. * Wed Jul 26 2017 Fedora Release Engineering - 0.22.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild * Mon Jul 10 2017 Jeremy Cline - 0.22.1-1 - Update to the latest upstream release * Thu Jul 06 2017 Jeremy Cline - 0.22.0-1 - Update to the latest upstream release (#1462045) * Fri Jun 23 2017 Jeremy Cline - 0.21.1-1 - Update to latest upstream release * Tue May 30 2017 Jeremy Cline - 0.19.3-4 - use _sharedstatedir rather than _localstatedir * Wed May 17 2017 Jeremy Cline - 0.19.3-3 - Remove bundled JS - Fix some typos in the summary and description * Tue Apr 04 2017 Jeremy Cline - 0.19.3-2 - Remove the duplicate requirement on pysaml * Tue Mar 28 2017 Jeremy Cline - 0.19.3-1 - Initial package ## END: Generated by rpmautospec