Blob Blame History Raw
%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