SHA256
1
0
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:
Dominique Leuenberger 2022-02-14 21:35:59 +00:00 committed by Git OBS Bridge
commit 01acc2c8be
4 changed files with 52 additions and 162 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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 - -