diff sm-archive.spec.in @ 23:37793d4c90a0

changes for rhel7 systemd and /var/run on tmpfs
author Carl Byington <carl@five-ten-sg.com>
date Mon, 06 Feb 2017 10:45:07 -0800
parents 09564d4acd9e
children 7d599c9b7d65
line wrap: on
line diff
--- a/sm-archive.spec.in	Fri Dec 24 15:15:41 2010 -0800
+++ b/sm-archive.spec.in	Mon Feb 06 10:45:07 2017 -0800
@@ -18,7 +18,15 @@
 BuildRequires:          sendmail-devel >= 8.12.1
 Requires:               sendmail >= 8.12.1
 Requires:               sendmail-cf
-
+%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
+%endif
 
 %description
 This milter adds recipient addresses to messages passing thru it, based
@@ -39,11 +47,22 @@
 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}
+rm -rf %{buildroot}
+make DESTDIR=%{buildroot} install
+%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
@@ -51,23 +70,46 @@
 
 
 %post
+if [ $1 = 1 ]; then
+    # initial install
+%if "%{?dist}" == ".el7"
+    /bin/systemctl daemon-reload &>/dev/null || :
+%else
 /sbin/chkconfig --add %{name}
 echo Remember to edit %{_sysconfdir}/%{name}/%{name}.conf and add the following line to your sendmail.mc:
 echo "INPUT_MAIL_FILTER(\`sm-archive', \`S=local:/var/run/sm-archive/sm-archive.sock, F=T, T=C:30s;S:5m;R:5m;E:5m')"
 echo
+%endif
+fi
 
 
 %preun
-[ $1 = 0 ] && /sbin/service %{name} stop || :
+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
+userdel %{name} || :
+fi
 
 
 %postun
-[ $1 = 0 ] && /sbin/chkconfig --del %{name}
-[ $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
@@ -78,11 +120,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
+* Mon Feb 06 2017 Carl Byington <carl@five-ten-sg.com> - 1.9-1
+- enable rhel7 systemd and /var/run is on tmpfs
+
 * Fri Dec 24 2010 Carl Byington <carl@five-ten-sg.com> - 1.8-1
 - patches from Marco d'Itri for postfix