[packages/rspamd] Integrate with the system properly
aredridel
aredridel at pld-linux.org
Fri May 17 05:18:55 CEST 2013
commit a84a92985628e32e8aff0125b120b9521df2ae03
Author: Aria Stewart <aredridel at nbtsc.org>
Date: Thu May 16 21:12:00 2013 -0600
Integrate with the system properly
rspamd.init | 94 +++++++++++++++++++++++++++++++++++++++++++++++++++
rspamd.spec | 101 ++++++++++++++-----------------------------------------
rspamd.sysconfig | 4 +++
3 files changed, 124 insertions(+), 75 deletions(-)
---
diff --git a/rspamd.spec b/rspamd.spec
index 76ecfc2..a825e46 100644
--- a/rspamd.spec
+++ b/rspamd.spec
@@ -2,23 +2,18 @@
Summary: Spam filter to replace spamassassin
Name: rspamd
Version: 0.5.4
-Release: 0.2
+Release: 0.3
License: BSD-like
Group: Applications
Source0: https://bitbucket.org/vstakhov/rspamd/downloads/%{name}-%{version}.tar.gz
# Source0-md5: b5f18a2098de9b6931a9d40c60c83fcd
Source1: %{name}.tmpfiles
+Source2: %{name}.init
+Source3: %{name}.sysconfig
URL: https://bitbucket.org/vstakhov/rspamd/wiki/Home
-%if %{with initscript}
BuildRequires: rpmbuild(macros) >= 1.228
Requires(post,preun): /sbin/chkconfig
Requires: rc-scripts
-%endif
-%if %{with systemd_service}
-BuildRequires: rpmbuild(macros) >= 1.647
-Requires(post,preun,postun): systemd-units >= 38
-Requires: systemd-units >= 0.38
-%endif
BuildRequires: cmake
BuildRequires: glib2-devel
BuildRequires: gmime-devel
@@ -27,8 +22,8 @@ BuildRequires: libffi-devel
BuildRequires: lua-devel
BuildRequires: pcre-devel
BuildRequires: sqlite3-devel
-#Provides: group(foo)
-#Provides: user(foo)
+Provides: group(rspamd)
+Provides: user(rspamd)
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
# Executable provides rspamd_main, gmime and more
@@ -54,47 +49,40 @@ spam filters:
%setup -q
%build
-%{__cmake} -DCMAKE_INSTALL_PREFIX=%{_prefix} -DETC_PREFIX=%{_sysconfdir} .
+%{__cmake} -DCMAKE_INSTALL_PREFIX=%{_prefix} -DETC_PREFIX=%{_sysconfdir} -DLIBDIR=%{_libdir} .
%{__make}
%install
rm -rf $RPM_BUILD_ROOT
-%if %{with initscript}
install -d $RPM_BUILD_ROOT/etc/{sysconfig,rc.d/init.d}
-%endif
install -d $RPM_BUILD_ROOT%{_sysconfdir}/tmpfiles.d
install %SOURCE1 $RPM_BUILD_ROOT%{_sysconfdir}/tmpfiles.d/%{name}.conf
+install %SOURCE2 $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
+install %SOURCE3 $RPM_BUILD_ROOT/etc/sysconfig/%{name}
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
+mv $RPM_BUILD_ROOT%{_sysconfdir}/rspamd/2tld.inc{.orig,}
+
%clean
rm -rf $RPM_BUILD_ROOT
-%if 0
%pre
-%groupadd -g xxx %{name}
-%useradd -u xxx -d /var/lib/%{name} -g %{name} -c "XXX User" %{name}
-
-%post
+%groupadd -g 294 %{name}
+%useradd -u 294 -d /var/lib/%{name} -g %{name} -c "rspamd User" %{name}
-%preun
%postun
+/sbin/ldconfig
if [ "$1" = "0" ]; then
%userremove %{name}
%groupremove %{name}
fi
-%endif
-
-%if %{with ldconfig}
-%post -p /sbin/ldconfig
-%postun -p /sbin/ldconfig
-%endif
-%if %{with initscript}
%post
+/sbin/ldconfig
/sbin/chkconfig --add %{name}
%service %{name} restart
@@ -103,37 +91,27 @@ if [ "$1" = "0" ]; then
%service -q %{name} stop
/sbin/chkconfig --del %{name}
fi
-%endif
-
-%if %{with systemd_service}
-%post
-%systemd_post %{name}.service
-
-%preun
-%systemd_preun %{name}.service
-
-%postun
-%systemd_reload
-%endif
%files
%defattr(644,root,root,755)
%doc ChangeLog README
+%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
+%attr(754,root,root) /etc/rc.d/init.d/%{name}
%{_sysconfdir}/tmpfiles.d/rspamd.conf
-%attr(755,root,root) %{_bindir}/rspamc
-%attr(755,root,root) %{_bindir}/rspamc-0.5.4
-%attr(755,root,root) %{_bindir}/rspamd
-%attr(755,root,root) %{_bindir}/rspamd-0.5.4
-#%attr(754,root,root) %{_prefix}/etc/rc.d/init.d/rspamd
+%attr(755,root,root) %{_bindir}/rspam*
%{_sysconfdir}/rspamd.xml.sample
+%dir /etc/rspamd
%{_sysconfdir}/rspamd/2tld.inc
-%{_sysconfdir}/rspamd/2tld.inc.orig
+%dir /etc/rspamd/lua
+%{_sysconfdir}/rspamd/lua/rspamd.classifiers.lua
+%{_sysconfdir}/rspamd/lua/rspamd.lua
+%dir /etc/rspamd/lua/regexp
%{_sysconfdir}/rspamd/lua/regexp/drugs.lua
%{_sysconfdir}/rspamd/lua/regexp/fraud.lua
%{_sysconfdir}/rspamd/lua/regexp/headers.lua
%{_sysconfdir}/rspamd/lua/regexp/lotto.lua
-%{_sysconfdir}/rspamd/lua/rspamd.classifiers.lua
-%{_sysconfdir}/rspamd/lua/rspamd.lua
+%dir /etc/rspamd/plugins
+%dir /etc/rspamd/plugins/lua
%{_sysconfdir}/rspamd/plugins/lua/emails.lua
%{_sysconfdir}/rspamd/plugins/lua/forged_recipients.lua
%{_sysconfdir}/rspamd/plugins/lua/ip_score.lua
@@ -147,39 +125,12 @@ fi
%{_sysconfdir}/rspamd/plugins/lua/whitelist.lua
%{_sysconfdir}/rspamd/surbl-whitelist.inc
# %{_includedir}/rspamd/librspamdclient.h
-%attr(755,root,root) %{_prefix}/lib/rspamd/librspamd-cdb.so
-%attr(755,root,root) %{_prefix}/lib/rspamd/librspamd-cdb.so.0.5.4
-%attr(755,root,root) %{_prefix}/lib/rspamd/librspamd-json.so
-%attr(755,root,root) %{_prefix}/lib/rspamd/librspamd-json.so.0.5.4
-%attr(755,root,root) %{_prefix}/lib/rspamd/librspamd-lua.so
-%attr(755,root,root) %{_prefix}/lib/rspamd/librspamd-lua.so.0.5.4
-%attr(755,root,root) %{_prefix}/lib/rspamd/librspamd-mime.so
-%attr(755,root,root) %{_prefix}/lib/rspamd/librspamd-mime.so.0.5.4
-%attr(755,root,root) %{_prefix}/lib/rspamd/librspamd-server.so
-%attr(755,root,root) %{_prefix}/lib/rspamd/librspamd-server.so.0.5.4
-%attr(755,root,root) %{_prefix}/lib/rspamd/librspamd-util.so
-%attr(755,root,root) %{_prefix}/lib/rspamd/librspamd-util.so.0.5.4
-%attr(755,root,root) %{_prefix}/lib/rspamd/librspamdclient.so
-%attr(755,root,root) %{_prefix}/lib/rspamd/librspamdclient.so.0.5.4
+%attr(755,root,root) %{_libdir}/*.so
+%attr(755,root,root) %{_libdir}/*.so.%{version}
# %{_prefix}/lib/rspamd/librspamdclient_static.a
%{_mandir}/man1/rspamc.1*
%{_mandir}/man8/rspamd.8*
-%if 0
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*
-%attr(755,root,root) %{_bindir}/%{name}*
-%{_datadir}/%{name}
-%endif
-
-# initscript and its config
-%if %{with initscript}
-%attr(754,root,root) /etc/rc.d/init.d/%{name}
-%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
-%endif
-
-%if %{with systemd_service}
-%{systemdunitdir}/%{name}.service
-%endif
%changelog
* Wed May 15 2013 PLD Linux Team <feedback at pld-linux.org>
- For complete changelog see: http://git.pld-linux.org/?p=packages/rspamd.git;a=log
diff --git a/rspamd.init b/rspamd.init
new file mode 100644
index 0000000..68d0d17
--- /dev/null
+++ b/rspamd.init
@@ -0,0 +1,94 @@
+#!/bin/sh
+#
+# rspamd This script starts and stops the rspamd daemon
+#
+# chkconfig: 2345 80 30
+#
+# description: rspamd is a daemon process which uses rspamd to check \
+# email messages for SPAM. It is normally called by rspamc \
+# from a MDA.
+# processname: rspamd
+# pidfile: /var/run/rspamd.pid
+
+# Source function library.
+. /etc/rc.d/init.d/functions
+
+# Source networking configuration.
+. /etc/sysconfig/network
+
+SPAMD_OPTS="-d -c"
+# Source configureation.
+if [ -f /etc/sysconfig/rspamd ] ; then
+ . /etc/sysconfig/rspamd
+fi
+
+# Check that networking is up.
+if is_no "${NETWORKING}"; then
+ msg_network_down "rspamd"
+ exit 1
+fi
+
+start() {
+ # Start daemon.
+ if [ -f /var/lock/subsys/rspamd ]; then
+ msg_already_running "rspamd"
+ return
+ fi
+
+ msg_starting "rspamd"
+ daemon /usr/bin/rspamd -u rspamd -g rspamd $RSPAMD_OPTS
+ RETVAL=$?
+ [ $RETVAL -eq 0 ] && touch /var/lock/subsys/rspamd
+}
+
+stop() {
+ # Stop daemons.
+ if [ ! -f /var/lock/subsys/rspamd ]; then
+ msg_not_running "rspamd"
+ return
+ fi
+
+ msg_stopping "rspamd"
+ killproc rspamd
+ RETVAL=$?
+ rm -f /var/lock/subsys/rspamd
+}
+
+condrestart() {
+ if [ ! -f /var/lock/subsys/rspamd ]; then
+ msg_not_running "rspamd"
+ RETVAL=$1
+ return
+ fi
+
+ stop
+ start
+}
+
+# See how we were called.
+case "$1" in
+ start)
+ start
+ ;;
+ stop)
+ stop
+ ;;
+ restart)
+ stop
+ start
+ ;;
+ try-restart)
+ condrestart 0
+ ;;
+ force-reload)
+ condrestart 7
+ ;;
+ status)
+ status rspamd
+ ;;
+ *)
+ msg_usage "$0 {start|stop|restart|try-restart|force-reload|status}"
+ exit 1
+esac
+
+exit $RETVAL
diff --git a/rspamd.sysconfig b/rspamd.sysconfig
new file mode 100644
index 0000000..8cf6a4e
--- /dev/null
+++ b/rspamd.sysconfig
@@ -0,0 +1,4 @@
+# Customized settings for rspamd
+
+# Cmdline options
+RSPAMD_OPTS=""
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/rspamd.git/commitdiff/a84a92985628e32e8aff0125b120b9521df2ae03
More information about the pld-cvs-commit
mailing list