Sophie

Sophie

distrib > Fedora > 13 > i386 > media > updates-src > by-pkgid > 2236782e7a7a00cfa3ac3ccaf84fe779 > files > 6

mailgraph-1.14-8.fc13.src.rpm

# Only Fedora & RHEL 5+ can use selinux
%if 0%{?rhel} && "%rhel" < "5"
%define without_selinux 1
%endif

%define selinux_variants mls strict targeted

Name:           mailgraph
Version:        1.14
Release:        8%{?dist}%{?repotag:.%{repotag}}
Summary:        A RRDtool frontend for Mail statistics

Group:          System Environment/Daemons
License:        GPL+

URL:            http://mailgraph.schweikert.ch/
Source0:        http://mailgraph.schweikert.ch/pub/%{name}-%{version}.tar.gz
Source1:        mailgraph.init
Source2:        mailgraph.conf
Source3:        mailgraph.sysconfig
Source4:        mailgraph.te
Source5:        mailgraph.fc
Source6:        mailgraph.if
Patch0:         paths.patch
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

%if ! 0%{?without_selinux}
BuildRequires:  checkpolicy, selinux-policy-devel, hardlink
%endif

Requires:       perl(File::Tail), rrdtool, httpd
Requires:       perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
Requires:       initscripts

BuildArch:      noarch

%description
Mailgraph is a very simple mail statistics RRDtool frontend for Postfix and
Sendmail that produces daily, weekly, monthly and yearly graphs of
received/sent and bounced/rejected mail.

%if ! 0%{?without_selinux}
%package selinux
Summary:        A RRDtool frontend for Mail statistics

Group:          System Environment/Daemons
%define selinux_policyver %(sed -e 's,.*selinux-policy-\\([^/]*\\)/.*,\\1,' /usr/share/selinux/devel/policyhelp) 
%if "%{selinux_policyver}" != ""
Requires:       selinux-policy >= %{selinux_policyver}
%endif
Requires:       %{name} = %{version}-%{release}

Requires(post):   /usr/sbin/semodule, /sbin/restorecon, /sbin/fixfiles, %{name}
Requires(postun): /usr/sbin/semodule, /sbin/restorecon, /sbin/fixfiles, %{name}

%description selinux
This is the selinux policy for mailgraph.
%endif


%prep
%setup -q
%patch0 -p1 -b .paths

%if ! 0%{?without_selinux}
mkdir selinux
cp -p %{SOURCE4} %{SOURCE5} %{SOURCE6} ./selinux/
%endif

%build
cd selinux
for selinuxvariant in %{selinux_variants}; do
  make NAME=${selinuxvariant} -f %{_datadir}/selinux/devel/Makefile
  mv %{name}.pp %{name}.pp.${selinuxvariant}
  make NAME=${selinuxvariant} -f %{_datadir}/selinux/devel/Makefile clean
done
cd -

%install
rm -rf $RPM_BUILD_ROOT
%{__install} -d -m 0755 $RPM_BUILD_ROOT/%{_sbindir}
%{__install} -d -m 0755 $RPM_BUILD_ROOT/%{_initrddir}
%{__install} -d -m 0755 $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig
%{__install} -d -m 0755 $RPM_BUILD_ROOT/%{_sysconfdir}/httpd/conf.d
%{__install} -d -m 0755 $RPM_BUILD_ROOT/%{_datadir}/mailgraph
%{__install} -d -m 0755 $RPM_BUILD_ROOT/%{_localstatedir}/lib/mailgraph
%{__install} -d -m 0775 $RPM_BUILD_ROOT/%{_localstatedir}/cache/mailgraph

%{__install} -p -m 0755 mailgraph.cgi $RPM_BUILD_ROOT/%{_datadir}/mailgraph
%{__install} -p -m 0644 mailgraph.css $RPM_BUILD_ROOT/%{_datadir}/mailgraph
%{__install} -p -m 0755 mailgraph.pl $RPM_BUILD_ROOT/%{_sbindir}/mailgraph
%{__install} -p -m 0755 %SOURCE1 $RPM_BUILD_ROOT/%{_initrddir}/mailgraph
%{__install} -p -m 0644 %SOURCE2 $RPM_BUILD_ROOT/%{_sysconfdir}/httpd/conf.d/
%{__install} -p -m 0644 %SOURCE3 $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/mailgraph

%if ! 0%{?without_selinux}
cd selinux
for selinuxvariant in %{selinux_variants}; do
  install -d $RPM_BUILD_ROOT/%{_datadir}/selinux/${selinuxvariant}
  install -p -m 644 %{name}.pp.${selinuxvariant} \
    $RPM_BUILD_ROOT/%{_datadir}/selinux/${selinuxvariant}/%{name}.pp
done
cd -

# Hardlink identical policy module packages together
/usr/sbin/hardlink -cv $RPM_BUILD_ROOT/%{_datadir}/selinux
%endif

%clean
rm -rf $RPM_BUILD_ROOT

%post
/sbin/chkconfig --add %{name} 2>&1 > /dev/null || :

if [ "$1" -ge "1" ]; then
  /sbin/service %{name} condrestart 2>&1 > /dev/null || :
fi

%preun
if [ $1 = 0 ]; then
  /sbin/service %{name} stop 2>&1 > /dev/null || :
  /sbin/chkconfig --del %{name} 2>&1 > /dev/null || :
fi
exit 0

%postun
if [ "$1" -ge "1" ]; then
  /sbin/service %{name} condrestart 2>&1 > /dev/null || :
fi

%if ! 0%{?without_selinux}
%post selinux
/sbin/service %{name} status &> /dev/null ||:
STATUS=$?

if [ $STATUS -eq 0 ]; then
  /sbin/service %{name} stop &> /dev/null ||:
fi

for selinuxvariant in %{selinux_variants}; do
  /usr/sbin/semodule -s ${selinuxvariant} -i \
    %{_datadir}/selinux/${selinuxvariant}/%{name}.pp &> /dev/null || :
done

if [ $STATUS -eq 0 ]; then
  /sbin/service %{name} start &> /dev/null ||:
fi

# Fix up non-standard file contexts
/sbin/fixfiles -R %{name} restore || :
/sbin/restorecon -R %{_localstatedir}/cache/%{name} || :
/sbin/restorecon -R %{_localstatedir}/lib/%{name} || :

%postun selinux
# Clean up after package removal
if [ $1 -eq 0 ]; then
  /sbin/service %{name} status &> /dev/null ||:
  STATUS=$?

  if [ $STATUS -eq 0 ]; then
    /sbin/service %{name} stop &> /dev/null ||:
  fi

  # Remove SELinux policy modules
  for selinuxvariant in %{selinux_variants}
  do
    /usr/sbin/semodule -s ${selinuxvariant} -r %{name} &> /dev/null || :
  done

  if [ $STATUS -eq 0 ]; then
    /sbin/service %{name} start &> /dev/null ||:
  fi

  /sbin/fixfiles -R %{name} restore || :

  # Clean up any remaining file contexts
  [ -d %{_localstatedir}/cache/%{name} ] && \
    /sbin/restorecon -R %{_localstatedir}/cache/%{name} &> /dev/null || :
  [ -d %{_localstatedir}/lib/%{name} ] && \
    /sbin/restorecon -R %{_localstatedir}/lib/%{name} &> /dev/null || :
fi
%endif

%files
%defattr(-,root,root,-)
%dir %{_localstatedir}/lib/mailgraph
%dir %attr(0775,root,apache) %{_localstatedir}/cache/mailgraph
%{_sbindir}/*
%{_datadir}/mailgraph
%{_initrddir}/mailgraph
%config(noreplace) %{_sysconfdir}/sysconfig/mailgraph
%config(noreplace) %{_sysconfdir}/httpd/conf.d/mailgraph.conf
%doc CHANGES COPYING README

%if ! 0%{?without_selinux}
%files selinux
%defattr(-,root,root,-)
%{_datadir}/selinux/*/%{name}.pp
%doc selinux/*
%endif

%changelog
* Sat Oct 02 2010 Mark Chappell <tremble@fedoraproject.org> - 1.14-8
- SELinux policy did not set the context on RRD files (bz #566513)

* Wed Feb 03 2010 Bernard Johnson <bjohnson@symetrix.com> - 1.14-6
- Mailgraph does not include mailgraph.css (bz #561375)

* Sat Jul 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.14-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild

* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.14-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild

* Tue Sep 30 2008 Bernard Johnson <bjohnson@symetrix.com> - 1.14-3
- fix patch fuzz

* Thu Mar 06 2008 Tom "spot" Callaway <tcallawa@redhat.com> - 1.14-2
Rebuild for new perl

* Tue Oct 30 2007 Bernard Johnson <bjohnson@symetrix.com> - 1.14-1
- v 1.14
- fix broken URLs (bz #251280)
- selinux policy fu (bz #243302)
- Mailgraph needs AddHandler cgi-script .cgi (bz #289021)
- Make initscript LSB compliant (bz #246977)

* Sun Mar 25 2007 Bernard Johnson <bjohnson@symetrix.com> - 1.12-5
- require initscripts because initfile uses daemon function
- use perl(...) requires (bz #233769)
- use /sbin/service instead of invoking initscript directly
- one line under %%files to own both %%{_datadir} and files below it

* Sun Jan 28 2007 Bernard Johnson <bjohnson@symetrix.com> - 1.12-4
- replace %%{_var} with %%{_localstatedir}

* Sun Jan 28 2007 Bernard Johnson <bjohnson@symetrix.com> - 1.12-3
- consistent use of mode in creating directories
- add Requires for httpd
- preserve timestamps on install

* Sat Jan 27 2007 Bernard Johnson <bjohnson@symetrix.com> - 1.12-2
- add Requires(preun), Requires(post) for chkconfig

* Sat Jan 13 2007 Bernard Johnson <bjohnson@symetrix.com> - 1.12-1
- initial release