Name: tlsrpt-reporter Version: 0.5.0 Release: 2%{?dist} Summary: An application suite to receive TLSRPT datagrams and to generate and deliver TLSRPT reports License: GPLv3+ URL: https://github.com/sys4/tlsrpt-reporter Source0: %{url}/archive/refs/tags/v%{version}.tar.gz Source1: reportd.cfg Source2: collectd.cfg Source3: fetcher.cfg Source4: tlsrpt.sysusers Source5: tlsrpt.tmpfiles Source6: tlsrpt-reportd.service Source7: tlsrpt-collectd.service # Sources for missing python deps %if 0%{?rhel} == 8 %global __python /usr/bin/python3.12 Source101: build-1.2.2.post1-py3-none-any.whl Source102: packaging-25.0-py3-none-any.whl Source103: pyproject_hooks-1.2.0-py3-none-any.whl Source104: tomli-2.2.1-py3-none-any.whl Source105: hatchling-1.27.0-py3-none-any.whl Source106: pluggy-1.6.0-py3-none-any.whl Source107: trove_classifiers-2025.5.9.12-py3-none-any.whl Source108: installer-0.7.0-py3-none-any.whl Source109: importlib_metadata-8.7.0-py3-none-any.whl Source110: zipp-3.23.0-py3-none-any.whl Source111: pathspec-0.12.1-py3-none-any.whl BuildRequires: python3.12-wheel python3.12-pytest python3.12-pip %else %global __python %__python3 BuildRequires: python-build python-installer python-hatchling BuildRequires: python3-wheel python3-pytest %endif BuildRequires: systemd-rpm-macros asciidoctor make %description tlsrpt-reporter is a TLSRPT reporting service for SMTP TLS Reporting as defined in RFC 8460. It receives TLSRPT datagrams from a MTA, collects them, creates a report in conformance with the TLSRPT Reporting Schema and finally delivers the report either via SMTP, indirectly by submitting it to a local MTA which ultimately will be responsible for delivering the report, or directly via HTTP POST. %prep %setup %if 0%{?rhel} == 8 # Install missing python modules pip3 install %{SOURCE101} %{SOURCE102} %{SOURCE103} %{SOURCE104} %{SOURCE105} \ %{SOURCE106} %{SOURCE107} %{SOURCE108} %{SOURCE109} %{SOURCE110} %{SOURCE111} %endif %build %__python -m build --wheel --no-isolation %__make -C doc %install %__python -m installer --destdir="$RPM_BUILD_ROOT" dist/*.whl %__install -Dm 644 "%{SOURCE1}" "$RPM_BUILD_ROOT%{_sysconfdir}/tlsrpt/reportd.cfg" %__install -Dm 644 "%{SOURCE2}" "$RPM_BUILD_ROOT%{_sysconfdir}/tlsrpt/collectd.cfg" %__install -Dm 644 "%{SOURCE3}" "$RPM_BUILD_ROOT%{_sysconfdir}/tlsrpt/fetcher.cfg" %__install -Dm 644 "%{SOURCE4}" "$RPM_BUILD_ROOT%{_sysusersdir}/tlsrpt.conf" %__install -Dm 644 "%{SOURCE5}" "$RPM_BUILD_ROOT%{_tmpfilesdir}/tlsrpt.conf" %__install -Dm 644 "%{SOURCE6}" "$RPM_BUILD_ROOT%{_unitdir}/tlsrpt-reportd.service" %__install -Dm 644 "%{SOURCE7}" "$RPM_BUILD_ROOT%{_unitdir}/tlsrpt-collectd.service" %__install -Dm 644 doc/tlsrpt-reportd.1 "$RPM_BUILD_ROOT%{_mandir}/man1/tlsrpt-reportd.1" %__install -Dm 644 doc/tlsrpt-collectd.1 "$RPM_BUILD_ROOT%{_mandir}/man1/tlsrpt-collectd.1" %__install -Dm 644 doc/tlsrpt-fetcher.1 "$RPM_BUILD_ROOT%{_mandir}/man1/tlsrpt-fetcher.1" %__install -Dm 644 tlsrpt_reporter/example.cfg "$RPM_BUILD_ROOT%{_pkgdocdir}/example.cfg" %__install -Dm 644 README.md "$RPM_BUILD_ROOT%{_pkgdocdir}/README.md" %post %systemd_post tlsrpt-reportd.service %systemd_post tlsrpt-collectd.service exit 0 %pre %{_sbindir}/groupadd -r tlsrpt 2>/dev/null %{_sbindir}/useradd -d %{_sharedstatedir}/tlsrpt -s /sbin/nologin -f -1 -M -r tlsrpt 2>/dev/null exit 0 %preun %systemd_preun tlsrpt-reportd.service %systemd_preun tlsrpt-collectd.service exit 0 %postun %systemd_postun_with_restart tlsrpt-reportd.service %systemd_postun_with_restart tlsrpt-collectd.service exit 0 %clean rm -rf $RPM_BUILD_ROOT %files %docdir %{_mandir} %docdir %{_pkgdocdir} %{_mandir}/man1/tlsrpt-*.1* %{_pkgdocdir}/* %{_sysconfdir}/tlsrpt/*.cfg %{_sysusersdir}/tlsrpt.conf %{_tmpfilesdir}/tlsrpt.conf %{_unitdir}/tlsrpt-*.service %{_bindir}/tlsrpt-* %{_prefix}/lib/python*/site-packages/tlsrpt_reporter-%{version}.dist-info/* %{_prefix}/lib/python*/site-packages/tlsrpt_reporter-%{version}.dist-info/licenses/* %{_prefix}/lib/python*/site-packages/tlsrpt_reporter/* %{_prefix}/lib/python*/site-packages/tlsrpt_reporter/__pycache__/* %changelog * Tue Jun 17 2025 Peter Ajamian - 0.5.0-2 - Fix useradd command * Mon Jun 16 2025 Peter Ajamian - 0.5.0-1 - Initial build for EL8 and EL9