forked from pool/dovecot
Accepting request 954323 from server:mail
- Fix changelog and permissions - (bsc#1185074) /var/run in /usr/lib/tmpfiles.d/dovecot.conf is deprecated, please use /run instead - Refreshed spec-file via spec-cleaner and manual optimization. * Removed file dovecot.init (droped SystemV support). * Added parameter -p to all install command in spec-file. * Added %{name} macro wherever possible. - Check first if they exist before creating user and group accounts - Use macro for systemd-tmpfiles call - Pre-Require shadow if we use it in %pre - Remove unused systemd requires/defines. - removal of SuSEfirewall2 service, since SuSEfirewall2 has been replaced by firewalld, see [1]. [1]: https://lists.opensuse.org/opensuse-factory/2019-01/msg00490.html - Add information about the interaction with Apparmor to README.SUSE - bump recommends to 2.3 - copy example config from /usr/share/dovecot/example-config/ instead of the documentation directory. (boo#1070871) - bump to dovecot 2.3 - updated README.SUSE: Remove all references /etc/ssl/certs/. It should not be used anymore. (boo #932386) Please make sure you read README.SUSE after installing this update. - fix bashisms in pre script - add reload support to the dovecot service file - also track the config files from the sieve support in the %ghost - make the /etc/dovecot handling consistent between dovecot and dovecotXY. both now use: %dir /etc/dovecot %ghost %config(noreplace) /etc/dovecot/* - copy the correct file as init script in the non systemd case - remove %buildroot from %pre script just in case we uncomment that part at some point - only have %post in the systemd case - we dont need a dovecot implementation at build time just at install time. add BuildIgnore to get around the loop. - remove triggers again. when we handle the dovecot update problems by manually stopping in %pre and manually starting up again in %postun we dont need them anymore. - as we cant use service_del_preun we should still check if it is the last package that we install otherwise we kill it unconditionally - no longer restart the socket activation. this seems to kill the dovecot. - move ldconfig to the versioned packages - own the shared var directories. - kick out the triggerin script as we dont need it. - restart dovecot also when the module packages are updated - added trigger scripts - make the dovecot implementation a prereq - start an unversioned wrapper package again OBS-URL: https://build.opensuse.org/request/show/954323 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/dovecot?expand=0&rev=10
This commit is contained in:
commit
01acc2c8be
@ -1,3 +1,21 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Feb 14 10:04:47 UTC 2022 - Dirk Stoecker <opensuse@dstoecker.de>
|
||||||
|
|
||||||
|
- Fix changelog and permissions
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Apr 21 11:50:25 UTC 2021 - Peter Varkoly <varkoly@suse.com>
|
||||||
|
|
||||||
|
- (bsc#1185074) /var/run in /usr/lib/tmpfiles.d/dovecot.conf is
|
||||||
|
deprecated, please use /run instead
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Apr 16 10:58:13 UTC 2021 - Илья Индиго <ilya@ilya.pp.ua>
|
||||||
|
- Refreshed spec-file via spec-cleaner and manual optimization.
|
||||||
|
* Removed file dovecot.init (droped SystemV support).
|
||||||
|
* Added parameter -p to all install command in spec-file.
|
||||||
|
* Added %{name} macro wherever possible.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Fri Nov 13 14:11:59 UTC 2020 - Thorsten Kukuk <kukuk@suse.com>
|
Fri Nov 13 14:11:59 UTC 2020 - Thorsten Kukuk <kukuk@suse.com>
|
||||||
|
|
||||||
@ -132,4 +150,3 @@ Fri Sep 5 10:59:11 UTC 2014 - mrueckert@suse.de
|
|||||||
Thu Sep 4 13:44:06 UTC 2014 - mrueckert@suse.de
|
Thu Sep 4 13:44:06 UTC 2014 - mrueckert@suse.de
|
||||||
|
|
||||||
- start an unversioned wrapper package again
|
- start an unversioned wrapper package again
|
||||||
|
|
||||||
|
94
dovecot.init
94
dovecot.init
@ -1,94 +0,0 @@
|
|||||||
#! /bin/sh
|
|
||||||
# Copyright (c) 1995-2004 SUSE Linux AG, Nuernberg, Germany.
|
|
||||||
# 2005-2007 SUSE / Novell Inc.
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# Author: Mads Martin Joergensen <mmj@suse.de>
|
|
||||||
# Marcus Rueckert <mrueckert@suse.de>
|
|
||||||
# Please send feedback to http://www.suse.de/feedback/
|
|
||||||
#
|
|
||||||
# /etc/init.d/dovecot
|
|
||||||
# and its symbolic link
|
|
||||||
# /usr/sbin/rcdovecot
|
|
||||||
#
|
|
||||||
### BEGIN INIT INFO
|
|
||||||
# Provides: dovecot
|
|
||||||
# Required-Start: $remote_fs $syslog $network
|
|
||||||
# Required-Stop: $remote_fs $syslog $network
|
|
||||||
# Should-Start: $named $time postgresql mysql ldap
|
|
||||||
# Should-Stop: postgresql mysql ldap
|
|
||||||
# X-Start-Before: exim postfix
|
|
||||||
# Default-Start: 3 5
|
|
||||||
# Default-Stop: 0 1 2 6
|
|
||||||
# Short-Description: Dovecot IMAP/POP3/SASL server
|
|
||||||
# Description: Dovecot IMAP/POP3/SASL server
|
|
||||||
### END INIT INFO
|
|
||||||
|
|
||||||
. /etc/rc.status
|
|
||||||
|
|
||||||
# Reset status of this service
|
|
||||||
rc_reset
|
|
||||||
|
|
||||||
DOVECOT_BIN=/usr/sbin/dovecot
|
|
||||||
test -x $DOVECOT_BIN || {
|
|
||||||
echo "$DOVECOT_BIN not installed";
|
|
||||||
if [ "$1" = "stop" ] ; then
|
|
||||||
exit 0
|
|
||||||
else
|
|
||||||
exit 5
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
case "$1" in
|
|
||||||
start)
|
|
||||||
echo -n "Starting dovecot "
|
|
||||||
startproc $DOVECOT_BIN
|
|
||||||
rc_status -v
|
|
||||||
;;
|
|
||||||
stop)
|
|
||||||
echo -n "Stopping dovecot "
|
|
||||||
killproc -TERM $DOVECOT_BIN
|
|
||||||
rc_status -v
|
|
||||||
;;
|
|
||||||
try-restart|condrestart)
|
|
||||||
$0 status
|
|
||||||
if test $? = 0; then
|
|
||||||
$0 restart
|
|
||||||
else
|
|
||||||
rc_reset
|
|
||||||
fi
|
|
||||||
rc_status
|
|
||||||
;;
|
|
||||||
restart)
|
|
||||||
$0 stop
|
|
||||||
$0 start
|
|
||||||
rc_status
|
|
||||||
;;
|
|
||||||
force-reload)
|
|
||||||
# dovecot has support for reloading it's config when
|
|
||||||
# recieving signal 1 (SIGHUP). There's still some
|
|
||||||
# issues noticed in the dovecot-TODO though so restart
|
|
||||||
# for now.
|
|
||||||
echo -n "Reload service dovecot "
|
|
||||||
# killproc -HUP $DOVECOT_BIN
|
|
||||||
# rc_status -v
|
|
||||||
|
|
||||||
$0 try-restart
|
|
||||||
rc_status
|
|
||||||
;;
|
|
||||||
reload)
|
|
||||||
echo -n "Reload service dovecot "
|
|
||||||
killproc -HUP $DOVECOT_BIN
|
|
||||||
rc_status -v
|
|
||||||
;;
|
|
||||||
status)
|
|
||||||
echo -n "Checking for service dovecot "
|
|
||||||
checkproc $DOVECOT_BIN
|
|
||||||
rc_status -v
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload}"
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
rc_exit
|
|
95
dovecot.spec
95
dovecot.spec
@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package dovecot
|
# spec file for package dovecot
|
||||||
#
|
#
|
||||||
# Copyright (c) 2020 SUSE LLC
|
# Copyright (c) 2022 SUSE LLC
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@ -16,12 +16,6 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
%if 0%{?suse_version} > 1230
|
|
||||||
%bcond_without systemd
|
|
||||||
%else
|
|
||||||
%bcond_with systemd
|
|
||||||
%endif
|
|
||||||
|
|
||||||
Name: dovecot
|
Name: dovecot
|
||||||
Version: 2.3
|
Version: 2.3
|
||||||
Release: 0
|
Release: 0
|
||||||
@ -31,23 +25,22 @@ Group: Productivity/Networking/Email/Servers
|
|||||||
URL: http://www.dovecot.org/
|
URL: http://www.dovecot.org/
|
||||||
PreReq: dovecot-implementation
|
PreReq: dovecot-implementation
|
||||||
PreReq: shadow
|
PreReq: shadow
|
||||||
Recommends: dovecot23
|
Recommends: %{name}23
|
||||||
#!BuildIgnore: dovecot-implementation
|
#!BuildIgnore: dovecot-implementation
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
Source0: dovecot-2.0.configfiles
|
Source0: %{name}-2.0.configfiles
|
||||||
Source1: dovecot-2.1.configfiles
|
Source1: %{name}-2.1.configfiles
|
||||||
Source2: dovecot-2.2.configfiles
|
Source2: %{name}-2.2.configfiles
|
||||||
Source3: %{name}.init
|
|
||||||
Source4: %{name}.pam
|
Source4: %{name}.pam
|
||||||
Source5: %{name}.README.SUSE
|
Source5: %{name}.README.SUSE
|
||||||
Source7: dovecot.tmpfiles.d
|
Source7: %{name}.tmpfiles.d
|
||||||
Source8: dovecot.service
|
Source8: %{name}.service
|
||||||
Source9: dovecot.socket
|
Source9: %{name}.socket
|
||||||
Source10: dovecot-2.1-pigeonhole.configfiles
|
Source10: %{name}-2.1-pigeonhole.configfiles
|
||||||
Source11: dovecot-2.2-pigeonhole.configfiles
|
Source11: %{name}-2.2-pigeonhole.configfiles
|
||||||
Source12: dovecot-2.3.configfiles
|
Source12: %{name}-2.3.configfiles
|
||||||
Source13: dovecot-2.3-pigeonhole.configfiles
|
Source13: %{name}-2.3-pigeonhole.configfiles
|
||||||
|
|
||||||
%description
|
%description
|
||||||
Dovecot is an IMAP and POP3 server for Linux and UNIX-like systems,
|
Dovecot is an IMAP and POP3 server for Linux and UNIX-like systems,
|
||||||
@ -73,87 +66,61 @@ for i in $RPM_SOURCE_DIR/*.configfiles ; do
|
|||||||
done
|
done
|
||||||
done
|
done
|
||||||
|
|
||||||
install -D -m 0644 %{S:5} %{buildroot}%{_datadir}/doc/packages/dovecot/README.SUSE
|
install -D -p -m 0644 %{S:5} %{buildroot}%{_datadir}/doc/packages/%{name}/README.SUSE
|
||||||
install -d %{buildroot}%{_sbindir}
|
install -d %{buildroot}%{_sbindir}
|
||||||
# install the init script
|
%{__install} -D -m 644 %{S:7} %{buildroot}%{_tmpfilesdir}/%{name}.conf
|
||||||
%if %{with systemd}
|
|
||||||
%{__install} -D -m 644 %{S:7} %{buildroot}/usr/lib/tmpfiles.d/dovecot.conf
|
|
||||||
%{__ln_s} -f %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name}
|
%{__ln_s} -f %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name}
|
||||||
install -D -m 0644 %{S:8} %{buildroot}%{_unitdir}/dovecot.service
|
install -D -p -m 0644 %{S:8} %{buildroot}%{_unitdir}/%{name}.service
|
||||||
install -D -m 0644 %{S:9} %{buildroot}%{_unitdir}/dovecot.socket
|
install -D -p -m 0644 %{S:9} %{buildroot}%{_unitdir}/%{name}.socket
|
||||||
%else
|
|
||||||
%{__install} -D -m 0755 %{S:3} %{buildroot}%{_sysconfdir}/init.d/%{name}
|
|
||||||
%{__ln_s} -f %{_sysconfdir}/init.d/%{name} %{buildroot}%{_sbindir}/rc%{name}
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# install pam config
|
# install pam config
|
||||||
%{__install} -D -m 0644 %{S:4} %{buildroot}%{_sysconfdir}/pam.d/%{name}
|
%{__install} -D -p -m 0644 %{S:4} %{buildroot}%{_sysconfdir}/pam.d/%{name}
|
||||||
# create /var directories
|
# create /var directories
|
||||||
%{__install} -m 0755 -Dd \
|
%{__install} -p -m 0755 -Dd \
|
||||||
%{buildroot}%{_var}/run/%{name}/login/ \
|
%{buildroot}%{_var}/run/%{name}/login/ \
|
||||||
%{buildroot}%{_var}/lib/%{name}/
|
%{buildroot}%{_var}/lib/%{name}/
|
||||||
|
|
||||||
%pre
|
%pre
|
||||||
getent group %{name} > /dev/null || /usr/sbin/groupadd -r %{name} >/dev/null 2>&1 || :
|
getent group %{name} > /dev/null || /usr/sbin/groupadd -r %{name} >/dev/null 2>&1 || :
|
||||||
getent passwd %{name} > /dev/null || /usr/sbin/useradd -g %{name} -s /bin/false -r -c "User for Dovecot imapd" -d %{_var}/run/%{name} %{name} >/dev/null 2>&1 || :
|
getent passwd %{name} > /dev/null || /usr/sbin/useradd -g %{name} -s /bin/false -r -c "User for Dovecot imapd" -d %{_var}/run/%{name} %{name}
|
||||||
getent passwd dovenull > /dev/null || /usr/sbin/useradd -g %{name} -s /bin/false -r -c "User for Dovecot login" -d %{_var}/run/%{name} dovenull >/dev/null 2>&1 || :
|
getent passwd dovenull > /dev/null || /usr/sbin/useradd -g %{name} -s /bin/false -r -c "User for Dovecot login" -d %{_var}/run/%{name} dovenull
|
||||||
# try to copy the default configuration.
|
# try to copy the default configuration.
|
||||||
#
|
#
|
||||||
# we fail silently if the dovecot-implementation package is not
|
# we fail silently if the dovecot-implementation package is not
|
||||||
# installed yet. This allows us to break a little build loop between
|
# installed yet. This allows us to break a little build loop between
|
||||||
# dovecot and dovecotXY.
|
# dovecot and dovecotXY.
|
||||||
if [ ! -e %{_sysconfdir}/%{name}/dovecot.conf -a -e %{_datadir}/%{name}/example-config/dovecot.conf ] ; then
|
if [ ! -e %{_sysconfdir}/%{name}/%{name}.conf -a -e %{_datadir}/%{name}/example-config/%{name}.conf ] ; then
|
||||||
# install default config
|
# install default config
|
||||||
echo "Did not find a /etc/dovecot/dovecot.conf. copying default configuration"
|
echo "Did not find a /etc/dovecot/dovecot.conf. copying default configuration"
|
||||||
cp -na %{_datadir}/%{name}/example-config/* %{_sysconfdir}/%{name}/
|
cp -na %{_datadir}/%{name}/example-config/* %{_sysconfdir}/%{name}/
|
||||||
# the chmod breaks the lda. lets use the more open permissions
|
# the chmod breaks the lda. lets use the more open permissions
|
||||||
#chmod -Rv o= %{_sysconfdir}/%{name}/
|
#chmod -Rv o= %{_sysconfdir}/%{name}/
|
||||||
fi
|
fi
|
||||||
%if %{with systemd}
|
|
||||||
%service_add_pre %{name}.service %{name}.socket
|
%service_add_pre %{name}.service %{name}.socket
|
||||||
%endif
|
|
||||||
|
|
||||||
%preun
|
%preun
|
||||||
%if %{with systemd}
|
|
||||||
%service_del_preun %{name}.service %{name}.socket
|
%service_del_preun %{name}.service %{name}.socket
|
||||||
%else
|
|
||||||
%stop_on_removal %{name}
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if %{with systemd}
|
|
||||||
%post
|
%post
|
||||||
%tmpfiles_create dovecot.conf
|
%tmpfiles_create %{_tmpfilesdir}/%{name}.conf
|
||||||
%service_add_post %{name}.service %{name}.socket
|
%service_add_post %{name}.service %{name}.socket
|
||||||
%endif
|
|
||||||
|
|
||||||
%postun
|
%postun
|
||||||
%if %{with systemd}
|
|
||||||
%service_del_postun %{name}.service
|
%service_del_postun %{name}.service
|
||||||
%else
|
|
||||||
%restart_on_update %{name}
|
|
||||||
%insserv_cleanup
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
%doc %{_datadir}/doc/packages/dovecot/
|
%doc %{_datadir}/doc/packages/%{name}/
|
||||||
# conf
|
# conf
|
||||||
%dir /etc/dovecot/
|
%dir /etc/%{name}/
|
||||||
%ghost %config(noreplace) /etc/dovecot/*
|
%ghost %config(noreplace) /etc/%{name}/*
|
||||||
%config(noreplace) %{_sysconfdir}/pam.d/%{name}
|
%config(noreplace) %{_sysconfdir}/pam.d/%{name}
|
||||||
%{_sbindir}/rc%{name}
|
%{_sbindir}/rc%{name}
|
||||||
%if %{with systemd}
|
%{_tmpfilesdir}/%{name}.conf
|
||||||
/usr/lib/tmpfiles.d/dovecot.conf
|
%{_unitdir}/%{name}.service
|
||||||
%{_unitdir}/dovecot.service
|
%{_unitdir}/%{name}.socket
|
||||||
%{_unitdir}/dovecot.socket
|
%dir %attr(0750,root,root) %{_localstatedir}/lib/%{name}
|
||||||
%else
|
%ghost %dir /run/%{name}
|
||||||
%{_sysconfdir}/init.d/%{name}
|
%ghost %dir /run/%{name}/login
|
||||||
%endif
|
|
||||||
# setting up permissions
|
|
||||||
%if ! %{with systemd}
|
|
||||||
%dir %attr(0755,root,root) %ghost %{_var}/run/%{name}/
|
|
||||||
%dir %attr(0750,root,%{name}) %ghost %{_var}/run/%{name}/login/
|
|
||||||
%endif
|
|
||||||
%dir %attr(0750,root,root) %{_var}/lib/%{name}/
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
# Type Path Mode UID GID Age Argument
|
# Type Path Mode UID GID Age Argument
|
||||||
d /var/run/dovecot/ 0755 root root - -
|
d /run/dovecot/ 0755 root root - -
|
||||||
d /var/run/dovecot/login/ 0750 root dovecot - -
|
d /run/dovecot/login/ 0750 root dovecot - -
|
||||||
|
Loading…
Reference in New Issue
Block a user