1c5be52
# Milter header files package name
6358fe4
%if (0%{?rhel} && 0%{?rhel} <= 7) || (0%{?fedora} && 0%{?fedora} <= 25)
1c5be52
%global milter_devel_package sendmail-devel
6358fe4
%else
6358fe4
%global milter_devel_package sendmail-milter-devel
1c5be52
%endif
1c5be52
b3ba585
Name:		milter-regex
3c1724a
Version:	2.6
d176761
Release:	2%{?dist}
e7f0a3b
Summary:	Milter plug-in for regular expression filtering
b3ba585
License:	BSD
0d96eea
URL:		http://www.benzedrine.ch/milter-regex.html
0d96eea
Source0:	http://www.benzedrine.ch/milter-regex-%{version}.tar.gz
7cbb9b2
Source10:	http://www.benzedrine.ch/milter-regex-%{version}.tar.gz.asc
e7f0a3b
Source1:	milter-regex.service
b3ba585
Source2:	milter-regex-options
b3ba585
Source3:	milter-regex.conf
6358fe4
BuildRequires:	byacc
6358fe4
BuildRequires:	coreutils
6358fe4
BuildRequires:	gcc
6358fe4
BuildRequires:	groff
6358fe4
BuildRequires:	make
1c5be52
BuildRequires:	%milter_devel_package >= 8.13
6358fe4
BuildRequires:	sed
6358fe4
BuildRequires:	systemd
0d96eea
Requires(pre):	shadow-utils
6358fe4
%{?systemd_requires}
174e586
174e586
%description
174e586
Milter-regex is a milter based filter that makes it possible to filter
174e586
emails using regular expressions.
174e586
174e586
%prep
b3ba585
%setup -q
8f77fea
8f77fea
# Customize config file location and dæmon user
e7f0a3b
sed -i -e	's|/etc/milter-regex\.conf|%{_sysconfdir}/mail/milter-regex.conf|;
e7f0a3b
		 s|_milter-regex|mregex|' milter-regex.[8c]
8f77fea
8f77fea
# Copy out the license text from the source code
e7f0a3b
head -n +31 milter-regex.c > LICENSE
174e586
174e586
%build
06e076c
make %{?_smp_mflags} -f Makefile.linux CFLAGS="%{optflags} -Wextra -Wwrite-strings -DYYMAXDEPTH=8192"
174e586
174e586
%install
e7f0a3b
mkdir -p \
e7f0a3b
	%{buildroot}%{_unitdir} \
b3ba585
	%{buildroot}%{_localstatedir}/spool/milter-regex \
b3ba585
	%{buildroot}%{_mandir}/man8 \
b3ba585
	%{buildroot}%{_sbindir} \
b3ba585
	%{buildroot}%{_sysconfdir}/{mail,sysconfig}
e7f0a3b
install -p -m 755 milter-regex %{buildroot}%{_sbindir}/
e7f0a3b
install -p -m 644 milter-regex.8 %{buildroot}%{_mandir}/man8/
e7f0a3b
install -p -m 644 %{SOURCE1} %{buildroot}%{_unitdir}/milter-regex.service
e7f0a3b
install -p -m 644 %{SOURCE2} %{buildroot}%{_sysconfdir}/sysconfig/milter-regex
e7f0a3b
install -p -m 644 %{SOURCE3} %{buildroot}%{_sysconfdir}/mail/milter-regex.conf
174e586
174e586
# Create a ghost sock file so we can remove it on package deletion
174e586
: > %{buildroot}%{_localstatedir}/spool/milter-regex/sock
174e586
174e586
%pre
6358fe4
getent group mregex >/dev/null || groupadd -r mregex
6358fe4
getent passwd mregex >/dev/null || \
6358fe4
	useradd -r -g mregex -d %{_localstatedir}/spool/milter-regex \
b3ba585
		-s /sbin/nologin -c "Regex Milter" mregex
b3ba585
exit 0
174e586
174e586
%post
549e679
%systemd_post milter-regex.service
174e586
174e586
%preun
549e679
%systemd_preun milter-regex.service
174e586
174e586
%postun
549e679
%systemd_postun_with_restart milter-regex.service
174e586
174e586
%files
0301d17
%license LICENSE
174e586
%{_sbindir}/milter-regex
e7f0a3b
%{_unitdir}/milter-regex.service
174e586
%config(noreplace) %{_sysconfdir}/sysconfig/milter-regex
174e586
%config(noreplace) %{_sysconfdir}/mail/milter-regex.conf
83fa828
%dir %attr(755,root,mregex) %{_localstatedir}/spool/milter-regex/
174e586
%ghost %{_localstatedir}/spool/milter-regex/sock
174e586
%{_mandir}/man8/milter-regex.8*
174e586
174e586
%changelog
d176761
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.6-2
d176761
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
d176761
3c1724a
* Mon Apr 29 2019 Paul Howarth <paul@city-fan.org> - 2.6-1
3c1724a
- Update to 2.6
3c1724a
  - Treat socket file name without prefix like local file
3c1724a
  - Make pid file writable only by root
3c1724a
7cbb9b2
* Tue Apr 23 2019 Paul Howarth <paul@city-fan.org> - 2.5-1
7cbb9b2
- Update to 2.5
7cbb9b2
  - Add -r option to write pid file, based on FreeBSD port patches
7cbb9b2
5e32608
* Wed Apr  3 2019 Paul Howarth <paul@city-fan.org> - 2.4-1
5e32608
- Update to 2.4
5e32608
  - Bug fix: for actions followed by multiple expressions (not just one
5e32608
    arbitrarily complex expression), when multiple expressions become defined
5e32608
    during the same sequence point, but with different values (e.g. one true,
5e32608
    another false), depending on the expression order, the action might not be
5e32608
    taken, when it should be
5e32608
  - Add -f option to set syslog facility
5e32608
83fa828
* Sun Mar 24 2019 Paul Howarth <paul@city-fan.org> - 2.2-3
83fa828
- Fix ownership of /var/spool/milter-regex so that dac_override isn't needed
83fa828
  (#1678040)
83fa828
679ae35
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.2-2
679ae35
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
679ae35
829e5ec
* Fri Aug 24 2018 Paul Howarth <paul@city-fan.org> - 2.2-1
829e5ec
- Update to 2.2
829e5ec
  - Add -U, -G, and -P options to set pipe user, group, and permissions
829e5ec
0d96eea
* Fri Aug 24 2018 Paul Howarth <paul@city-fan.org> - 2.1-1
0d96eea
- Update to 2.1
0d96eea
  - Default maximum log level to 6 (LOG_INFO), i.e. exclude LOG_DEBUG
0d96eea
- Upstream switched from benezedrine.cx to bezendrine.ch
0d96eea
ccecd4a
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.0-13
ccecd4a
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
ccecd4a
6a4e731
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.0-12
6a4e731
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
6a4e731
6358fe4
* Fri Jan 26 2018 Paul Howarth <paul@city-fan.org> - 2.0-11
6358fe4
- Drop dependencies on systemd-units and use %%{?systemd_requires} instead
6358fe4
- Use forward-looking conditionals
6358fe4
- List build requirements one per line
6358fe4
- Don't use full paths for commands in scriptlets, to improve readability
6358fe4
- Drop legacy Group: tag
6358fe4
f6e72f2
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.0-10
f6e72f2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
f6e72f2
47e9d10
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.0-9
47e9d10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
47e9d10
5e48217
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.0-8
5e48217
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
5e48217
1c5be52
* Fri Aug  5 2016 Paul Howarth <paul@city-fan.org> - 2.0-7
1c5be52
- sendmail-devel renamed to sendmail-milter-devel from Fedora 26
1c5be52
- Specify all build requirements
1c5be52
ee714f6
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.0-6
ee714f6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
ee714f6
83ac26d
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0-5
83ac26d
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
83ac26d
0301d17
* Mon Mar  2 2015 Paul Howarth <paul@city-fan.org> - 2.0-4
0301d17
- Use %%license
0301d17
4fc7127
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0-3
4fc7127
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
4fc7127
383dd2e
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0-2
383dd2e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
383dd2e
542bd18
* Mon Nov 25 2013 Paul Howarth <paul@city-fan.org> - 2.0-1
9d66dd0
- Update to 2.0
9d66dd0
  - Add -l option to specify maximum log level
9d66dd0
- Drop upstreamed cleanup and starttls patches
542bd18
322ed71
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.9-7
9d66dd0
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
322ed71
7b0ea80
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.9-6
9d66dd0
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
7b0ea80
4c67770
* Fri Sep  7 2012 Paul Howarth <paul@city-fan.org> - 1.9-5
9d66dd0
- Drop SysV-to-systemd migration support from F-18 onwards
9d66dd0
- Use systemd scriptlet macros for preset support (#850207)
4c67770
829fca1
* Fri Jul 20 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.9-4
9d66dd0
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
829fca1
8f77fea
* Tue Jul 17 2012 Paul Howarth <paul@city-fan.org> - 1.9-3
9d66dd0
- Add support for STARTTLS macro checking (#840665)
9d66dd0
- Defer dæmon startup until network is available
8f77fea
1513baa
* Fri Jan  6 2012 Paul Howarth <paul@city-fan.org> - 1.9-2
9d66dd0
- Rebuilt for gcc 4.7
1513baa
06e076c
* Tue Nov 22 2011 Paul Howarth <paul@city-fan.org> - 1.9-1
9d66dd0
- Update to 1.9
9d66dd0
  - Add -j option to chroot
9d66dd0
  - Improve building on various platforms
9d66dd0
  - Fix some typos in documentation and example config
9d66dd0
- Drop upstreamed strlcat patch
9d66dd0
- Drop gcc patch, no longer needed
9d66dd0
- Build with additional warnings enabled, and add patch to fix warnings where
06e076c
  possible (libmilter API is missing some 'const' attributes, so it's not
06e076c
  possible to get rid of all of them)
06e076c
41aad00
* Mon Jul 25 2011 Paul Howarth <paul@city-fan.org> - 1.8-4
41aad00
- Requires(post): systemd-sysv for sysv-to-systemd migration
41aad00
e7f0a3b
* Sat Jul 16 2011 Paul Howarth <paul@city-fan.org> - 1.8-3
9d66dd0
- Switch from SysV initscript to systemd unit file
9d66dd0
- Clean up for modern rpmbuild
9d66dd0
- Drop Sendmail references as the milter should work with Postfix too
9d66dd0
- Nobody else likes macros for commands
e7f0a3b
cdade1c
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.8-2
9d66dd0
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
cdade1c
bb31b40
* Fri Aug 13 2010 Paul Howarth <paul@city-fan.org> - 1.8-1
9d66dd0
- Update to 1.8 (log symbolic host name together with numeric IP address)
9d66dd0
- Add missing function strlcat from openbsd libc
9d66dd0
- Fix %%postun to restart the milter properly on package upgrades
9d66dd0
- Use %%{_initddir} rather than the deprecated %%{_initrddir} where possible
bb31b40
46de781
* Sat Jul 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.7-6
9d66dd0
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
46de781
194749d
* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.7-5
9d66dd0
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
194749d
e16af9b
* Fri Feb 13 2009 Paul Howarth <paul@city-fan.org> - 1.7-4
9d66dd0
- Rebuild for shared libmilter in Fedora 11 development
e16af9b
0a744b1
* Mon Feb 18 2008 Paul Howarth <paul@city-fan.org> - 1.7-3
9d66dd0
- Support config files with more than 507 rules (#304071)
0a744b1
c9ffdcf
* Wed Aug 22 2007 Paul Howarth <paul@city-fan.org> - 1.7-2
9d66dd0
- Rebuild for BuildID inclusion
c9ffdcf
  (http://fedoraproject.org/wiki/Releases/FeatureBuildId)
c9ffdcf
b3ba585
* Mon Aug  6 2007 Paul Howarth <paul@city-fan.org> - 1.7-1
9d66dd0
- Update to 1.7 (sendmail macro filtering support added)
9d66dd0
- Tarball now includes a versioned directory name
9d66dd0
- Split milter-regex.conf out from being a here document in the spec and have
b3ba585
  it as a separate source file instead
7cbb9b2
- Unexpand tabs
9d66dd0
- Use the standard scriptlet for user/group creation in %%pre
9d66dd0
- Use %%{_initrddir} rather than %%{_sysconfdir}/rc.d/init.d for initscript
9d66dd0
- Use %%{__install} rather than %%{__cp} in %%install
9d66dd0
- Drop scriptlet dependencies on /sbin/service by calling initscript directly
b3ba585
- LSB-ize initscript (#246983)
b3ba585
2a0fd92
* Wed Apr 18 2007 Paul Howarth <paul@city-fan.org> - 1.6-7
9d66dd0
- Add patch for compile errors on Fedora 7
9d66dd0
- Use sed rather than perl for quick scripted edits
2a0fd92
cbc38c7
* Tue Aug 29 2006 Paul Howarth <paul@city-fan.org> - 1.6-6
9d66dd0
- Rebuild for dynamic linking speedups (FE6)
cbc38c7
174e586
* Thu May 25 2006 Paul Howarth <paul@city-fan.org> - 1.6-5
174e586
- Address issues raised in review (#189611)
b3ba585
  - Add sendmail dependency
b3ba585
  - Honor %%{optflags}
174e586
174e586
* Fri Apr 21 2006 Paul Howarth <paul@city-fan.org> - 1.6-4
174e586
- Minor cosmetic changes for resubmission for Fedora Extras
174e586
174e586
* Fri Nov 18 2005 Paul Howarth <paul@city-fan.org> - 1.6-3
174e586
- Remove redundant ver_ and rel_ macros
174e586
- Don't include package name in the summary
174e586
- Use macros consistently
174e586
- Generate LICENSE file in %%prep rather than %%install
174e586
- Don't strip binary, so debuginfo package is useful
174e586
- Combine groupadd+useradd into a single useradd command
174e586
- Use /sbin/nologin for mregex shell instead of non-existent /bin/nologin
174e586
- Don't delete user+group on package removal (see
174e586
  http://www.redhat.com/archives/fedora-extras-commits/2005-June/msg00271.html)
174e586
- Install initscript in %%{_sysconfdir} rather than /etc/init.d
174e586
- Don't enable service by default on installation
174e586
- Add scriptlet dependencies
174e586
- Add buildreq groff
174e586
- Use full URL for source
174e586
- Edit username in man page as well as in code
174e586
- Use install rather than cp to install %%{SOURCE1} and %%{SOURCE2} so
174e586
  that permissions don't need to be set in SRPM
174e586
- Ghost the socket for clean package removal
9d66dd0
- Buildreq sendmail-devel ≥ 8.13.0 because of the use of SMFIF_QUARANTINE
174e586
- Use dist tag
174e586
174e586
* Tue Jan 25 2005 Victor Ramirez <vramirez@gmail.com> - 1.6-2 
174e586
- Initial rpm release
174e586
- Modified user and configuration file location.
174e586