now using systemd
This commit is contained in:
parent
66faec9255
commit
41d9d318b6
38
cyr_systemd_helper
Executable file
38
cyr_systemd_helper
Executable file
@ -0,0 +1,38 @@
|
||||
#!/bin/sh
|
||||
# get_config [config default]
|
||||
# extracts config option from config file
|
||||
get_config() {
|
||||
if conf=$(grep "^$1" /etc/imapd.conf); then
|
||||
echo $conf | cut -d: -f2
|
||||
else
|
||||
echo $2
|
||||
fi
|
||||
}
|
||||
|
||||
CONFIGDIRECTORY=$(get_config configdirectory /var/lib/imap)
|
||||
RETVAL=0
|
||||
|
||||
start() {
|
||||
cd $CONFIGDIRECTORY
|
||||
runuser - cyrus -s /bin/sh -c "umask 166 ; /usr/lib/cyrus-imapd/cvt_cyrusdb_all > ${CONFIGDIRECTORY}/rpm/db_import.log 2>&1" < /dev/null
|
||||
RETVAL=$?
|
||||
}
|
||||
|
||||
stop() {
|
||||
cd $CONFIGDIRECTORY
|
||||
runuser - cyrus -s /bin/sh -c "umask 166 ; /usr/lib/cyrus-imapd/cvt_cyrusdb_all export > ${CONFIGDIRECTORY}/rpm/db_export.log 2>&1" < /dev/null
|
||||
RETVAL=$?
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
start
|
||||
;;
|
||||
stop)
|
||||
stop
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
|
||||
exit $RETVAL
|
13
cyrus-imapd.service
Normal file
13
cyrus-imapd.service
Normal file
@ -0,0 +1,13 @@
|
||||
[Unit]
|
||||
Description=Cyrus-imapd IMAP/POP3 email server
|
||||
After=local-fs.target network.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
EnvironmentFile=/etc/sysconfig/cyrus-imapd
|
||||
ExecStartPre=/usr/lib/cyrus-imapd/cyr_systemd_helper start
|
||||
ExecStart=/usr/lib/cyrus-imapd/cyrus-master $CYRUSOPTIONS
|
||||
ExecStopPost=/usr/lib/cyrus-imapd/cyr_systemd_helper stop
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
@ -1,6 +1,6 @@
|
||||
Name: cyrus-imapd
|
||||
Version: 2.4.7
|
||||
Release: 1%{?dist}
|
||||
Release: 2%{?dist}
|
||||
|
||||
%define ssl_pem_file %{_sysconfdir}/pki/%{name}/%{name}.pem
|
||||
|
||||
@ -22,13 +22,16 @@ Source2: cyrus-imapd.imap-2.3.x-conf
|
||||
Source3: cyrus-imapd.pam-config
|
||||
Source4: http://email.uoa.gr/projects/cyrus/autocreate/README.autocreate-cyrus-2.3
|
||||
Source5: http://email.uoa.gr/projects/cyrus/autosievefolder/README.autosievefolder
|
||||
Source6: cyrus-imapd.init
|
||||
Source7: cyrus-imapd.sysconfig
|
||||
Source8: cyrus-imapd.cvt_cyrusdb_all
|
||||
Source9: cyrus-imapd.magic
|
||||
Source10: cyrus-imapd.cron-daily
|
||||
Source11: README.rpm
|
||||
|
||||
#systemd support
|
||||
Source12: cyrus-imapd.service
|
||||
Source13: cyr_systemd_helper
|
||||
|
||||
# inclusion requested:
|
||||
# http://bugzilla.cyrusimap.org/bugzilla3/show_bug.cgi?id=3182
|
||||
# http://bugzilla.cyrusimap.org/bugzilla3/show_bug.cgi?id=3212
|
||||
@ -59,9 +62,9 @@ BuildRequires: krb5-devel
|
||||
BuildRequires: net-snmp-devel
|
||||
BuildRequires: transfig
|
||||
|
||||
Requires(post): e2fsprogs, chkconfig, initscripts, perl, grep, coreutils, findutils
|
||||
Requires(preun): chkconfig, initscripts, coreutils
|
||||
Requires(postun): initscripts
|
||||
Requires(post): e2fsprogs, perl, grep, coreutils, findutils, systemd-units
|
||||
Requires(preun): systemd-units, coreutils
|
||||
Requires(postun): systemd-units
|
||||
|
||||
Requires: %{name}-utils = %{version}-%{release}
|
||||
Requires: file, db4-utils
|
||||
@ -229,10 +232,12 @@ install -p -m 644 %{SOURCE3} %{buildroot}%{_sysconfdir}/pam.d/lmtp
|
||||
install -p -m 644 %{SOURCE3} %{buildroot}%{_sysconfdir}/pam.d/nntp
|
||||
install -p -m 644 %{SOURCE3} %{buildroot}%{_sysconfdir}/pam.d/csync
|
||||
install -p -m 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/logrotate.d/%{name}
|
||||
install -p -m 755 %{SOURCE6} %{buildroot}%{_sysconfdir}/rc.d/init.d/%{name}
|
||||
install -p -m 644 %{SOURCE7} %{buildroot}%{_sysconfdir}/sysconfig/%{name}
|
||||
install -p -m 755 %{SOURCE10} %{buildroot}%{_sysconfdir}/cron.daily/%{name}
|
||||
|
||||
install -p -D -m 644 %{SOURCE12} %{buildroot}/lib/systemd/system/cyrus-imapd.service
|
||||
install -p -D -m 755 %{SOURCE13} %{buildroot}%{_cyrexecdir}/cyr_systemd_helper
|
||||
|
||||
# Cleanup of doc dir
|
||||
find doc perl -name CVS -type d -prune -exec rm -rf {} \;
|
||||
find doc perl -name .cvsignore -type f -exec rm -f {} \;
|
||||
@ -296,7 +301,10 @@ rm -rf %{buildroot}
|
||||
-G saslauth -s /sbin/nologin -u %{uid} -r %{_cyrususer} 2> /dev/null || :
|
||||
|
||||
%post
|
||||
/sbin/chkconfig --add %{name}
|
||||
/sbin/service cyrus-imapd condrestart >/dev/null 2>&1 ||:
|
||||
if [ $1 -eq 1 ]; then
|
||||
/bin/systemctl enable cyrus-imapd.service >/dev/null 2>&1 || :
|
||||
fi
|
||||
|
||||
# Force synchronous updates, usually only on ext2 filesystems
|
||||
for i in %{_var}/lib/imap/{user,quota} %{_var}/spool/imap
|
||||
@ -328,23 +336,28 @@ popd
|
||||
fi
|
||||
|
||||
%preun
|
||||
if [ $1 = 0 ]; then
|
||||
/sbin/service %{name} stop >/dev/null 2>&1 || :
|
||||
/sbin/chkconfig --del %{name}
|
||||
if [ $1 -eq 0 ] ; then
|
||||
# Package removal, not upgrade
|
||||
/bin/systemctl disable cyrus-imapd.service >/dev/null 2>&1 || :
|
||||
/bin/systemctl stop cyrus-imapd.service > /dev/null 2>&1 || :
|
||||
fi
|
||||
|
||||
%postun
|
||||
if [ $1 != 0 ]; then
|
||||
/sbin/service %{name} condrestart >/dev/null 2>&1 || :
|
||||
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
|
||||
if [ $1 -ge 1 ] ; then
|
||||
# Package upgrade, not uninstall
|
||||
/bin/systemctl try-restart cyrus-imapd.service >/dev/null 2>&1 || :
|
||||
fi
|
||||
|
||||
%triggerun -- smartmontools < 2.4.7-2
|
||||
/sbin/chkconfig smartd && /bin/systemctl enable smartd.service >/dev/null 2>&1 || :
|
||||
|
||||
%files
|
||||
%defattr(-,root,root,-)
|
||||
%doc COPYRIGHT README
|
||||
%doc doc/*
|
||||
%config(noreplace) %{_sysconfdir}/cyrus.conf
|
||||
%config(noreplace) %{_sysconfdir}/imapd.conf
|
||||
%{_sysconfdir}/rc.d/init.d/%{name}
|
||||
%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
|
||||
%config(noreplace) %{_sysconfdir}/sysconfig/%{name}
|
||||
%config(noreplace) %{_sysconfdir}/pam.d/pop
|
||||
@ -355,7 +368,9 @@ fi
|
||||
%config(noreplace) %{_sysconfdir}/pam.d/csync
|
||||
%config(noreplace) %{_sysconfdir}/pam.d/nntp
|
||||
%{_sysconfdir}/cron.daily/%{name}
|
||||
/lib/systemd/system/cyrus-imapd.service
|
||||
%dir %{_cyrexecdir}
|
||||
%{_cyrexecdir}/cyr_systemd_helper
|
||||
%{_cyrexecdir}/arbitron
|
||||
%{_cyrexecdir}/arbitronsort.pl
|
||||
%{_cyrexecdir}/chk_cyrus
|
||||
@ -474,6 +489,9 @@ fi
|
||||
%{_mandir}/man1/*
|
||||
|
||||
%changelog
|
||||
* Mon Apr 04 2011 Michal Hlaivnka <mhlavink@redhat.com> - 2.4.7-2
|
||||
- now using systemd
|
||||
|
||||
* Thu Mar 31 2011 Michal Hlavinka <mhlavink@redhat.com> - 2.4.7-1
|
||||
- updated to 2.4.7
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user