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