diff dnsbl.spec.in @ 370:5380552644e2

RHEL7 systemd and /var/run on tmpfs
author Carl Byington <carl@five-ten-sg.com>
date Tue, 07 Feb 2017 18:09:52 -0800
parents 354b15b8b263
children df7dc6b2b153
line wrap: on
line diff
--- a/dnsbl.spec.in	Tue Jan 17 14:13:41 2017 -0800
+++ b/dnsbl.spec.in	Tue Feb 07 18:09:52 2017 -0800
@@ -17,15 +17,22 @@
 Requires(post,preun):   /sbin/service
 BuildRequires:          sendmail-devel >= 8.12.1
 BuildRequires:          glibc-devel
-%if 0%{?fedora} >= 14
-BuildRequires:          glibc-static
-%endif
-%if 0%{?el6}
+%if "%{?dist}" == ".el6"
 BuildRequires:          glibc-static
 %endif
 Requires:               sendmail >= 8.12.1
 Requires:               sendmail-cf
 Requires:               spamassassin
+%if "%{?dist}" == ".el7"
+Requires(pre):  systemd-sysv, shadow-utils
+Requires(post): systemd-units
+Requires(preun):  systemd-units
+Requires(postun): systemd-units
+Requires:       coreutils
+Requires:       systemd-units
+BuildRequires:  systemd-units
+BuildRequires:  glibc-static
+%endif
 
 
 %description
@@ -57,13 +64,24 @@
 make %{?_smp_mflags}
 
 %install
-rm -rf $RPM_BUILD_ROOT
-make DESTDIR=$RPM_BUILD_ROOT install
-mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d
-mv -f $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/%{name} $RPM_BUILD_ROOT/etc/rc.d/init.d
-mkdir -p $RPM_BUILD_ROOT/var/run/%{name}
-mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/autowhite
-mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/.spamassassin
+rm -rf %{buildroot}
+make DESTDIR=%{buildroot} install
+mkdir -p %{buildroot}%{_sysconfdir}/%{name}/autowhite
+mkdir -p %{buildroot}%{_sysconfdir}/%{name}/.spamassassin
+%if "%{?dist}" == ".el7"
+install -m 644 -D %{buildroot}%{_sysconfdir}/%{name}/%{name}.service \
+    %{buildroot}%{_unitdir}/%{name}.service
+install -m 755 -d %{buildroot}%{_prefix}/lib/tmpfiles.d
+install -m 644    %{buildroot}%{_sysconfdir}/%{name}/%{name}-tmpfs.conf \
+    %{buildroot}%{_prefix}/lib/tmpfiles.d/%{name}.conf
+%else
+install -m 755 -D %{buildroot}%{_sysconfdir}/%{name}/%{name} \
+    %{buildroot}%{_initrddir}/%{name}
+%endif
+mkdir -p %{buildroot}/var/run/%{name}
+rm -f  %{buildroot}%{_sysconfdir}/%{name}/%{name}
+rm -f  %{buildroot}%{_sysconfdir}/%{name}/%{name}.service
+rm -f  %{buildroot}%{_sysconfdir}/%{name}/%{name}-tmpfs.conf
 
 
 %pre
@@ -71,23 +89,44 @@
 
 
 %post
+if [ $1 = 1 ]; then
+    # initial install
+%if "%{?dist}" == ".el7"
+    /bin/systemctl daemon-reload &>/dev/null || :
+%else
 /sbin/chkconfig --add %{name}
+%endif
 echo Remember to edit %{_sysconfdir}/%{name}/%{name}.conf and add the following line to your sendmail.mc:
 echo "INPUT_MAIL_FILTER(\`dnsbl', \`S=local:/var/run/dnsbl/dnsbl.sock, F=T, T=C:30s;S:5m;R:5m;E:5m')"
 echo
-
+fi
 
 %preun
-[ $1 = 0 ] && /sbin/service %{name} stop    || :
-[ $1 = 0 ] && /sbin/chkconfig --del %{name} || :
+if [ $1 = 0 ]; then
+    # package removal, not upgrade
+%if "%{?dist}" == ".el7"
+    /bin/systemctl --no-reload disable %{name}.service &>/dev/null || :
+    /bin/systemctl stop %{name}.service &>/dev/null || :
+%else
+    /sbin/service %{name} stop || :
+    /sbin/chkconfig --del %{name}
+%endif
+fi
 
 
 %postun
-[ $1 = 0 ] && userdel %{name} || :
+if [ $1 -ge 1 ]; then
+    # package upgrade, not uninstall
+%if "%{?dist}" == ".el7"
+    /bin/systemctl try-restart %{name}.service &>/dev/null || :
+%else
+    /sbin/service %{name} restart || :
+%endif
+fi
 
 
 %clean
-rm -rf $RPM_BUILD_ROOT
+rm -rf %{buildroot}
 
 
 %files
@@ -98,11 +137,19 @@
 %docdir %{_datadir}/doc/%{name}-%{version}
 %{_datadir}/doc/%{name}-%{version}
 %config(noreplace) %attr(0750,%{name},root) %{_sysconfdir}/%{name}
-/etc/rc.d/init.d/%{name}
+%if "%{?dist}" == ".el7"
+%{_prefix}/lib/tmpfiles.d/%{name}.conf
+%{_unitdir}/%{name}.service
+%else
+%{_initrddir}/%{name}
+%endif
 %dir %attr(0750,%{name},root) /var/run/%{name}
 
 
 %changelog
+* Tue Feb 07 2017 Carl Byington <carl@five-ten-sg.com> - 6.49-1
+- RHEL7 systemd and /var/run is on tmpfs
+
 * Tue Dec 20 2016 Carl Byington <carl@five-ten-sg.com> - 6.48-1
 - allow dkim whitelisting.