diff --git a/dovecot.changes b/dovecot.changes index 775a4ad..2d87a99 100644 --- a/dovecot.changes +++ b/dovecot.changes @@ -1,3 +1,21 @@ +------------------------------------------------------------------- +Mon Feb 14 10:04:47 UTC 2022 - Dirk Stoecker + +- Fix changelog and permissions + +------------------------------------------------------------------- +Wed Apr 21 11:50:25 UTC 2021 - Peter Varkoly + +- (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 - Илья Индиго +- 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 @@ -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 - start an unversioned wrapper package again - diff --git a/dovecot.init b/dovecot.init deleted file mode 100644 index 417a24b..0000000 --- a/dovecot.init +++ /dev/null @@ -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 -# Marcus Rueckert -# 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 diff --git a/dovecot.spec b/dovecot.spec index 7c7e3d4..36cdbf4 100644 --- a/dovecot.spec +++ b/dovecot.spec @@ -1,7 +1,7 @@ # # 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 # 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 Version: 2.3 Release: 0 @@ -31,23 +25,22 @@ Group: Productivity/Networking/Email/Servers URL: http://www.dovecot.org/ PreReq: dovecot-implementation PreReq: shadow -Recommends: dovecot23 +Recommends: %{name}23 #!BuildIgnore: dovecot-implementation BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildArch: noarch -Source0: dovecot-2.0.configfiles -Source1: dovecot-2.1.configfiles -Source2: dovecot-2.2.configfiles -Source3: %{name}.init +Source0: %{name}-2.0.configfiles +Source1: %{name}-2.1.configfiles +Source2: %{name}-2.2.configfiles Source4: %{name}.pam Source5: %{name}.README.SUSE -Source7: dovecot.tmpfiles.d -Source8: dovecot.service -Source9: dovecot.socket -Source10: dovecot-2.1-pigeonhole.configfiles -Source11: dovecot-2.2-pigeonhole.configfiles -Source12: dovecot-2.3.configfiles -Source13: dovecot-2.3-pigeonhole.configfiles +Source7: %{name}.tmpfiles.d +Source8: %{name}.service +Source9: %{name}.socket +Source10: %{name}-2.1-pigeonhole.configfiles +Source11: %{name}-2.2-pigeonhole.configfiles +Source12: %{name}-2.3.configfiles +Source13: %{name}-2.3-pigeonhole.configfiles %description 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 -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 the init script -%if %{with systemd} -%{__install} -D -m 644 %{S:7} %{buildroot}/usr/lib/tmpfiles.d/dovecot.conf +%{__install} -D -m 644 %{S:7} %{buildroot}%{_tmpfilesdir}/%{name}.conf %{__ln_s} -f %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name} -install -D -m 0644 %{S:8} %{buildroot}%{_unitdir}/dovecot.service -install -D -m 0644 %{S:9} %{buildroot}%{_unitdir}/dovecot.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 -D -p -m 0644 %{S:8} %{buildroot}%{_unitdir}/%{name}.service +install -D -p -m 0644 %{S:9} %{buildroot}%{_unitdir}/%{name}.socket # 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 -%{__install} -m 0755 -Dd \ +%{__install} -p -m 0755 -Dd \ %{buildroot}%{_var}/run/%{name}/login/ \ %{buildroot}%{_var}/lib/%{name}/ %pre 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 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 %{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 # try to copy the default configuration. # # we fail silently if the dovecot-implementation package is not # installed yet. This allows us to break a little build loop between # 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 echo "Did not find a /etc/dovecot/dovecot.conf. copying default configuration" cp -na %{_datadir}/%{name}/example-config/* %{_sysconfdir}/%{name}/ # the chmod breaks the lda. lets use the more open permissions #chmod -Rv o= %{_sysconfdir}/%{name}/ fi -%if %{with systemd} %service_add_pre %{name}.service %{name}.socket -%endif %preun -%if %{with systemd} %service_del_preun %{name}.service %{name}.socket -%else -%stop_on_removal %{name} -%endif -%if %{with systemd} %post -%tmpfiles_create dovecot.conf +%tmpfiles_create %{_tmpfilesdir}/%{name}.conf %service_add_post %{name}.service %{name}.socket -%endif %postun -%if %{with systemd} %service_del_postun %{name}.service -%else -%restart_on_update %{name} -%insserv_cleanup -%endif %files %defattr(-,root,root) -%doc %{_datadir}/doc/packages/dovecot/ +%doc %{_datadir}/doc/packages/%{name}/ # conf -%dir /etc/dovecot/ -%ghost %config(noreplace) /etc/dovecot/* +%dir /etc/%{name}/ +%ghost %config(noreplace) /etc/%{name}/* %config(noreplace) %{_sysconfdir}/pam.d/%{name} %{_sbindir}/rc%{name} -%if %{with systemd} -/usr/lib/tmpfiles.d/dovecot.conf -%{_unitdir}/dovecot.service -%{_unitdir}/dovecot.socket -%else -%{_sysconfdir}/init.d/%{name} -%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}/ +%{_tmpfilesdir}/%{name}.conf +%{_unitdir}/%{name}.service +%{_unitdir}/%{name}.socket +%dir %attr(0750,root,root) %{_localstatedir}/lib/%{name} +%ghost %dir /run/%{name} +%ghost %dir /run/%{name}/login %changelog diff --git a/dovecot.tmpfiles.d b/dovecot.tmpfiles.d index c6b1e38..30c4683 100644 --- a/dovecot.tmpfiles.d +++ b/dovecot.tmpfiles.d @@ -1,3 +1,3 @@ -# Type Path Mode UID GID Age Argument -d /var/run/dovecot/ 0755 root root - - -d /var/run/dovecot/login/ 0750 root dovecot - - +# Type Path Mode UID GID Age Argument +d /run/dovecot/ 0755 root root - - +d /run/dovecot/login/ 0750 root dovecot - -