Browse Source

Fix SLES support & OpenSUSE 12 builds on build service

tags/0.6.7
Andrew Lewis 10 years ago
parent
commit
19826e5a95
3 changed files with 142 additions and 1 deletions
  1. 31
    1
      centos/rspamd.spec
  2. 111
    0
      centos/sources/rspamd.init.suse
  3. 0
    0
      centos/sources/rspamd.service

+ 31
- 1
centos/rspamd.spec View File

@@ -39,7 +39,9 @@ Requires: lua, logrotate
# for /user/sbin/useradd
%if 0%{?suse_version}
Requires(pre): shadow
%if 0%{?suse_version} >= 1300
Requires(pre,post,preun,postun): systemd
%endif
%else
Requires(pre): shadow-utils
Requires(post): chkconfig
@@ -50,8 +52,12 @@ Requires(postun): initscripts

Source0: https://rspamd.com/downloads/%{name}-%{version}.tar.gz
%if 0%{?suse_version}
%if 0%{?suse_version} >= 1300
Source1: %{name}.service
%else
Source1: %{name}.init.suse
%endif
%else
Source1: %{name}.init
%endif
Source2: %{name}.logrotate
@@ -96,9 +102,15 @@ lua.
%{__make} install DESTDIR=%{buildroot} INSTALLDIRS=vendor

%if 0%{?suse_version}
%if 0%{?suse_version} >= 1300
%{__install} -D -m 0644 %{SOURCE1} %{buildroot}%{_unitdir}/rspamd.service
%else
%{__install} -p -D -m 0755 %{SOURCE1} %{buildroot}%{_initrddir}/%{name}
mkdir -p %{buildroot}%{_sbindir}
ln -sf %{_initrddir}/rspamd %{buildroot}%{_sbindir}/rcrspamd
%endif
%else
%{__install} -p -D -m 0755 %{SOURCE1} %{buildroot}%{_initrddir}/%{name}
%endif

%{__install} -p -D -m 0644 %{SOURCE2} %{buildroot}%{_sysconfdir}/logrotate.d/%{name}
@@ -112,21 +124,29 @@ rm -rf %{buildroot}
%{_sbindir}/groupadd -r %{rspamd_group} 2>/dev/null || :
%{_sbindir}/useradd -g %{rspamd_group} -c "Rspamd user" -s /bin/false -r -d %{rspamd_home} %{rspamd_user} 2>/dev/null || :

%if 0%{?suse_version}
%if 0%{?suse_version} >= 1300
%service_add_pre %{name}.service
%endif

%post
%if 0%{?suse_version}
%if 0%{?suse_version} >= 1300
%service_add_post %{name}.service
%else
%fillup_and_insserv rspamd
%endif
%else
/sbin/chkconfig --add %{name}
%endif

%preun
%if 0%{?suse_version}
%if 0%{?suse_version} >= 1300
%service_del_preun %{name}.service
%else
%stop_on_removal rspamd
%endif
%else
if [ $1 = 0 ]; then
/sbin/service %{name} stop >/dev/null 2>&1
/sbin/chkconfig --del %{name}
@@ -135,8 +155,13 @@ fi

%postun
%if 0%{?suse_version}
%if 0%{?suse_version} >= 1300
%service_del_postun %{name}.service
%else
%restart_on_update rspamd
%insserv_cleanup
%endif
%else
if [ $1 -ge 1 ]; then
/sbin/service %{name} condrestart > /dev/null 2>&1 || :
fi
@@ -146,9 +171,14 @@ fi
%files
%defattr(-,root,root,-)
%if 0%{?suse_version}
%if 0%{?suse_version} >= 1300
%{_unitdir}/%{name}.service
%else
%{_initrddir}/%{name}
%{_sbindir}/rcrspamd
%endif
%else
%{_initrddir}/%{name}
%endif
%{_mandir}/man8/%{name}.*
%{_mandir}/man1/rspamc.*

+ 111
- 0
centos/sources/rspamd.init.suse View File

@@ -0,0 +1,111 @@
#!/bin/sh
#
# rspamd - this script starts and stops the rspamd daemon
### BEGIN INIT INFO
# Provides: rspamd
# Required-Start: $remote_fs $network
# Required-Stop: $network $remote_fs
# Default-Start: 5
# Default-Stop:
# Short-Description: Rspamd daemon
# Description: Rspamd spam filtering daemon process
### END INIT INFO
#
# chkconfig: - 85 15
# description: rspamd is a spam filtering system
# processname: rspamd
# config: /etc/rspamd/rspamd.conf
# config: /etc/sysconfig/rspamd
# pidfile: /var/lib/rspamd/rspamd.pid

. /etc/rc.status

rc_reset

rspamd="/usr/bin/rspamd"
prog=$(basename $rspamd)

RSPAMD_CONF_FILE="/etc/rspamd/rspamd.conf"
RSPAMD_USER="rspamd"
RSPAMD_GROUP="rspamd"

[ -f /etc/sysconfig/rspamd ] && . /etc/sysconfig/rspamd

start() {
[ -x $rspamd ] || exit 5
[ -f $rspamd_CONF_FILE ] || exit 6
echo -n $"Starting $prog: "
/sbin/startproc $rspamd -c $RSPAMD_CONF_FILE -u $RSPAMD_USER -g $RSPAMD_GROUP
rh_status
}

stop() {
echo -n $"Stopping $prog: "
/sbin/killproc -TERM $prog
rc_status -v
}

restart() {
configtest || return $?
stop
start
}

reload() {
configtest || return $?
echo -n $"Reloading $prog: "
/sbin/killproc -HUP $prog
rc_status -v
}

force_reload() {
restart
}

configtest() {
$rspamd -t -c $RSPAMD_CONF_FILE
}

rh_status() {
/sbin/checkproc $prog
retval=$?
rc_status -v
return $retval
}

rh_status_q() {
/sbin/checkproc $prog
retval=$?
rc_status
return $retval
}

case "$1" in
start)
rh_status_q && exit 0
$1
;;
stop)
rh_status_q || exit 0
$1
;;
restart|configtest)
$1
;;
reload)
rh_status_q || exit 7
$1
;;
force-reload)
force_reload
;;
status)
rh_status
;;
condrestart|try-restart)
rh_status_q || exit 0
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
exit 2
esac

centos/rspamd.service → centos/sources/rspamd.service View File


Loading…
Cancel
Save