File python-policyd-spf.spec of Package python-policyd-spf

%define mod_name    pypolicyd-spf
%define name    python-policyd-spf
%define version 1.3.1
%define release 1
%define prefix  %{_prefix}

Summary:       This is a pure-Python Postfix policy daemon for SPF checking
Name:          %{name}
Version:       %{version}
Release:       6.5
License:       GPL
Group:         Development/Libraries/Python
#Group:         Applications/System
URL:           http://www.openspf.org/Software
Source:        pypolicyd-spf-%{version}.tar.gz
#BuildRoot:     /var/tmp/%{name}-root
#BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-build-%(%{__id_u} -n)
BuildRoot:	%{_tmppath}/%{name}-%{version}-buildroot
BuildRequires:  python-devel coreutils pkgconfig
%if 0%{?suse_version}
%{py_requires}
%endif
Requires:      python-pyspf 
Requires:      postfix >= 2.1
BuildArch:     noarch

Packager:      Sebastijan Silec <sebastijan.silec@agenda.si>


%description
 python-policyd-spf is a Postfix SMTPd policy engine for SPF checking.
 It is implemented in pure Python and uses the python-spf module.  The SPF
 web site is http://www.openspf.org/.  The Postfix configuration must be
 changed to check SPF.  See man 1 python-policyd-spf for 
 details.RPM

Authors:	Agenda d.o.o. (Sebastijan Silec) 


%prep
#%setup -n pypolicyd-spf-%{version}
%setup -n pypolicyd-spf-%{version}
#%setup
%build

%install
#[ -n "$RPM_BUILD_ROOT" -a "$RPM_BUILD_ROOT" != / ] && rm -rf "$RPM_BUILD_ROOT"

#  make directories

%if 0%{?suse_version}
%if %suse_version >= 1100
mkdir "$RPM_BUILD_ROOT"/usr
mkdir "$RPM_BUILD_ROOT"/usr/lib
mkdir "$RPM_BUILD_ROOT"/usr/lib/policyd-spf
mkdir "$RPM_BUILD_ROOT"/usr/lib/policyd-spf/config
mkdir "$RPM_BUILD_ROOT"/usr/lib/policyd-spf/data
mkdir "$RPM_BUILD_ROOT"/usr/sbin
mkdir "$RPM_BUILD_ROOT"/usr/share
mkdir "$RPM_BUILD_ROOT"/usr/share/man
mkdir "$RPM_BUILD_ROOT"/usr/share/man/man1
mkdir "$RPM_BUILD_ROOT"/usr/share/man/man5
#mkdir -p "$RPM_BUILD_ROOT"/usr/sbin
%else
mkdir -p "$RPM_BUILD_ROOT"/usr/lib/policyd-spf
mkdir -p "$RPM_BUILD_ROOT"/usr/lib/policyd-spf/config
mkdir -p "$RPM_BUILD_ROOT"/usr/lib/policyd-spf/data
mkdir -p "$RPM_BUILD_ROOT"/usr/sbin
mkdir -p "$RPM_BUILD_ROOT"/usr/share/man/man1
mkdir -p "$RPM_BUILD_ROOT"/usr/share/man/man5
%endif
%else
mkdir -p "$RPM_BUILD_ROOT"/usr/lib/policyd-spf
mkdir -p "$RPM_BUILD_ROOT"/usr/lib/policyd-spf/config
mkdir -p "$RPM_BUILD_ROOT"/usr/lib/policyd-spf/data
mkdir -p "$RPM_BUILD_ROOT"/usr/sbin
mkdir -p "$RPM_BUILD_ROOT"/usr/share/man/man1
mkdir -p "$RPM_BUILD_ROOT"/usr/share/man/man5
%endif

#  copy over files
for file in policyd-spf setup.py policydspfsupp.py
do
   cp "$file" "$RPM_BUILD_ROOT"/usr/lib/policyd-spf/
done
cp policyd-spf.conf "$RPM_BUILD_ROOT"/usr/lib/policyd-spf/config/
cp policyd-spf.conf.commented "$RPM_BUILD_ROOT"/usr/lib/policyd-spf/config/

#  link external programs to /usr/sbin
#ln -s /usr/lib/policyd-spf/policyd-spf "$RPM_BUILD_ROOT"/usr/bin/policyd-spf

#  set up manpages
cp policyd-spf.1 "$RPM_BUILD_ROOT"%{_mandir}/man1/
cp policyd-spf.conf.5 "$RPM_BUILD_ROOT"%{_mandir}/man5/

#  replace pieces in code that need to reflect new directories
(
   cd "$RPM_BUILD_ROOT"/usr/lib/policyd-spf/
   sed 's|^sys.path.append.*|sys.path.append("/usr/lib/policyd-spf")|' \
      policyd-spf >policyd-spf.new && \
      cat policyd-spf.new >policyd-spf && \
      rm -f policyd-spf.new
#   sed 's|^sys.path.append.*|sys.path.append("/usr/lib/policyd-spf")|' \
#      policyd-spf-stat >policyd-spf-stat.new && \
#      cat policyd-spf-stat.new >policyd-spf-stat && \
#      rm -f policyd-spf-stat.new
   sed 's|^defaultConfigFilename.*|defaultConfigFilename = \
      "/usr/lib/policyd-spf/config/policyd-spf.conf"|' \
      policydspfsupp.py >policydspfsupp.py.new && \
      cat policydspfsupp.py.new >policydspfsupp.py && \
      rm -f policydspfsupp.py.new

   cd "$RPM_BUILD_ROOT"/usr/lib/policyd-spf/config/
   sed 's|^spfqueryPath.*|spfqueryPath = "/usr/bin/spfquery"|' \
      policyd-spf.conf | \
      sed 's|^configPath.*|configPath = "file:///usr/lib/policyd-spf/config"|' \
      >policyd-spf.conf.new && \
      cat policyd-spf.conf.new >policyd-spf.conf && \
      rm -f policyd-spf.conf.new
)

%if 0%{?suse_version}
%if %suse_version >= 1100
chmod ugo+X "$RPM_BUILD_ROOT"/usr/lib/policyd-spf/config/*
%endif
%endif


%post
#  link external programs to /usr/bin
ln -s /usr/lib/policyd-spf/policyd-spf /usr/bin/policyd-spf
ln -s /usr/lib/policyd-spf/ /etc/policyd-spf
%if 0%{?suse_version}
%if %suse_version >= 1100
chmod ugo+X /usr/lib/policyd-spf/config/*
chmod ugo+X /usr/share/doc/packages/python-policyd-spf/README
chmod ugo+X /usr/share/doc/packages/python-policyd-spf/README.per_user_whitelisting
chmod ugo+X /usr/share/doc/packages/python-policyd-spf/LICENSE
chmod ugo+X /usr/share/doc/packages/python-policyd-spf/CHANGES
chmod ugo+X /usr/share/doc/packages/python-policyd-spf/TODO
chmod ugo+X /usr/share/man/man1/policyd-spf.1.gz
chmod ugo+X /usr/share/man/man5/policyd-spf.conf.5.gz
%endif
%endif

%postun
#  rm link to /usr/bin/ external programs
rm /usr/bin/policyd-spf
rm /etc/policyd-spf

%clean
[ -n "$RPM_BUILD_ROOT" -a "$RPM_BUILD_ROOT" != / ] && rm -rf "$RPM_BUILD_ROOT"

%files
%defattr(755,root,root)
#/usr/lib/policyd-spf
#/usr/sbin/*
%attr(755,nobody,root)/usr/lib/policyd-spf/policyd-spf
%attr(644,nobody,root)/usr/lib/policyd-spf/policydspfsupp.py
%attr(755,nobody,root)/usr/lib/policyd-spf/setup.py

#%dir /usr/lib/policyd-spf
#%dir /usr/lib/policyd-spf/config
#%config /usr/lib/policyd-spf/config/policyd-spf.conf
#%config /usr/lib/policyd-spf/config/policyd-spf.conf.commented
%attr(644,nobody,root)%config/usr/lib/policyd-spf/config/policyd-spf.conf
%attr(644,nobody,root)%config/usr/lib/policyd-spf/config/policyd-spf.conf.commented
%attr(700,nobody,root)/usr/lib/policyd-spf/data
%attr(644,nobody,root)%doc README README.per_user_whitelisting LICENSE CHANGES TODO
%attr(644,nobody,root)%{_mandir}/man1/policyd-spf.1.gz
%attr(644,nobody,root)%{_mandir}/man5/policyd-spf.conf.5.gz

%changelog -n python-policyd-spf
#
#* Fri Aug 15 2008 - Boyd Lynn Gerber <gerberb@zenez.com> 0.7.1-1
#- Updated to 0.7.1 for openSUSE Build Service
#* Wed Jul 13 2011 - Sebastijan Silec 0.8.1
#- Update to version 0.8.1 
openSUSE Build Service is sponsored by