Hello community, here is the log from the commit of package cyrus-imapd for openSUSE:Factory checked in at 2018-12-04 20:55:19 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/cyrus-imapd (Old) and /work/SRC/openSUSE:Factory/.cyrus-imapd.new.19453 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cyrus-imapd" Tue Dec 4 20:55:19 2018 rev:71 rq:653579 version:2.4.19 Changes: -------- --- /work/SRC/openSUSE:Factory/cyrus-imapd/cyrus-imapd.changes 2017-11-25 08:43:04.181359916 +0100 +++ /work/SRC/openSUSE:Factory/.cyrus-imapd.new.19453/cyrus-imapd.changes 2018-12-04 20:55:33.260771040 +0100 @@ -1,0 +2,20 @@ +Mon Dec 3 15:29:11 UTC 2018 - Matthias Fehring <buschman...@opensuse.org> + +- Fixed startup of cyrus-imapd when using native systemd service + by setting RuntimeDirectory=cyrus-imapd in the service file + +------------------------------------------------------------------- +Wed Nov 28 14:33:41 UTC 2018 - Peter Varkoly <vark...@suse.com> + +- cyrus-imapd: migrate from cron to systemd timers + (bsc#1115438) + Created script service and timer replacing cron daily script + +------------------------------------------------------------------- +Wed Nov 28 09:47:59 UTC 2018 - Peter Varkoly <vark...@suse.com> + +- Please convert SysV init scripts by cyrus-imapd into native systemd services + (bsc#1115999) + Fixed using the with_systemd macro + +------------------------------------------------------------------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ cyrus-imapd.spec ++++++ --- /var/tmp/diff_new_pack.d7Pglx/_old 2018-12-04 20:55:34.236769953 +0100 +++ /var/tmp/diff_new_pack.d7Pglx/_new 2018-12-04 20:55:34.236769953 +0100 @@ -1,7 +1,7 @@ # # spec file for package cyrus-imapd # -# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -12,7 +12,7 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # @@ -24,12 +24,16 @@ %global cyrus_user cyrus %global cyrus_group mail %global cyrus_uid 96 -%if 0%{?suse_version} >= 1220 -# Systemd support not fully integrated, yet -#%%global with_systemd 1 -%global with_systemd 0 + +# +# sysvinit -- build for SysVinit and not for systemd +# +%if %{defined systemd_requires} +%global with_systemd 1 %endif -%if 0%{?with_systemd} +%bcond_with systemd + +%if %{with systemd} %global _servicename cyrus-imapd %else %global _servicename cyrus @@ -90,18 +94,18 @@ Requires(post): cyrus-sasl Requires(post): fileutils Requires(pre): pwdutils -Recommends: cron Recommends: cyradm Recommends: perl-TermReadLine-Gnu Conflicts: courier-imap Conflicts: cyrus-imapd-kolab Conflicts: imap BuildRoot: %{_tmppath}/%{name}-%{version}-build -%if 0%{?with_systemd} +%if %{with systemd} BuildRequires: systemd Requires(pre): %fillup_prereq %systemd_requires %else +Recommends: cron Requires(pre): %insserv_prereq %endif @@ -309,7 +313,7 @@ install -d %{buildroot}%{_fillupdir} install -m 644 SUSE/sysconfig.cyrus-imapd %{buildroot}%{_fillupdir}/sysconfig.%{_servicename} -%if 0%{?with_systemd} +%if %{with systemd} # systemd install -d %{buildroot}{%{_unitdir},%{_sbindir},%{_sysconfdir}/profile.d} install -m 644 SUSE/cyrus-imapd.service %{buildroot}%{_unitdir}/%{_servicename}.service @@ -322,10 +326,18 @@ ln -s %{_initddir}/%{_servicename} %{buildroot}%{_sbindir}/rc%{_servicename} %endif +# tools +install -d %{buildroot}%{_prefix}/lib/cyrus/tools +install -m 755 tools/* %{buildroot}%{_prefix}/lib/cyrus/tools/ + +%if %{with systemd} +install -m 755 SUSE/cron.daily.cyrus %{buildroot}%{_prefix}/lib/cyrus/tools/daily-backup.sh +install -m 644 SUSE/backup-cyrus.* %{buildroot}%{_unitdir} +%else # cron install -d %{buildroot}%{_sysconfdir}/cron.daily install -m 755 SUSE/cron.daily.cyrus %{buildroot}%{_sysconfdir}/cron.daily/suse.de-%{name} - +%endif # pam install -d %{buildroot}%{_sysconfdir}/pam.d install -m 644 SUSE/imap %{buildroot}%{_sysconfdir}/pam.d/imap @@ -344,10 +356,6 @@ # DB_CONFIG install -m 644 SUSE/DB_CONFIG %{buildroot}%{_var}/lib/imap/db -# tools -install -d %{buildroot}%{_prefix}/lib/cyrus/tools -install -m 755 tools/* %{buildroot}%{_prefix}/lib/cyrus/tools/ - # snmp install -d %{buildroot}%{_datadir}/snmp/mibs/ install -m 644 %{SOURCE1} %{buildroot}%{_datadir}/snmp/mibs/CMU.mib @@ -362,13 +370,17 @@ getent group %{cyrus_group} >/dev/null || groupadd -r %{cyrus_group} getent passwd %{cyrus_user} >/dev/null || useradd -r -o -g %{cyrus_group} -u %{cyrus_uid} -d %{_localstatedir}/lib/imap -s /sbin/nologin -c "user for %{name}" %{cyrus_user} usermod -d %{_localstatedir}/lib/imap %{cyrus_user} || : -%if 0%{?with_systemd} +%if %{with systemd} %service_add_pre %{_servicename}.service +%service_add_pre backup-cyrus.service +%service_add_pre backup-cyrus.timer %endif %preun -%if 0%{?with_systemd} +%if %{with systemd} %service_del_preun %{_servicename}.service +%service_del_preun backup-cyrus.service +%service_del_preun backup-cyrus.timer %else %stop_on_removal %{_servicename} %endif @@ -394,16 +406,20 @@ rm -rf var/lib/imap ln -sf ../imap %{_localstatedir}/lib/imap } -%if 0%{?with_systemd} +%if %{with systemd} %{fillup_only %{_servicename}} %service_add_post %{_servicename}.service +%service_add_post backup-cyrus.service +%service_add_post backup-cyrus.timer %else %{fillup_and_insserv %{_servicename}} %endif %postun -%if 0%{?with_systemd} +%if %{with systemd} %service_del_postun %{_servicename}.service +%service_del_postun backup-cyrus.service +%service_del_postun backup-cyrus.timer %else %restart_on_update %{_servicename} %insserv_cleanup @@ -412,7 +428,6 @@ %files %defattr(-, root, root) %config %{_sysconfdir}/pam.d/* -%config %{_sysconfdir}/cron.daily/suse.de-%{name} %config(noreplace) %{_sysconfdir}/imapd.conf %config(noreplace) %{_sysconfdir}/imapd.annotations.conf %config(noreplace) %{_sysconfdir}/cyrus.conf @@ -431,10 +446,11 @@ %attr(0750, %{cyrus_user}, %{cyrus_group}) %{_var}/spool/imap %attr(0750, %{cyrus_user}, %{cyrus_group}) %{_var}/adm/backup/imap %config %{_fillupdir}/sysconfig.%{_servicename} -%if 0%{?with_systemd} -%{_unitdir}/%{_servicename}.service +%if %{with systemd} +%{_unitdir}/* %config %{_sysconfdir}/profile.d/%{name}.alias.sh %else +%config %{_sysconfdir}/cron.daily/suse.de-%{name} %{_initddir}/%{_servicename} %endif %{_sbindir}/rc%{_servicename} ++++++ cyrus-imapd-rc-2.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SUSE/backup-cyrus.service new/SUSE/backup-cyrus.service --- old/SUSE/backup-cyrus.service 1970-01-01 01:00:00.000000000 +0100 +++ new/SUSE/backup-cyrus.service 2018-11-28 15:19:30.426213189 +0100 @@ -0,0 +1,9 @@ +[Unit] +Description=Daily Backup of Cyrus Databases +ConditionACPower=true +After=local-fs.target + +[Service] +Type=oneshot +ExecStart=/usr/lib/cyrus/tools/daily-backup.sh + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SUSE/backup-cyrus.timer new/SUSE/backup-cyrus.timer --- old/SUSE/backup-cyrus.timer 1970-01-01 01:00:00.000000000 +0100 +++ new/SUSE/backup-cyrus.timer 2018-11-28 15:16:00.679146573 +0100 @@ -0,0 +1,13 @@ +[Unit] +Description=Backup of Cyrus Databases +After=local-fs.target + +[Timer] +OnCalendar=daily +AccuracySec=1m +RandomizedDelaySec=2h +Persistent=true + +[Install] +WantedBy=timers.target + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SUSE/cyrus-imapd.service new/SUSE/cyrus-imapd.service --- old/SUSE/cyrus-imapd.service 2014-01-29 18:41:50.000000000 +0100 +++ new/SUSE/cyrus-imapd.service 2018-12-03 16:27:33.438769505 +0100 @@ -8,12 +8,13 @@ User=cyrus Group=mail EnvironmentFile=-/etc/sysconfig/cyrus-imapd -PIDFile=/var/run/cyrus.pid +PIDFile=/run/cyrus-imapd/master.pid ExecStartPre=-/bin/echo 'Starting Cyrus IMAP and POP server' -ExecStart=/usr/lib/cyrus/bin/master -p /var/run/cyrus.pid -d $CYRUS_SNMP_OPTIONS $CYRUS_ADDITIONAL_OPTIONS +ExecStart=/usr/lib/cyrus/bin/master -p /run/cyrus-imapd/master.pid -d $CYRUS_SNMP_OPTIONS $CYRUS_ADDITIONAL_OPTIONS ExecReload=/bin/kill -HUP $MAINPID ExecStop=/bin/kill -TERM $MAINPID PrivateTmp=true +RuntimeDirectory=cyrus-imapd [Install] WantedBy=multi-user.target