%global commit 4e8295f31a951c5542e1c28a0b5fcd81d039143b
%global shortcommit %(c=%{commit}; echo ${c:0:7})
Summary: Milter to check mails for suspicious Microsoft VBA macro code
Name: macromilter
Version: 3.3
Release: 1.20171009git%{shortcommit}%{?dist}
License: MIT
URL: https://github.com/sbidy/MacroMilter
Source0: https://github.com/sbidy/MacroMilter/archive/%{commit}/MacroMilter-%{shortcommit}.tar.gz
Source1: macromilter.service
Source2: macromilter.logrotate
Patch0: macromilter-3.3-var-lib.patch
BuildArch: noarch
BuildRequires: python2-devel
BuildRequires: systemd
Requires(pre): shadow-utils
Requires(post): systemd
Requires(preun): systemd
Requires(postun): systemd
# No python3-pymilter package yet
%if 0%{?rhel} > 7 || 0%{?fedora} > 27
Requires: python2-pymilter
%else
Requires: python-pymilter
%endif
Requires: python2-oletools
%if 0%{?fedora}
Requires: python2-configparser
%else
Requires: python-configparser
%endif
%description
Python based milter for Sendmail and Postfix MTA servers to check incoming
e-mails for Microsoft Office attachments. If a Microsoft Office document is
attached to the e-mail, it will be scanned for suspicious VBA macro code.
Files with malicious macros are, depending on configuration, either removed
and replaced by harmless text files or alternatively the whole e-mail will
be rejected.
%prep
%setup -q -n MacroMilter-%{commit}
%patch0 -p1 -b .var-lib
%build
# Empty build section, most likely nothing required.
%install
install -D -p -m 755 macromilter/macromilter.py $RPM_BUILD_ROOT%{_bindir}/%{name}
sed -e '1i #!%{_bindir}/python2\n' -i $RPM_BUILD_ROOT%{_bindir}/%{name}
touch -c -r macromilter/macromilter.py $RPM_BUILD_ROOT%{_bindir}/%{name}
install -D -p -m 644 macromilter/config.ini $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/config.ini
install -D -p -m 644 %{SOURCE1} $RPM_BUILD_ROOT%{_unitdir}/%{name}.service
install -D -p -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/%{name}
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/{lib,log}/%{name}/
%pre
getent group %{name} > /dev/null || %{_sbindir}/groupadd -r %{name}
getent passwd %{name} > /dev/null || %{_sbindir}/useradd -r -g %{name} -d %{_localstatedir}/lib/%{name} -s /sbin/nologin -c "MacroMilter service" %{name}
exit 0
%post
%systemd_post %{name}.service
%preun
%systemd_preun %{name}.service
%postun
%systemd_postun_with_restart %{name}.service
%files
%license LICENSE.md
%doc README.md
%{_bindir}/%{name}
%dir %{_sysconfdir}/%{name}/
%config(noreplace) %{_sysconfdir}/%{name}/config.ini
%dir %{_sysconfdir}/logrotate.d/
%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
%{_unitdir}/%{name}.service
%dir %attr(750,%{name},%{name}) %{_localstatedir}/lib/%{name}/
%dir %attr(750,%{name},%{name}) %{_localstatedir}/log/%{name}/
%changelog
* Mon Oct 09 2017 Robert Scheck <robert@fedoraproject.org> 3.3-1.20171009git4e8295f
- Upgrade to 3.3 (GIT 20171009)
* Sat Oct 07 2017 Robert Scheck <robert@fedoraproject.org> 3.3-1.20171007giteae1667
- Upgrade to 3.3 (GIT 20171007)
- Initial spec file for Fedora and Red Hat Enterprise Linux