# Only Fedora & RHEL 5+ can use selinux %if 0%{?rhel} && "%rhel" < "5" %define without_selinux 1 %endif %define selinux_variants mls strict targeted Name: queuegraph Version: 1.1 Release: 23%{?dist} Summary: A RRDtool frontend for Mail statistics Group: System Environment/Daemons License: GPL+ URL: http://www.arschkrebs.de/postfix/queuegraph/ Source0: http://www.arschkrebs.de/postfix/queuegraph/queuegraph.tar.gz Source1: queuegraph.conf Source2: queuegraph.cron Source3: queuegraph.te Source4: queuegraph.fc Source5: queuegraph.if Patch0: queuegraph-paths.patch Patch1: queuegraph-average.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) %if ! 0%{?without_selinux} BuildRequires: checkpolicy, selinux-policy-devel, hardlink %endif Requires: rrdtool, httpd, dailyjobs Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) #BuildArch: noarch %description Queuegraph is a very simple mail statistics RRDtool frontend for Postfix that produces daily, weekly, monthly and yearly graphs of Postfix's active, deferred, incoming and bounce queues. %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 queuegraph. %endif %prep %setup -q -n %{name} %patch0 -p1 -b .paths %patch1 -p1 -b .average %if ! 0%{?without_selinux} mkdir selinux cp -p %{SOURCE3} %{SOURCE4} %{SOURCE5} ./selinux/ %endif %build %if ! 0%{?without_selinux} 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 - %endif %install rm -rf $RPM_BUILD_ROOT %{__install} -d -m 0755 $RPM_BUILD_ROOT/%{_sbindir} %{__install} -d -m 0755 $RPM_BUILD_ROOT/%{_sysconfdir}/httpd/conf.d %{__install} -d -m 0755 $RPM_BUILD_ROOT/%{_sysconfdir}/cron.d %{__install} -d -m 0755 $RPM_BUILD_ROOT/%{_datadir}/queuegraph %{__install} -d -m 0755 $RPM_BUILD_ROOT/%{_localstatedir}/lib/queuegraph %{__install} -d -m 0775 $RPM_BUILD_ROOT/%{_localstatedir}/cache/queuegraph %{__install} -p -m 0755 queuegraph.cgi $RPM_BUILD_ROOT/%{_datadir}/queuegraph/queuegraph.cgi %{__install} -p -m 0755 queuegraph-rrd.sh $RPM_BUILD_ROOT/%{_sbindir}/ %{__install} -p -m 0644 %SOURCE1 $RPM_BUILD_ROOT/%{_sysconfdir}/httpd/conf.d/ %{__install} -p -m 0644 %SOURCE2 $RPM_BUILD_ROOT/%{_sysconfdir}/cron.d/queuegraph %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 %if ! 0%{?without_selinux} %post selinux for selinuxvariant in %{selinux_variants}; do /usr/sbin/semodule -s ${selinuxvariant} -i \ %{_datadir}/selinux/${selinuxvariant}/%{name}.pp &> /dev/null || : done # Fix up non-standard file contexts /sbin/fixfiles -R %{name} restore || : /sbin/restorecon -R %{_localstatedir}/cache/%{name} || : %postun selinux # Clean up after package removal if [ $1 -eq 0 ]; then # Remove SELinux policy modules for selinuxvariant in %{selinux_variants} do /usr/sbin/semodule -s ${selinuxvariant} -r %{name} &> /dev/null || : done /sbin/fixfiles -R %{name} restore || : # Clean up any remaining file contexts (shouldn't be any really) [ -d %{_localstatedir}/cache/%{name} ] && \ /sbin/restorecon -R %{_localstatedir}/cache/%{name} &> /dev/null || : fi %endif %files %defattr(-,root,root,-) %doc README %dir %{_localstatedir}/lib/queuegraph %dir %attr(0775,root,apache) %{_localstatedir}/cache/queuegraph %config(noreplace) %{_sysconfdir}/httpd/conf.d/queuegraph.conf %config(noreplace) %{_sysconfdir}/cron.d/queuegraph %{_sbindir}/* %{_datadir}/queuegraph %if ! 0%{?without_selinux} %files selinux %defattr(-,root,root,-) %{_datadir}/selinux/*/%{name}.pp %doc selinux/* %endif %changelog * Thu Feb 04 2016 Fedora Release Engineering - 1.1-23 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild * Thu Jun 18 2015 Fedora Release Engineering - 1.1-22 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild * Wed Jun 03 2015 Jitka Plesnikova - 1.1-21 - Perl 5.22 rebuild * Sun Sep 14 2014 Bernard Johnson - 1.1-21 - rebuild to fix dependency on perl(:MODULE_COMPAT_5.18.0) - fix FTBFS: queuegraph-1.1-18.fc21: unknown type httpd_queuegraph_script_t (bz#1059123) - trim changelog to last 2 years * Thu Aug 28 2014 Jitka Plesnikova - 1.1-20 - Perl 5.20 rebuild * Sun Jun 08 2014 Fedora Release Engineering - 1.1-19 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild * Sun Aug 04 2013 Fedora Release Engineering - 1.1-18 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild * Thu Jul 18 2013 Petr Pisar - 1.1-17 - Perl 5.18 rebuild * Thu Feb 14 2013 Fedora Release Engineering - 1.1-16 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild * Mon Dec 24 2012 Bernard Johnson - 1.1-15 - updated httpd configuration for apache 2.4 (bz #871472) * Fri Nov 23 2012 Marcela Mašláňová - 1.1-14 - The requirement on vixie-cron is not correct anymore. The dailyjobs will be used as virtual requirement since now. #879550