File postgrey.spec of Package postgrey

#
# spec file for package postgrey (Version 1.32)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#

# norootforbuild


Name:           postgrey
Requires:       perl >= 5.6.0, perl-BerkeleyDB perl-IO-Multiplex perl-Net-Server
%if 0%{?suse_version} >= 1000
Suggests:       cron
%endif
PreReq:         %insserv_prereq, %fillup_prereq /usr/sbin/useradd
License:        GPL v2 or later
Group:          Productivity/Networking/Email/Utilities
Summary:        Postfix greylisting policy server
Version:        1.36
Release:        0
Url:            http://postgrey.schweikert.ch/
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
Source0:        http://postgrey.schweikert.ch/pub/%name-%{version}.tar.bz2
Source1:        %{name}.init
Source2:        %{name}.sysconfig
Source3:        %{name}.README.SUSE
Source4:        %{name}_daily_greylist.crontab
Source5:        http://lists.ee.ethz.ch/p/postgrey_clients_dump
Patch0:         %{name}-1.32-config.patch
Patch1:         %{name}-1.34-goupid.patch
Patch2:         postgrey_clients_dump.patch
Patch3:         %{name}-1.34-config.patch
Patch4:         %{name}-1.36-config.patch

%description
Postgrey is a Postfix policy server implementing greylisting. When a
request for delivery of a mail is received by Postfix via SMTP, the
triplet CLIENT_IP / SENDER / RECIPIENT is built. If it is the first
time that this triplet is seen, or if the triplet was first seen less
than 5 minutes, then the mail gets rejected with a temporary error.
Hopefully spammers or viruses will not try again later, as it is
however required per RFC.

The following features compared with greylist.pl from Postfix 2.1.1 are
new: Safe database, automatic maintenance, whitelists, lookup by
subnet, auto-whitelisting of clients, only Berkeley DB and no large
mysql nor postgresql DB needed.



Authors:
--------
    David Schweikert <david@schweikert.ch>

%prep
%setup
mkdir examples
cp %{SOURCE5} examples
%patch0 -p1
%patch1 -p1
%patch2 -p0
%patch3 -p1
%patch4 -p1
cp %{SOURCE3} README.SUSE

%build
pod2man -s 8 postgrey > postgrey.8
pod2man -s 8 contrib/postgreyreport > postgreyreport.8

%install
# the binaries
install -d %{buildroot}/%{_sbindir}
install -m 0755 postgrey %{buildroot}/%{_sbindir}/%{name}
install -m 0755 contrib/postgreyreport %{buildroot}/%{_sbindir}/postgreyreport
# manual
install -d %{buildroot}/%{_mandir}/man8
install -m 0644 %{name}.8 %{buildroot}%{_mandir}/man8/%{name}.8
install -m 0644 postgreyreport.8 %{buildroot}%{_mandir}/man8/postgreyreport.8
# configuration
install -d %{buildroot}/%{_sysconfdir}/%{name}
install -m 0644 postgrey_whitelist_clients %{buildroot}/%{_sysconfdir}/%{name}/whitelist_clients
install -m 0644 postgrey_whitelist_recipients %{buildroot}/%{_sysconfdir}/%{name}/whitelist_recipients
touch whitelist_clients.local
install -m 0644 whitelist_clients.local %{buildroot}/%{_sysconfdir}/%{name}
# init file and configuration
install -D %{SOURCE1} $RPM_BUILD_ROOT/etc/init.d/%{name}
ln -sf /etc/init.d/%{name} $RPM_BUILD_ROOT/usr/sbin/rc%{name}
install -D -m 644 %{SOURCE2} %{buildroot}/var/adm/fillup-templates/sysconfig.%{name}
# queue directory
install -d %{buildroot}/%{_var}/lib/%{name}
# directory for socket
install -d -m 0775 %{buildroot}/%{_var}/spool/postfix/%{name}
# some helper tools
install -m 0644 %{SOURCE4} .

%pre
/usr/sbin/useradd --system -g nogroup -s /bin/false -c "Postgrey Daemon" -d /var/lib/%{name} %{name} 2> /dev/null || :

%preun
%stop_on_removal %{name}

%post
%{fillup_and_insserv %{name}}

%postun
%restart_on_update %{name}
%{insserv_cleanup}
%verifyscript

%files
%defattr(-,root,root)
%dir %{_sysconfdir}/%{name}
%config(noreplace) %{_sysconfdir}/%{name}/whitelist_recipients
%config(noreplace) %{_sysconfdir}/%{name}/whitelist_clients
%config(noreplace) %{_sysconfdir}/%{name}/whitelist_clients.local
%config %attr(0755,root,root) /etc/init.d/%{name}
%{_sbindir}/%{name}
%{_sbindir}/postgreyreport
%{_sbindir}/rc%{name}
%dir %attr(0755,postgrey,postfix) %{_var}/lib/%{name}
/var/adm/fillup-templates/sysconfig.%{name}
%dir %attr(0755,postfix,postfix) %{_var}/spool/postfix
%dir %attr(0770,postgrey,postfix) %{_var}/spool/postfix/%{name}
%doc %{_mandir}/man?/*
%doc Changes COPYING README README.SUSE examples %{name}_daily_greylist.crontab

%changelog
* Thu Aug 21 2008 kssingvo@suse.de
- fixed specfile: "Suggests:" cannot be used for SLES9
* Wed Aug 20 2008 kssingvo@suse.de
- update to version 1.32:
  * fixed recipients whitelisting
  * added --syslog-facility option
  * add support for BATV
  * updated whitelist
* Thu Apr 10 2008 kssingvo@suse.de
- added postgrey_daily_greylist.crontab script
- added postgrey_clients_dump script
* Wed Apr 02 2008 kssingvo@suse.de
- fixes for init file:
  * no pid file needed
  * sysconfig variable used after sysconfig is read
- sysconfig file:
  * fix for location of UNIX-domain socket location
- daemon:
  * no more uid postfix needed
  * using gid postfix instead (more secure?)
- run:
  * postfix subdirectory required for UNIX-domain socket location
- updated README.SUSE: a working version now
* Tue Apr 01 2008 kssingvo@suse.de
- changed init-/sysconfig-file
- updated README.SUSE
* Mon Mar 31 2008 kssingvo@suse.de
- changed system config directories to /etc/postgrey
- using own user (postgrey) for service now
- added small documenation file for SUSE distribution
* Mon Mar 31 2008 kssingvo@suse.de
- initial version 1.31
openSUSE Build Service is sponsored by