%global __requires_exclude perl\\(.*[.]pl\\)|\/bin\/bash %define __RELTAG RELEASE_2_2_2 %global modulename mlmmj %global selinuxtype targeted Name: mlmmj Version: 2.2.2 Release: 3%{?dist} Summary: A simple and slim mailing list manager inspired by ezmlm License: MIT URL: https://codeberg.org/mlmmj/mlmmj Source0: https://codeberg.org/mlmmj/mlmmj/releases/download/%{__RELTAG}/%{name}-%{version}.tar.xz # SELinux policy from Fedora/EPEL dist-git (rpms/mlmmj) Source1: %{modulename}.te Source2: %{modulename}.fc Source3: README.SELinux # Fixes from the korg-infra-deployment branch of git.kernel.org mlmmj, on top # of RELEASE_2_2_2. The tag predates the version bump, so 0001 is needed for # the binaries to report 2.2.2. Drop all of these on the next upstream release. Patch0001: %{name}-0001-Release-2.2.2.patch Patch0002: %{name}-0002-disarm_email-replace-comma-and-semicolon-by-space.patch Patch0003: %{name}-0003-disarm_email-drop-quotes-around-the-display-name.patch Patch0004: %{name}-0004-mlmmj-process-fix-the-moderators-list-in-the-moderat.patch Patch0005: %{name}-0005-Add-my-self-in-the-AUTHORS.patch Patch0006: %{name}-0006-make-add-an-uninstall-target.patch Patch0007: %{name}-0007-mlmmj-maintd-add-control-waitprobe-to-set-the-probe-.patch Patch0008: %{name}-0008-access-use-a-deny-qualifier-only-when-its-rule-match.patch Patch0009: %{name}-0009-mlmmj-process-hold-the-post-when-there-is-no-control.patch Patch0010: %{name}-0010-send_digest-do-not-repeat-Subject-in-the-digest-subj.patch Patch0011: %{name}-0011-send_digest-add-the-List-headers-to-digests.patch Patch0012: %{name}-0012-send_digest-name-each-digest-part-after-its-archive-.patch BuildRequires: gcc BuildRequires: findutils BuildRequires: make # Test suite BuildRequires: kyua BuildRequires: libatf-c-devel BuildRequires: libatf-sh-devel BuildRequires: pkgconfig # iconv decodes RFC 2047 header charsets at runtime; base glibc only has # UTF-*, ISO-8859-1/15 and CP1252, so e.g. KOI8-R headers become "???". # Also needed in the buildroot for the koi8-r unistr test. BuildRequires: glibc-gconv-extra Requires: glibc-gconv-extra%{?_isa} Requires(pre): shadow-utils %description Mlmmj(Mailing List Management Made Joyful) is a simple and slim mailing list manager (MLM) inspired by ezmlm. It works with many different Mail Transport Agents (MTAs) and is simple for a system adminstrator to install, configure and integrate with other software. As it uses very few resources, and requires no daemons, it is ideal for installation on systems where resources are limited, such as Virtual Private Servers (VPSes). Although it doesn't aim to include every feature possible, but focuses on staying mean and lean, and doing what it does do well, it does have a great set of features, including: - Archive - Custom headers / footer - Fully automated bounce handling (similar to ezmlm) - Complete requeueing functionality - Moderation functionality - Subject prefix - Subscribers only posting - Regular expression access control - Functionality to retrieve old posts - Web interface - Digests - No-mail subscription - VERP support - Delivery Status Notification (RFC1891) support - Rich, customisable texts for automated operations %package selinux Summary: SELinux support for mlmmj BuildArch: noarch Requires: %{name} = %{version}-%{release} Requires: selinux-policy-%{selinuxtype} Requires(post): selinux-policy-%{selinuxtype} BuildRequires: selinux-policy-devel %description selinux This package adds SELinux enforcement support to mlmmj. %prep %autosetup -p1 # SELinux mkdir selinux cp -p %{SOURCE1} selinux/%{modulename}.te cp -p %{SOURCE2} selinux/%{modulename}.fc cp -p %{SOURCE3} selinux/README.SELinux touch selinux/%{modulename}.if %build %configure make %{?_smp_mflags} # SELinux make -C selinux -f %{_datadir}/selinux/devel/Makefile %{modulename}.pp bzip2 -9 selinux/%{modulename}.pp %install %make_install mkdir -p %{buildroot}%{_localstatedir}/spool/%{name} find contrib/ -type f -name *.pl -exec chmod -x {} ";" find contrib/ -type f -name *.cgi -exec chmod -x {} ";" # SELinux install -D -m 0644 selinux/%{modulename}.pp.bz2 %{buildroot}%{_datadir}/selinux/packages/%{selinuxtype}/%{modulename}.pp.bz2 %pre getent group mlmmj &>/dev/null || %{_sbindir}/groupadd -r mlmmj getent passwd mlmmj &>/dev/null || \ %{_sbindir}/useradd -r -g mlmmj -s /sbin/nologin -c "mlmmj user" -d %{_localstatedir}/spool/%{name} mlmmj %pre selinux %selinux_relabel_pre -s %{selinuxtype} %post selinux %selinux_modules_install -s %{selinuxtype} %{_datadir}/selinux/packages/%{selinuxtype}/%{modulename}.pp.bz2 %postun selinux if [ $1 -eq 0 ]; then %selinux_modules_uninstall -s %{selinuxtype} %{modulename} fi %posttrans selinux %selinux_relabel_post -s %{selinuxtype} %check make check %files %{!?_licensedir:%global license %doc} %license COPYING %doc AUTHORS ChangeLog FAQ README* TUNABLES.md TODO UPGRADE %doc contrib/web/ %{_bindir}/* %{_mandir}/man1/mlmmj*.1* %{_datadir}/%{name}/ %dir %attr(0700,mlmmj,root) %{_localstatedir}/spool/%{name} %files selinux %doc selinux/README.SELinux %{_datadir}/selinux/packages/%{selinuxtype}/%{modulename}.pp.* %ghost %verify(not md5 size mode mtime) %{_sharedstatedir}/selinux/%{selinuxtype}/active/modules/200/%{modulename} %changelog * Tue Oct 20 2026 Konstantin Ryabitsev - 2.2.2-3 - Apply more digest fixes from the korg-infra-deployment branch: - Do not send digests with "Subject: Subject:". - Add the List-* and Precedence headers to digests, as on posts. - Name each digest part after its archive index again. - Require glibc-gconv-extra: without it, headers encoded in charsets such as KOI8-R or ISO-8859-2 are decoded as "???". * Tue Oct 20 2026 Konstantin Ryabitsev - 2.2.2-2 - Apply fixes from the korg-infra-deployment branch: - disarm_email: replace comma/semicolon by space, drop display name quotes. - mlmmj-process: fix the moderators list in the moderation notice, and hold the post when there is no control/moderators. - access: use a deny qualifier only when its rule matches. - mlmmj-maintd: add control/waitprobe to set the probe timeout. - Report the correct version (2.2.2, not 2.2.1). * Tue Oct 13 2026 Konstantin Ryabitsev - 2.2.2-1 - Update to 2.2.2. - New control/subreleaseall, control/listidphrase and $disarmedfrom$ customheaders variable; many memory and header-handling fixes. - Add mlmmj-selinux subpackage, with the policy module taken from the Fedora/EPEL package, so upgrades from EPEL's mlmmj-selinux work. - Re-enable the test suite and run it in %check now that kyua is in EPEL 10. - Create an mlmmj system user and ship /var/spool/mlmmj as 0700 mlmmj:root, matching the Fedora/EPEL package. * Wed May 20 2026 Konstantin Ryabitsev - 2.0.1-1 - Update to 2.0.1. - Upstream switched build system from autotools to bbuild (POSIX shell); drop autoconf/automake/libatf-c-devel BuildRequires and autoreconf step. * Thu Jun 19 2025 Konstantin Ryabitsev - 1.6.0-1 - Update to 1.6.0 containing new features. * Tue Jul 16 2024 Konstantin Ryabitsev - 1.4.7-1 - Update to 1.4.7, containing bugfixes. * Fri Jun 07 2024 Konstantin Ryabitsev - 1.4.6-1 - Update to 1.4.6, containing bugfixes. * Thu May 02 2024 Konstantin Ryabitsev - 1.4.5-1 - Update to 1.4.5, containing bugfixes. - Disable tests to avoid requiring kyua. * Mon Jan 15 2024 Konstantin Ryabitsev - 1.4.4-1 - Update to 1.4.4, containing bugfixes. * Mon Dec 18 2023 Konstantin Ryabitsev - 1.4.2-1 - Update to 1.4.2, containing bugfixes. * Wed Dec 06 2023 Konstantin Ryabitsev - 1.4.0-0 - Update to 1.4.0 final release. * Fri Dec 01 2023 Konstantin Ryabitsev - 1.4.0-0.rc3.1 - Update to rc3 * Fri Oct 27 2023 Konstantin Ryabitsev - 1.4.0-0.rc2.1 - Update to rc2 * Fri Oct 13 2023 Konstantin Ryabitsev - 1.4.0-0.rc1.1 - Update to rc1 - Drop obsolete patch for CentOS7 * Mon Sep 18 2023 Konstantin Ryabitsev - 1.4.0-0.b1.1 - Switch to https://codeberg.org/mlmmj/mlmmj and update to 1.4.0-b1 - Tweak to build on CentOS7 * Fri Feb 10 2017 Fedora Release Engineering - 1.2.19.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild * Wed Mar 02 2016 Denis Fateyev - 1.2.19.0-1 - Update to 1.2.19.0 release * Thu Feb 04 2016 Fedora Release Engineering - 1.2.18.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild * Wed Jun 17 2015 Fedora Release Engineering - 1.2.18.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild * Mon Aug 18 2014 Christopher Meng - 1.2.18.1-1 - Update to 1.2.18.1 * Sun Aug 17 2014 Fedora Release Engineering - 1.2.18.0-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild * Sat Jun 07 2014 Fedora Release Engineering - 1.2.18.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild * Sat Oct 26 2013 Christopher Meng - 1.2.18.0-2 - Filter out wrong dependencies. * Fri Aug 09 2013 Christopher Meng - 1.2.18.0-1 - Resubmit the package.