[milter-regex] Switch from SysV initscript to systemd unit file
Paul Howarth
pghmcfc at fedoraproject.org
Sat Jul 16 16:52:17 UTC 2011
commit e7f0a3bf6938d4e4ea75fb0846c0d359ad409a97
Author: Paul Howarth <paul at city-fan.org>
Date: Sat Jul 16 17:50:55 2011 +0100
Switch from SysV initscript to systemd unit file
- Switch from SysV initscript to systemd unit file
- Clean up for modern rpmbuild
- Drop Sendmail references as the milter should work with Postfix too
- Nobody else likes macros for commands
milter-regex-initscript | 88 -----------------------------------------------
milter-regex.service | 14 +++++++
milter-regex.spec | 81 +++++++++++++++++++++++++-----------------
3 files changed, 62 insertions(+), 121 deletions(-)
---
diff --git a/milter-regex.service b/milter-regex.service
new file mode 100644
index 0000000..50af363
--- /dev/null
+++ b/milter-regex.service
@@ -0,0 +1,14 @@
+[Unit]
+Description = Regular expression based mail filter
+After = syslog.target
+Before = sendmail.service
+Before = postfix.service
+
+[Service]
+Type = forking
+Environment = OPTIONS=
+EnvironmentFile = -/etc/sysconfig/milter-regex
+ExecStart = /usr/sbin/milter-regex $OPTIONS
+
+[Install]
+WantedBy = multi-user.target
diff --git a/milter-regex.spec b/milter-regex.spec
index 21b028b..656ef47 100644
--- a/milter-regex.spec
+++ b/milter-regex.spec
@@ -1,26 +1,23 @@
Name: milter-regex
Version: 1.8
-Release: 2%{?dist}
-Summary: Sendmail milter plug-in for regular expression filtering
+Release: 3%{?dist}
+Summary: Milter plug-in for regular expression filtering
Group: System Environment/Daemons
License: BSD
URL: http://www.benzedrine.cx/milter-regex.html
Source0: http://www.benzedrine.cx/milter-regex-%{version}.tar.gz
-Source1: milter-regex-initscript
+Source1: milter-regex.service
Source2: milter-regex-options
Source3: milter-regex.conf
Patch0: milter-regex-1.6-gcc.patch
Patch1: milter-regex-1.8-strlcat.patch
-Buildroot: %{_tmppath}/%{name}-%{release}-root-%(%{__id_u} -n)
Buildrequires: sendmail-devel >= 8.13, byacc, groff
-Requires: sendmail
+BuildRequires: systemd-units
-# This macro only defined by default around Fedora 10 time
-%{?!_initddir:%global _initddir %{_initrddir}}
-
-Requires(pre): shadow-utils
-Requires(post): /sbin/chkconfig
-Requires(preun): /sbin/chkconfig
+Requires(pre): shadow-utils
+Requires(post): systemd-units
+Requires(preun): systemd-units
+Requires(postun): systemd-units
%description
Milter-regex is a milter based filter that makes it possible to filter
@@ -30,26 +27,25 @@ emails using regular expressions.
%setup -q
%patch0 -p1 -b .gcc
%patch1 -p0 -b .strlcat
-%{__sed} -i -e 's|/etc/milter-regex\.conf|%{_sysconfdir}/mail/milter-regex.conf|;
- s|_milter-regex|mregex|' milter-regex.[8c]
-/usr/bin/head -n +31 milter-regex.c > LICENSE
+sed -i -e 's|/etc/milter-regex\.conf|%{_sysconfdir}/mail/milter-regex.conf|;
+ s|_milter-regex|mregex|' milter-regex.[8c]
+head -n +31 milter-regex.c > LICENSE
%build
-%{__make} %{?_smp_mflags} -f Makefile.linux CFLAGS="%{optflags} -DYYMAXDEPTH=8192"
+make %{?_smp_mflags} -f Makefile.linux CFLAGS="%{optflags} -DYYMAXDEPTH=8192"
%install
-%{__rm} -rf %{buildroot}
-%{__mkdir} -p \
- %{buildroot}%{_initddir} \
+mkdir -p \
+ %{buildroot}%{_unitdir} \
%{buildroot}%{_localstatedir}/spool/milter-regex \
%{buildroot}%{_mandir}/man8 \
%{buildroot}%{_sbindir} \
%{buildroot}%{_sysconfdir}/{mail,sysconfig}
-%{__install} -p -m 755 milter-regex %{buildroot}%{_sbindir}/
-%{__install} -p -m 644 milter-regex.8 %{buildroot}%{_mandir}/man8/
-%{__install} -p -m 755 %{SOURCE1} %{buildroot}%{_initddir}/milter-regex
-%{__install} -p -m 644 %{SOURCE2} %{buildroot}%{_sysconfdir}/sysconfig/milter-regex
-%{__install} -p -m 644 %{SOURCE3} %{buildroot}%{_sysconfdir}/mail/milter-regex.conf
+install -p -m 755 milter-regex %{buildroot}%{_sbindir}/
+install -p -m 644 milter-regex.8 %{buildroot}%{_mandir}/man8/
+install -p -m 644 %{SOURCE1} %{buildroot}%{_unitdir}/milter-regex.service
+install -p -m 644 %{SOURCE2} %{buildroot}%{_sysconfdir}/sysconfig/milter-regex
+install -p -m 644 %{SOURCE3} %{buildroot}%{_sysconfdir}/mail/milter-regex.conf
# Create a ghost sock file so we can remove it on package deletion
: > %{buildroot}%{_localstatedir}/spool/milter-regex/sock
@@ -62,25 +58,38 @@ emails using regular expressions.
exit 0
%post
-/sbin/chkconfig --add milter-regex || :
+if [ $1 -eq 1 ]; then
+ # Initial installation
+ /bin/systemctl daemon-reload &>/dev/null || :
+fi
%preun
-if [ $1 -eq 0 ] ; then
- %{_initddir}/milter-regex stop &> /dev/null || :
- /sbin/chkconfig --del milter-regex || :
+if [ $1 -eq 0 ]; then
+ # Package removal, not upgrade
+ /bin/systemctl --no-reload disable milter-regex.service &>/dev/null || :
+ /bin/systemctl stop milter-regex.service &>/dev/null || :
fi
%postun
-[ $1 -ge 1 ] && %{_initddir}/milter-regex try-restart &> /dev/null || :
+/bin/systemctl daemon-reload &>/dev/null || :
+if [ $1 -ge 1 ]; then
+ # Package upgrade, not uninstall
+ /bin/systemctl try-restart milter-regex.service &>/dev/null || :
+fi
-%clean
-%{__rm} -rf %{buildroot}
+# SysV to systemd migration
+# See http://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Systemd
+# This can be removed for Fedora 18 when there will be no supported Fedora
+# release with the SysV initscript to upgrade from
+%triggerun -- milter-regex < 1.8-3
+/usr/bin/systemd-sysv-convert --save milter-regex &>/dev/null || :
+/sbin/chkconfig --del milter-regex &>/dev/null || :
+/bin/systemctl try-restart milter-regex.service &>/dev/null || :
%files
-%defattr(-,root,root,-)
%doc LICENSE
%{_sbindir}/milter-regex
-%{_initddir}/milter-regex
+%{_unitdir}/milter-regex.service
%config(noreplace) %{_sysconfdir}/sysconfig/milter-regex
%config(noreplace) %{_sysconfdir}/mail/milter-regex.conf
%dir %attr(755,mregex,mregex) %{_localstatedir}/spool/milter-regex/
@@ -88,8 +97,14 @@ fi
%{_mandir}/man8/milter-regex.8*
%changelog
+* Sat Jul 16 2011 Paul Howarth <paul at city-fan.org> - 1.8-3
+- switch from SysV initscript to systemd unit file
+- clean up for modern rpmbuild
+- drop Sendmail references as the milter should work with Postfix too
+- nobody else likes macros for commands
+
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 1.8-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
+- rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
* Fri Aug 13 2010 Paul Howarth <paul at city-fan.org> - 1.8-1
- update to 1.8 (log symbolic host name together with numeric IP address)
More information about the scm-commits
mailing list