From 59a6f490a760d6d6426ef9f37900a986ae8f6b44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Bidar?= Date: Thu, 11 May 2023 22:11:16 +0300 Subject: [PATCH 01/14] Linux: Convert spec file back to Unix-like LF endings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes: 75f2f87f552df51a4d679adb753167b169b629fe Signed-off-by: Björn Bidar --- davmail.spec | 442 +++++++++++++++++++++++++-------------------------- 1 file changed, 221 insertions(+), 221 deletions(-) diff --git a/davmail.spec b/davmail.spec index 04c7e4e6..c1b460ce 100644 --- a/davmail.spec +++ b/davmail.spec @@ -1,221 +1,221 @@ -%{?!davrel: %define davrel 6.1.0} -%{?!davsvn: %define davsvn 3390} -%define davver %{davrel}-%{davsvn} - -%define systemd_support 0%{?suse_version} >= 1210 || 0%{?el7} || 0%{?el8} || 0%{?fedora} -%define systemd_macros 0%{?suse_version} >= 1210 - -Summary: DavMail is a POP/IMAP/SMTP/Caldav/Carddav/LDAP gateway for Microsoft Exchange -Name: davmail -URL: http://davmail.sourceforge.net -Version: %{davrel} -Release: 1%{?dist} -License: GPL-2.0+ -Group: Applications/Internet -BuildArch: noarch -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root -BuildRequires: ant >= 1.7.1, desktop-file-utils -%{?fedora:BuildRequires: lua} -%{?fedora:BuildRequires: systemd} -%if %systemd_macros -BuildRequires: systemd-rpm-macros -%endif -%{?el6:BuildRequires: ant-apache-regexp} -%if 0%{?fedora} == 18 -# missing ant dep on original Fedora 18 -BuildRequires: xml-commons-apis -%endif -# force Java 7 on RHEL6 -%{?el6:BuildRequires: java-1.8.0-openjdk-devel} -%if 0%{?el7} || 0%{?el8} || 0%{?fedora} -BuildRequires: java-1.8.0-openjdk-devel -%else -BuildRequires: java-devel >= 1.8.0 -BuildRequires: eclipse-swt -%endif -# compile with JavaFX on Fedora -%if 0%{?fedora} > 25 -BuildRequires: javafx -%endif -Requires: coreutils -Requires: filesystem -Requires(pre): /usr/sbin/useradd, /usr/sbin/groupadd -Requires(post): coreutils, filesystem, /sbin/chkconfig -Requires(preun): /sbin/service, coreutils, /sbin/chkconfig, /usr/sbin/userdel, /usr/sbin/groupdel -Requires(postun): /sbin/service - -%if 0%{?el7} || 0%{?el8} || 0%{?fedora} -Requires: /etc/init.d, logrotate, java-1.8.0-openjdk -%else -Requires: /etc/init.d, logrotate, jre >= 1.8.0 -Requires: eclipse-swt -%endif - -Source0: %{name}-src-%{davver}.tgz - -%description -DavMail is a POP/IMAP/SMTP/Caldav/Carddav/LDAP Exchange gateway allowing -users to use any mail/calendar client with an Exchange server, even from -the internet or behind a firewall through Outlook Web Access. DavMail -now includes an LDAP gateway to Exchange global address book and user -personal contacts to allow recipient address completion in mail compose -window and full calendar support with attendees free/busy display. - -%prep -%setup -q -n %{name}-src-%{davver} - -%build -# JAVA_HOME points to the JDK root directory: ${JAVA_HOME}/{bin,lib} -jcompiler=`readlink -f $(which javac)` -bin=`dirname ${jcompiler}` # level up -java_home=`dirname ${bin}` # level up -export JAVA_HOME=${java_home} -# /scratch/rpmbuild/davmail-src-4.2.0-2066/build.xml:41: Please force UTF-8 encoding to build debian package with set ANT_OPTS=-Dfile.encoding=UTF-8 -export ANT_OPTS="-Dfile.encoding=UTF-8" - -%if 0%{?el6} || 0%{?el7} || 0%{?el8} || 0%{?fedora} || 0%{?is_opensuse} || 0%{?suse_version} -echo keep included swt on el7 and opensuse -%else -# externalize SWT -rm lib/swt* -[ -f %{_libdir}/java/swt.jar ] && ln -s %{_libdir}/java/swt.jar lib/swt.jar || ln -s /usr/lib/java/swt.jar lib/swt.jar -%endif - -# we have java 8 -ant -Dant.java.version=1.8 prepare-dist - -%install -rm -rf $RPM_BUILD_ROOT -mkdir -p $RPM_BUILD_ROOT%{_bindir} -mkdir -p $RPM_BUILD_ROOT%{_sbindir} -mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d -mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/init.d -mkdir -p $RPM_BUILD_ROOT%{_datadir}/applications -mkdir -p $RPM_BUILD_ROOT%{_datadir}/pixmaps -mkdir -p $RPM_BUILD_ROOT%{_datadir}/davmail/lib -mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/lib/davmail -mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log - -# Init scripts, icons, configurations -install -m 0775 src/bin/davmail $RPM_BUILD_ROOT%{_bindir}/davmail -install -m 0644 src/init/davmail-logrotate $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/davmail -install -m 0644 src/etc/davmail.properties $RPM_BUILD_ROOT%{_sysconfdir} -# https://fedoraproject.org/wiki/TomCallaway/DesktopFileVendor -desktop-file-install --dir $RPM_BUILD_ROOT%{_datadir}/applications/ src/desktop/davmail.desktop --vendor="" -install -m 0775 src/init/davmail-wrapper $RPM_BUILD_ROOT%{_localstatedir}/lib/davmail/davmail -%if %systemd_support -install -D -m 644 src/init/davmail.service %{buildroot}%{_unitdir}/davmail.service -%else -install -m 0775 src/init/davmail-init $RPM_BUILD_ROOT%{_sysconfdir}/init.d/davmail -ln -sf %{_sysconfdir}/init.d/davmail $RPM_BUILD_ROOT%{_sbindir}/rcdavmail -%endif - -# Actual DavMail files -install -m 0644 src/java/tray32.png $RPM_BUILD_ROOT%{_datadir}/pixmaps/davmail.png -rm -f dist/lib/*win32*.jar -[ -f %{_libdir}/java/swt.jar ] && ln -s %{_libdir}/java/swt.jar $RPM_BUILD_ROOT%{_datadir}/davmail/lib/swt.jar || ln -s /usr/lib/java/swt.jar $RPM_BUILD_ROOT%{_datadir}/davmail/lib/swt.jar -rm -f dist/lib/*x86*.jar -rm -f dist/lib/*growl*.jar -install -m 0664 dist/lib/* $RPM_BUILD_ROOT%{_datadir}/davmail/lib/ -install -m 0664 dist/*.jar $RPM_BUILD_ROOT%{_datadir}/davmail/ - -%if 0%{?sle_version} != 120300 && 0%{?suse_version} != 1310 && 0%{?suse_version} != 1320 -mkdir -p $RPM_BUILD_ROOT%{_datadir}/metainfo -install -m 0644 src/appstream/org.davmail.DavMail.appdata.xml $RPM_BUILD_ROOT%{_datadir}/metainfo -%endif - -%clean -rm -rf $RPM_BUILD_ROOT - -%pre -/usr/sbin/groupadd -f -r davmail > /dev/null 2>&1 || : -/usr/sbin/useradd -r -s /sbin/nologin -d /var/lib/davmail -M \ - -g davmail davmail > /dev/null 2>&1 || : -%if %systemd_macros -%service_add_pre davmail.service -%endif - -%post -file=/var/log/davmail.log -if [ ! -f ${file} ] - then - /bin/touch ${file} -fi -/bin/chown davmail:davmail ${file} -/bin/chmod 0640 ${file} - -%if %systemd_macros -%service_add_post davmail.service -%else -# proper service handling http://en.opensuse.org/openSUSE:Cron_rename -%{?fillup_and_insserv: -%{fillup_and_insserv -y davmail} -} -%{!?fillup_and_insserv: -# undefined -/sbin/chkconfig --add davmail -#/sbin/chkconfig davmail on -} -%endif - -%preun -%if %systemd_macros -%service_del_preun davmail.service -if [ "$1" = "0" ]; then -%else -if [ "$1" = "0" ]; then - /sbin/service davmail stop > /dev/null 2>&1 || : - /bin/rm -f /var/lib/davmail/pid > /dev/null 2>&1 || : - %{?stop_on_removal: - %{stop_on_removal davmail} - } - %{!?stop_on_removal: - # undefined - /sbin/chkconfig davmail off - /sbin/chkconfig --del davmail - } -%endif - /usr/sbin/userdel davmail - if [ ! `grep davmail /etc/group` = "" ]; then - /usr/sbin/groupdel davmail - fi -fi - -%postun -%if %systemd_macros -%service_del_postun davmail.service -%else -if [ $1 -ge 1 ]; then - %{?restart_on_update: - %{restart_on_update davmail} - %insserv_cleanup - } - %{!?restart_on_update: - # undefined - /sbin/service davmail condrestart > /dev/null 2>&1 || : - } -fi -%endif - -%files -%defattr (-,root,root,-) -%{_bindir}/* - -%if %systemd_support -%{_unitdir}/davmail.service -%else -%{_sysconfdir}/init.d/davmail -%{_sbindir}/rcdavmail -%endif - -%config(noreplace) %{_sysconfdir}/logrotate.d/davmail -%config(noreplace) %{_sysconfdir}/davmail.properties -%{_datadir}/applications/* -%{_datadir}/pixmaps/* -%{_datadir}/davmail/ -%if 0%{?sle_version} != 120300 && 0%{?suse_version} != 1310 && 0%{?suse_version} != 1320 -%{_datadir}/metainfo/org.davmail.DavMail.appdata.xml -%endif -%attr(0775,davmail,davmail) %{_localstatedir}/lib/davmail - -%changelog +%{?!davrel: %define davrel 6.1.0} +%{?!davsvn: %define davsvn 3390} +%define davver %{davrel}-%{davsvn} + +%define systemd_support 0%{?suse_version} >= 1210 || 0%{?el7} || 0%{?el8} || 0%{?fedora} +%define systemd_macros 0%{?suse_version} >= 1210 + +Summary: DavMail is a POP/IMAP/SMTP/Caldav/Carddav/LDAP gateway for Microsoft Exchange +Name: davmail +URL: http://davmail.sourceforge.net +Version: %{davrel} +Release: 1%{?dist} +License: GPL-2.0+ +Group: Applications/Internet +BuildArch: noarch +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root +BuildRequires: ant >= 1.7.1, desktop-file-utils +%{?fedora:BuildRequires: lua} +%{?fedora:BuildRequires: systemd} +%if %systemd_macros +BuildRequires: systemd-rpm-macros +%endif +%{?el6:BuildRequires: ant-apache-regexp} +%if 0%{?fedora} == 18 +# missing ant dep on original Fedora 18 +BuildRequires: xml-commons-apis +%endif +# force Java 7 on RHEL6 +%{?el6:BuildRequires: java-1.8.0-openjdk-devel} +%if 0%{?el7} || 0%{?el8} || 0%{?fedora} +BuildRequires: java-1.8.0-openjdk-devel +%else +BuildRequires: java-devel >= 1.8.0 +BuildRequires: eclipse-swt +%endif +# compile with JavaFX on Fedora +%if 0%{?fedora} > 25 +BuildRequires: javafx +%endif +Requires: coreutils +Requires: filesystem +Requires(pre): /usr/sbin/useradd, /usr/sbin/groupadd +Requires(post): coreutils, filesystem, /sbin/chkconfig +Requires(preun): /sbin/service, coreutils, /sbin/chkconfig, /usr/sbin/userdel, /usr/sbin/groupdel +Requires(postun): /sbin/service + +%if 0%{?el7} || 0%{?el8} || 0%{?fedora} +Requires: /etc/init.d, logrotate, java-1.8.0-openjdk +%else +Requires: /etc/init.d, logrotate, jre >= 1.8.0 +Requires: eclipse-swt +%endif + +Source0: %{name}-src-%{davver}.tgz + +%description +DavMail is a POP/IMAP/SMTP/Caldav/Carddav/LDAP Exchange gateway allowing +users to use any mail/calendar client with an Exchange server, even from +the internet or behind a firewall through Outlook Web Access. DavMail +now includes an LDAP gateway to Exchange global address book and user +personal contacts to allow recipient address completion in mail compose +window and full calendar support with attendees free/busy display. + +%prep +%setup -q -n %{name}-src-%{davver} + +%build +# JAVA_HOME points to the JDK root directory: ${JAVA_HOME}/{bin,lib} +jcompiler=`readlink -f $(which javac)` +bin=`dirname ${jcompiler}` # level up +java_home=`dirname ${bin}` # level up +export JAVA_HOME=${java_home} +# /scratch/rpmbuild/davmail-src-4.2.0-2066/build.xml:41: Please force UTF-8 encoding to build debian package with set ANT_OPTS=-Dfile.encoding=UTF-8 +export ANT_OPTS="-Dfile.encoding=UTF-8" + +%if 0%{?el6} || 0%{?el7} || 0%{?el8} || 0%{?fedora} || 0%{?is_opensuse} || 0%{?suse_version} +echo keep included swt on el7 and opensuse +%else +# externalize SWT +rm lib/swt* +[ -f %{_libdir}/java/swt.jar ] && ln -s %{_libdir}/java/swt.jar lib/swt.jar || ln -s /usr/lib/java/swt.jar lib/swt.jar +%endif + +# we have java 8 +ant -Dant.java.version=1.8 prepare-dist + +%install +rm -rf $RPM_BUILD_ROOT +mkdir -p $RPM_BUILD_ROOT%{_bindir} +mkdir -p $RPM_BUILD_ROOT%{_sbindir} +mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d +mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/init.d +mkdir -p $RPM_BUILD_ROOT%{_datadir}/applications +mkdir -p $RPM_BUILD_ROOT%{_datadir}/pixmaps +mkdir -p $RPM_BUILD_ROOT%{_datadir}/davmail/lib +mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/lib/davmail +mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log + +# Init scripts, icons, configurations +install -m 0775 src/bin/davmail $RPM_BUILD_ROOT%{_bindir}/davmail +install -m 0644 src/init/davmail-logrotate $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/davmail +install -m 0644 src/etc/davmail.properties $RPM_BUILD_ROOT%{_sysconfdir} +# https://fedoraproject.org/wiki/TomCallaway/DesktopFileVendor +desktop-file-install --dir $RPM_BUILD_ROOT%{_datadir}/applications/ src/desktop/davmail.desktop --vendor="" +install -m 0775 src/init/davmail-wrapper $RPM_BUILD_ROOT%{_localstatedir}/lib/davmail/davmail +%if %systemd_support +install -D -m 644 src/init/davmail.service %{buildroot}%{_unitdir}/davmail.service +%else +install -m 0775 src/init/davmail-init $RPM_BUILD_ROOT%{_sysconfdir}/init.d/davmail +ln -sf %{_sysconfdir}/init.d/davmail $RPM_BUILD_ROOT%{_sbindir}/rcdavmail +%endif + +# Actual DavMail files +install -m 0644 src/java/tray32.png $RPM_BUILD_ROOT%{_datadir}/pixmaps/davmail.png +rm -f dist/lib/*win32*.jar +[ -f %{_libdir}/java/swt.jar ] && ln -s %{_libdir}/java/swt.jar $RPM_BUILD_ROOT%{_datadir}/davmail/lib/swt.jar || ln -s /usr/lib/java/swt.jar $RPM_BUILD_ROOT%{_datadir}/davmail/lib/swt.jar +rm -f dist/lib/*x86*.jar +rm -f dist/lib/*growl*.jar +install -m 0664 dist/lib/* $RPM_BUILD_ROOT%{_datadir}/davmail/lib/ +install -m 0664 dist/*.jar $RPM_BUILD_ROOT%{_datadir}/davmail/ + +%if 0%{?sle_version} != 120300 && 0%{?suse_version} != 1310 && 0%{?suse_version} != 1320 +mkdir -p $RPM_BUILD_ROOT%{_datadir}/metainfo +install -m 0644 src/appstream/org.davmail.DavMail.appdata.xml $RPM_BUILD_ROOT%{_datadir}/metainfo +%endif + +%clean +rm -rf $RPM_BUILD_ROOT + +%pre +/usr/sbin/groupadd -f -r davmail > /dev/null 2>&1 || : +/usr/sbin/useradd -r -s /sbin/nologin -d /var/lib/davmail -M \ + -g davmail davmail > /dev/null 2>&1 || : +%if %systemd_macros +%service_add_pre davmail.service +%endif + +%post +file=/var/log/davmail.log +if [ ! -f ${file} ] + then + /bin/touch ${file} +fi +/bin/chown davmail:davmail ${file} +/bin/chmod 0640 ${file} + +%if %systemd_macros +%service_add_post davmail.service +%else +# proper service handling http://en.opensuse.org/openSUSE:Cron_rename +%{?fillup_and_insserv: +%{fillup_and_insserv -y davmail} +} +%{!?fillup_and_insserv: +# undefined +/sbin/chkconfig --add davmail +#/sbin/chkconfig davmail on +} +%endif + +%preun +%if %systemd_macros +%service_del_preun davmail.service +if [ "$1" = "0" ]; then +%else +if [ "$1" = "0" ]; then + /sbin/service davmail stop > /dev/null 2>&1 || : + /bin/rm -f /var/lib/davmail/pid > /dev/null 2>&1 || : + %{?stop_on_removal: + %{stop_on_removal davmail} + } + %{!?stop_on_removal: + # undefined + /sbin/chkconfig davmail off + /sbin/chkconfig --del davmail + } +%endif + /usr/sbin/userdel davmail + if [ ! `grep davmail /etc/group` = "" ]; then + /usr/sbin/groupdel davmail + fi +fi + +%postun +%if %systemd_macros +%service_del_postun davmail.service +%else +if [ $1 -ge 1 ]; then + %{?restart_on_update: + %{restart_on_update davmail} + %insserv_cleanup + } + %{!?restart_on_update: + # undefined + /sbin/service davmail condrestart > /dev/null 2>&1 || : + } +fi +%endif + +%files +%defattr (-,root,root,-) +%{_bindir}/* + +%if %systemd_support +%{_unitdir}/davmail.service +%else +%{_sysconfdir}/init.d/davmail +%{_sbindir}/rcdavmail +%endif + +%config(noreplace) %{_sysconfdir}/logrotate.d/davmail +%config(noreplace) %{_sysconfdir}/davmail.properties +%{_datadir}/applications/* +%{_datadir}/pixmaps/* +%{_datadir}/davmail/ +%if 0%{?sle_version} != 120300 && 0%{?suse_version} != 1310 && 0%{?suse_version} != 1320 +%{_datadir}/metainfo/org.davmail.DavMail.appdata.xml +%endif +%attr(0775,davmail,davmail) %{_localstatedir}/lib/davmail + +%changelog From d6b94b1499d2705757d93f63b4639272b3733053 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Bidar?= Date: Thu, 11 May 2023 22:21:28 +0300 Subject: [PATCH 02/14] Linux: Add back changelog file and convert to OpenSUSE format MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Formated as per: https://en.opensuse.org/openSUSE:Creating_a_changes_file_(RPM) Changelog will be appended as needed by the obs. Fixes: 75f2f87f552df51a4d679adb753167b169b629fe Signed-off-by: Björn Bidar --- davmail.changes | 134 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 134 insertions(+) create mode 100644 davmail.changes diff --git a/davmail.changes b/davmail.changes new file mode 100644 index 00000000..54d98776 --- /dev/null +++ b/davmail.changes @@ -0,0 +1,134 @@ +------------------------------------------------------------------- +Wed Jul 07 2021 Michal Suchanek + +- Tumbleweed no longer supports init.d services and fails build when installed + - Only install one of init.d service and systemd service. + - Use systemd service macros on SUSE + +------------------------------------------------------------------- +Mon Jul 05 2021 Mickael Guessant + +- update to 6.0.0 + +------------------------------------------------------------------- +Wed Apr 15 2020 Mickael Guessant + +- update to 5.5.0 + +------------------------------------------------------------------- +Mon Nov 11 2019 Mickael Guessant + +- update to 5.4.0 + +------------------------------------------------------------------- +Mon Aug 12 2019 Mickael Guessant + +- update to 5.3.1 + +------------------------------------------------------------------- +Tue Aug 06 2019 Mickael Guessant + +- update to 5.3.0 + +------------------------------------------------------------------- +Mon Feb 11 2019 Mickael Guessant + +- update to 5.2.0 + +------------------------------------------------------------------- +Thu Dec 20 2018 Mickael Guessant + +- update to 5.1.0 + +------------------------------------------------------------------- +Wed Nov 21 2018 Mickael Guessant + +- update to 5.0.0 +- merge files in trunk +- various distribution specific fixes + +------------------------------------------------------------------- +Wed Sep 05 2018 Mickael Guessant + +- update to 4.9.0 + +------------------------------------------------------------------- +Wed Apr 04 2018 Mickael Guessant + +- update to 4.8.4 and build on EL7 with included SWT + +------------------------------------------------------------------- +Wed Dec 13 2017 Mickael Guessant + +- update to 4.8.1 and fix RHEL 6 ant buildrequires + +------------------------------------------------------------------- +Sun Oct 04 2015 Mickael Guessant + +- a few path fixes and switch to noarch mode + +------------------------------------------------------------------- +Sun Feb 22 2015 Mickael Guessant + +- Add rcdavmail link, mark logrotate config file + +------------------------------------------------------------------- +Sun Feb 22 2015 Mickael Guessant + +- Fix License and URL + +------------------------------------------------------------------- +Tue Feb 17 2015 Mickael Guessant + +- Adapted spec for davmail 4.6.1 + +------------------------------------------------------------------- +Sun Feb 15 2015 Mickael Guessant + +- Fix JAVA HOME detection for openSUSE_13.2 + +------------------------------------------------------------------- +Sun Feb 01 2015 Achim Herwig + +- Adapted spec for davmail-src-4.6.0-2331.tgz + +------------------------------------------------------------------- +Tue Oct 28 2014 Dmitri Bachtin + +- Adapted spec for davmail-src-4.5.1-2303.tgz + +------------------------------------------------------------------- +Fri Dec 09 2011 Marcin Dulak + +- use /var/run/davmail.lock instead of /var/lock/subsys/davmail + http://en.opensuse.org/openSUSE:Packaging_checks#subsys-unsupported + +------------------------------------------------------------------- +Fri Dec 09 2011 Marcin Dulak + +- fixed https://bugzilla.novell.com/show_bug.cgi?id=734592 + +------------------------------------------------------------------- +Wed Apr 20 2011 Marcin Dulak + +- proper service handling on openSUSE http://en.opensuse.org/openSUSE:Cron_rename + +------------------------------------------------------------------- +Thu Mar 24 2011 Marcin Dulak + +- do not hard-code gid/uid: https://sourceforge.net/mailarchive/message.php?msg_id=27249602 + +------------------------------------------------------------------- +Fri Mar 18 2011 Marcin Dulak + +- fixed incorrect JAVA_HOME +- added i386 i586 arch +- uses davmail_gid and davmail_uid of default 213 +- uses /etc/init.d for compatibility with other dists +- BuildRequires and Requires compatible with openSUSE 11.4 +- removed runlevels 2 4 from davmail-init: https://bugzilla.novell.com/show_bug.cgi?id=675870 + +------------------------------------------------------------------- +Mon Oct 18 2010 Marko Myllynen + +- Initial version From 07ee1c82845a8e5c7cddbbea707d86adb4a5f7bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Bidar?= Date: Fri, 12 May 2023 01:10:02 +0300 Subject: [PATCH 03/14] Linux: Remove superfluous-%clean-section MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes E: superfluous-%clean-section: The spec section %clean should not be used any longer. RPM provides its own clean logic. Signed-off-by: Björn Bidar --- davmail.spec | 3 --- 1 file changed, 3 deletions(-) diff --git a/davmail.spec b/davmail.spec index c1b460ce..d4665754 100644 --- a/davmail.spec +++ b/davmail.spec @@ -124,9 +124,6 @@ mkdir -p $RPM_BUILD_ROOT%{_datadir}/metainfo install -m 0644 src/appstream/org.davmail.DavMail.appdata.xml $RPM_BUILD_ROOT%{_datadir}/metainfo %endif -%clean -rm -rf $RPM_BUILD_ROOT - %pre /usr/sbin/groupadd -f -r davmail > /dev/null 2>&1 || : /usr/sbin/useradd -r -s /sbin/nologin -d /var/lib/davmail -M \ From 0dad978591f3a2e989fdc5b76b76ecceee8e3633 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Bidar?= Date: Fri, 12 May 2023 01:11:45 +0300 Subject: [PATCH 04/14] Linux: Don't repeat package name in spec file MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes: W: name-repeated-in-summary DavMail Signed-off-by: Björn Bidar --- davmail.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/davmail.spec b/davmail.spec index d4665754..f03fe4a8 100644 --- a/davmail.spec +++ b/davmail.spec @@ -5,7 +5,7 @@ %define systemd_support 0%{?suse_version} >= 1210 || 0%{?el7} || 0%{?el8} || 0%{?fedora} %define systemd_macros 0%{?suse_version} >= 1210 -Summary: DavMail is a POP/IMAP/SMTP/Caldav/Carddav/LDAP gateway for Microsoft Exchange +Summary: A POP/IMAP/SMTP/Caldav/Carddav/LDAP gateway for Microsoft Exchange Name: davmail URL: http://davmail.sourceforge.net Version: %{davrel} @@ -54,7 +54,7 @@ Requires: eclipse-swt Source0: %{name}-src-%{davver}.tgz %description -DavMail is a POP/IMAP/SMTP/Caldav/Carddav/LDAP Exchange gateway allowing +A POP/IMAP/SMTP/Caldav/Carddav/LDAP Exchange gateway allowing users to use any mail/calendar client with an Exchange server, even from the internet or behind a firewall through Outlook Web Access. DavMail now includes an LDAP gateway to Exchange global address book and user From 3cbc51a485348649b6cf9cd7bfa70f96edcfb9e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Bidar?= Date: Fri, 12 May 2023 01:14:00 +0300 Subject: [PATCH 05/14] Linux: Remove check for obsolete openSUSE version MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Björn Bidar --- davmail.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/davmail.spec b/davmail.spec index f03fe4a8..4b63d96d 100644 --- a/davmail.spec +++ b/davmail.spec @@ -2,8 +2,8 @@ %{?!davsvn: %define davsvn 3390} %define davver %{davrel}-%{davsvn} -%define systemd_support 0%{?suse_version} >= 1210 || 0%{?el7} || 0%{?el8} || 0%{?fedora} -%define systemd_macros 0%{?suse_version} >= 1210 +%define systemd_support 0%{?suse_version} || 0%{?el7} || 0%{?el8} || 0%{?fedora} +%define systemd_macros 0%{?suse_version} Summary: A POP/IMAP/SMTP/Caldav/Carddav/LDAP gateway for Microsoft Exchange Name: davmail From bbb4f5cc57cbb34628bee3f090984628a02f81c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Bidar?= Date: Thu, 27 Oct 2022 08:14:21 +0300 Subject: [PATCH 06/14] Linux: Add systemd unit for systemd --user instance MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This unit allows running Davmail in the systemd --user instance. Loosely based on the already existing systemd unit and Arch's systemd-user unit. Re: https://aur.archlinux.org/cgit/aur.git/tree/davmail@.user_service?h=davmail Signed-off-by: Björn Bidar --- davmail.spec | 2 ++ src/init/davmail-user@.service | 16 ++++++++++++++++ 2 files changed, 18 insertions(+) create mode 100644 src/init/davmail-user@.service diff --git a/davmail.spec b/davmail.spec index 4b63d96d..b089d55c 100644 --- a/davmail.spec +++ b/davmail.spec @@ -105,6 +105,7 @@ desktop-file-install --dir $RPM_BUILD_ROOT%{_datadir}/applications/ src/desktop/ install -m 0775 src/init/davmail-wrapper $RPM_BUILD_ROOT%{_localstatedir}/lib/davmail/davmail %if %systemd_support install -D -m 644 src/init/davmail.service %{buildroot}%{_unitdir}/davmail.service +install -D -m 644 src/init/davmail-user@.service %{buildroot}%{_userunitdir}/davmail@.service %else install -m 0775 src/init/davmail-init $RPM_BUILD_ROOT%{_sysconfdir}/init.d/davmail ln -sf %{_sysconfdir}/init.d/davmail $RPM_BUILD_ROOT%{_sbindir}/rcdavmail @@ -200,6 +201,7 @@ fi %if %systemd_support %{_unitdir}/davmail.service +%{_userunitdir}/davmail@.service %else %{_sysconfdir}/init.d/davmail %{_sbindir}/rcdavmail diff --git a/src/init/davmail-user@.service b/src/init/davmail-user@.service new file mode 100644 index 00000000..37bc564d --- /dev/null +++ b/src/init/davmail-user@.service @@ -0,0 +1,16 @@ +[Unit] +Description=Davmail Exchange gateway for %i +Documentation=https://davmail.sourceforge.net/linuxsetup.html +Documentation=http://davmail.sourceforge.net/advanced.html +Documentation=http://davmail.sourceforge.net/sslsetup.html +After=network.target + +[Service] +Type=simple +PermissionsStartOnly=true +ExecStart=/usr/bin/davmail %h/.config/davmail/%i.properties +SuccessExitStatus=143 + +[Install] +WantedBy=default.target +DefaultInstance=davmail From ccadee5a690265f76d46b2e833d36dfc380331a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Bidar?= Date: Thu, 27 Oct 2022 08:25:44 +0300 Subject: [PATCH 07/14] Linux: Create initial log file with systemd-tmpfiles MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Instead of creating the file manually each time the service is started. Signed-off-by: Björn Bidar --- davmail.spec | 17 +++++++++++++++++ src/init/davmail.conf | 1 + src/init/davmail.service | 2 -- 3 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 src/init/davmail.conf diff --git a/davmail.spec b/davmail.spec index b089d55c..7d467b3c 100644 --- a/davmail.spec +++ b/davmail.spec @@ -89,6 +89,7 @@ rm -rf $RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT%{_bindir} mkdir -p $RPM_BUILD_ROOT%{_sbindir} mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d +# Should this be created if systemd support is on? mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/init.d mkdir -p $RPM_BUILD_ROOT%{_datadir}/applications mkdir -p $RPM_BUILD_ROOT%{_datadir}/pixmaps @@ -96,6 +97,11 @@ mkdir -p $RPM_BUILD_ROOT%{_datadir}/davmail/lib mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/lib/davmail mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log +%if %systemd_support +# Add the file here so rpm can keep track of it even if systemd creates it later +touch %{_var}/log/davmail.log +%endif + # Init scripts, icons, configurations install -m 0775 src/bin/davmail $RPM_BUILD_ROOT%{_bindir}/davmail install -m 0644 src/init/davmail-logrotate $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/davmail @@ -106,6 +112,7 @@ install -m 0775 src/init/davmail-wrapper $RPM_BUILD_ROOT%{_localstatedir}/lib/da %if %systemd_support install -D -m 644 src/init/davmail.service %{buildroot}%{_unitdir}/davmail.service install -D -m 644 src/init/davmail-user@.service %{buildroot}%{_userunitdir}/davmail@.service +install -D -m 644 src/init/davmail.conf %{buildroot}%{_tmpfilesdir}/davmail.conf %else install -m 0775 src/init/davmail-init $RPM_BUILD_ROOT%{_sysconfdir}/init.d/davmail ln -sf %{_sysconfdir}/init.d/davmail $RPM_BUILD_ROOT%{_sbindir}/rcdavmail @@ -134,6 +141,7 @@ install -m 0644 src/appstream/org.davmail.DavMail.appdata.xml $RPM_BUILD_ROOT%{_ %endif %post +%if 0%{!?systemd_macros:1} file=/var/log/davmail.log if [ ! -f ${file} ] then @@ -141,9 +149,12 @@ if [ ! -f ${file} ] fi /bin/chown davmail:davmail ${file} /bin/chmod 0640 ${file} +%endif %if %systemd_macros %service_add_post davmail.service +# Ensure that tmpfiles are created after the package is installed or updated +%tmpfiles_create_package %{_tmpfilesdir}/davmail.conf %else # proper service handling http://en.opensuse.org/openSUSE:Cron_rename %{?fillup_and_insserv: @@ -202,6 +213,7 @@ fi %if %systemd_support %{_unitdir}/davmail.service %{_userunitdir}/davmail@.service +%{_tmpfilesdir}/davmail.conf %else %{_sysconfdir}/init.d/davmail %{_sbindir}/rcdavmail @@ -209,6 +221,11 @@ fi %config(noreplace) %{_sysconfdir}/logrotate.d/davmail %config(noreplace) %{_sysconfdir}/davmail.properties +# As sugggested by rpmlint: +# tmpfile-not-in-filelist +# declare ownership of the log file but prevent +# it from being erased by rpm -e +%ghost %attr (640,davmail,davmail) %{_var}/log/davmail.log %{_datadir}/applications/* %{_datadir}/pixmaps/* %{_datadir}/davmail/ diff --git a/src/init/davmail.conf b/src/init/davmail.conf new file mode 100644 index 00000000..640d5d89 --- /dev/null +++ b/src/init/davmail.conf @@ -0,0 +1 @@ +f /var/log/davmail.log 0640 davmail davmail - diff --git a/src/init/davmail.service b/src/init/davmail.service index d2d02fa2..652c6e2b 100644 --- a/src/init/davmail.service +++ b/src/init/davmail.service @@ -10,8 +10,6 @@ Type=simple User=davmail PermissionsStartOnly=true AmbientCapabilities=CAP_NET_BIND_SERVICE -ExecStartPre=/usr/bin/touch /var/log/davmail.log -ExecStartPre=/bin/chown davmail:davmail /var/log/davmail.log ExecStart=/usr/bin/davmail -server /etc/davmail.properties SuccessExitStatus=143 From 2b0c11f1fb45abcabdb4f889c9d1ef83e1be5c26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Bidar?= Date: Thu, 11 May 2023 22:25:01 +0300 Subject: [PATCH 08/14] Linux: Update spec changelog MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Björn Bidar --- davmail.changes | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/davmail.changes b/davmail.changes index 54d98776..14cee335 100644 --- a/davmail.changes +++ b/davmail.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Thu May 11 19:24:27 UTC 2023 - Björn Bidar + +- Add systemd unit for systemd --user instance +- Create initial log file with systemd-tmpfiles + ------------------------------------------------------------------- Wed Jul 07 2021 Michal Suchanek From 3d45e1077e7040725883336f12f36075b93a64b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Bidar?= Date: Thu, 27 Oct 2022 12:37:14 +0300 Subject: [PATCH 09/14] Linux: Harden systemd service MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Björn Bidar --- davmail.changes | 3 ++- src/init/davmail.service | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/davmail.changes b/davmail.changes index 14cee335..84e7317b 100644 --- a/davmail.changes +++ b/davmail.changes @@ -3,7 +3,8 @@ Thu May 11 19:24:27 UTC 2023 - Björn Bidar - Add systemd unit for systemd --user instance - Create initial log file with systemd-tmpfiles - +- Harden systemd service + ------------------------------------------------------------------- Wed Jul 07 2021 Michal Suchanek diff --git a/src/init/davmail.service b/src/init/davmail.service index 652c6e2b..7232e81f 100644 --- a/src/init/davmail.service +++ b/src/init/davmail.service @@ -12,6 +12,9 @@ PermissionsStartOnly=true AmbientCapabilities=CAP_NET_BIND_SERVICE ExecStart=/usr/bin/davmail -server /etc/davmail.properties SuccessExitStatus=143 +PrivateTmp=yes +ProtectSystem=full +ProtectHome=yes [Install] WantedBy=multi-user.target From cc51cf28462b7a4140993f8e888de7f90b53c748 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Bidar?= Date: Thu, 27 Oct 2022 12:46:20 +0300 Subject: [PATCH 10/14] Linux: Add systemd system sevice template unit MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Björn Bidar --- davmail.changes | 1 + davmail.spec | 2 ++ src/init/davmail@.service | 21 +++++++++++++++++++++ 3 files changed, 24 insertions(+) create mode 100644 src/init/davmail@.service diff --git a/davmail.changes b/davmail.changes index 84e7317b..6921367a 100644 --- a/davmail.changes +++ b/davmail.changes @@ -4,6 +4,7 @@ Thu May 11 19:24:27 UTC 2023 - Björn Bidar - Add systemd unit for systemd --user instance - Create initial log file with systemd-tmpfiles - Harden systemd service +- Add systemd system sevice template unit ------------------------------------------------------------------- Wed Jul 07 2021 Michal Suchanek diff --git a/davmail.spec b/davmail.spec index 7d467b3c..a1fac5f8 100644 --- a/davmail.spec +++ b/davmail.spec @@ -111,6 +111,7 @@ desktop-file-install --dir $RPM_BUILD_ROOT%{_datadir}/applications/ src/desktop/ install -m 0775 src/init/davmail-wrapper $RPM_BUILD_ROOT%{_localstatedir}/lib/davmail/davmail %if %systemd_support install -D -m 644 src/init/davmail.service %{buildroot}%{_unitdir}/davmail.service +install -D -m 644 src/init/davmail@.service %{buildroot}%{_unitdir}/davmail@.service install -D -m 644 src/init/davmail-user@.service %{buildroot}%{_userunitdir}/davmail@.service install -D -m 644 src/init/davmail.conf %{buildroot}%{_tmpfilesdir}/davmail.conf %else @@ -212,6 +213,7 @@ fi %if %systemd_support %{_unitdir}/davmail.service +%{_unitdir}/davmail@.service %{_userunitdir}/davmail@.service %{_tmpfilesdir}/davmail.conf %else diff --git a/src/init/davmail@.service b/src/init/davmail@.service new file mode 100644 index 00000000..94ca3b67 --- /dev/null +++ b/src/init/davmail@.service @@ -0,0 +1,21 @@ +[Unit] +Description=Davmail Exchange gateway for %i +Documentation=http://davmail.sourceforge.net/serversetup.html +Documentation=http://davmail.sourceforge.net/advanced.html +Documentation=http://davmail.sourceforge.net/sslsetup.html +After=network.target + +[Service] +Type=simple +User=davmail +PermissionsStartOnly=true +AmbientCapabilities=CAP_NET_BIND_SERVICE +ExecStart=/usr/bin/davmail -server /etc/davmail/%i.properties +SuccessExitStatus=143 +PrivateTmp=yes +ProtectSystem=full +ProtectHome=yes + +[Install] +WantedBy=multi-user.target +DefaultInstance=davmail From 22cae74bc9a5161aa24053f47bad6ea1d00d88d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Bidar?= Date: Fri, 28 Oct 2022 11:26:19 +0300 Subject: [PATCH 11/14] Linux: Don't create user for systemd units use sysusers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Björn Bidar --- davmail.changes | 1 + davmail.spec | 5 ++++- src/init/davmail_sysusers.conf | 2 ++ 3 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 src/init/davmail_sysusers.conf diff --git a/davmail.changes b/davmail.changes index 6921367a..4c856c36 100644 --- a/davmail.changes +++ b/davmail.changes @@ -5,6 +5,7 @@ Thu May 11 19:24:27 UTC 2023 - Björn Bidar - Create initial log file with systemd-tmpfiles - Harden systemd service - Add systemd system sevice template unit +- Don't create user for systemd units use sysusers ------------------------------------------------------------------- Wed Jul 07 2021 Michal Suchanek diff --git a/davmail.spec b/davmail.spec index a1fac5f8..3b917e5d 100644 --- a/davmail.spec +++ b/davmail.spec @@ -114,6 +114,7 @@ install -D -m 644 src/init/davmail.service %{buildroot}%{_unitdir}/davmail.servi install -D -m 644 src/init/davmail@.service %{buildroot}%{_unitdir}/davmail@.service install -D -m 644 src/init/davmail-user@.service %{buildroot}%{_userunitdir}/davmail@.service install -D -m 644 src/init/davmail.conf %{buildroot}%{_tmpfilesdir}/davmail.conf +install -D -m 644 src/init/davmail_sysusers.conf %{buildroot}%{_sysusersdir}/davmail.conf %else install -m 0775 src/init/davmail-init $RPM_BUILD_ROOT%{_sysconfdir}/init.d/davmail ln -sf %{_sysconfdir}/init.d/davmail $RPM_BUILD_ROOT%{_sbindir}/rcdavmail @@ -134,10 +135,11 @@ install -m 0644 src/appstream/org.davmail.DavMail.appdata.xml $RPM_BUILD_ROOT%{_ %endif %pre +%if 0%{!?systemd_macros:1} /usr/sbin/groupadd -f -r davmail > /dev/null 2>&1 || : /usr/sbin/useradd -r -s /sbin/nologin -d /var/lib/davmail -M \ -g davmail davmail > /dev/null 2>&1 || : -%if %systemd_macros +%else %service_add_pre davmail.service %endif @@ -216,6 +218,7 @@ fi %{_unitdir}/davmail@.service %{_userunitdir}/davmail@.service %{_tmpfilesdir}/davmail.conf +%{_sysusersdir}/davmail.conf %else %{_sysconfdir}/init.d/davmail %{_sbindir}/rcdavmail diff --git a/src/init/davmail_sysusers.conf b/src/init/davmail_sysusers.conf new file mode 100644 index 00000000..a23c1629 --- /dev/null +++ b/src/init/davmail_sysusers.conf @@ -0,0 +1,2 @@ +#Type Name ID GECOS Home directory Shell +u davmail - "DavMail Exchange and Office 365 Gateway" - - From a4c90d8ad90c1e16cc967640fb0b9ff152137dd9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Bidar?= Date: Thu, 11 May 2023 23:41:34 +0300 Subject: [PATCH 12/14] Linux: Create statedirectory with systemd MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Read: man 5 systemd.exec Signed-off-by: Björn Bidar --- davmail.changes | 1 + davmail.spec | 10 +++++++--- src/init/davmail.service | 1 + src/init/davmail@.service | 1 + 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/davmail.changes b/davmail.changes index 4c856c36..06b6e1b0 100644 --- a/davmail.changes +++ b/davmail.changes @@ -6,6 +6,7 @@ Thu May 11 19:24:27 UTC 2023 - Björn Bidar - Harden systemd service - Add systemd system sevice template unit - Don't create user for systemd units use sysusers +- Create statedirectory with systemd ------------------------------------------------------------------- Wed Jul 07 2021 Michal Suchanek diff --git a/davmail.spec b/davmail.spec index 3b917e5d..650699f4 100644 --- a/davmail.spec +++ b/davmail.spec @@ -85,21 +85,23 @@ rm lib/swt* ant -Dant.java.version=1.8 prepare-dist %install -rm -rf $RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT%{_bindir} mkdir -p $RPM_BUILD_ROOT%{_sbindir} mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d -# Should this be created if systemd support is on? +%if 0%{?!systemd_support:1} mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/init.d +%endif mkdir -p $RPM_BUILD_ROOT%{_datadir}/applications mkdir -p $RPM_BUILD_ROOT%{_datadir}/pixmaps mkdir -p $RPM_BUILD_ROOT%{_datadir}/davmail/lib +%if 0%{?!systemd_support:1} mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/lib/davmail +%endif mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log %if %systemd_support # Add the file here so rpm can keep track of it even if systemd creates it later -touch %{_var}/log/davmail.log +touch %{buildroot}%{_var}/log/davmail.log %endif # Init scripts, icons, configurations @@ -237,6 +239,8 @@ fi %if 0%{?sle_version} != 120300 && 0%{?suse_version} != 1310 && 0%{?suse_version} != 1320 %{_datadir}/metainfo/org.davmail.DavMail.appdata.xml %endif +%if 0%{?!systemd_support:1} %attr(0775,davmail,davmail) %{_localstatedir}/lib/davmail +%endif %changelog diff --git a/src/init/davmail.service b/src/init/davmail.service index 7232e81f..4a40ca4c 100644 --- a/src/init/davmail.service +++ b/src/init/davmail.service @@ -11,6 +11,7 @@ User=davmail PermissionsStartOnly=true AmbientCapabilities=CAP_NET_BIND_SERVICE ExecStart=/usr/bin/davmail -server /etc/davmail.properties +StateDirectory=davmail SuccessExitStatus=143 PrivateTmp=yes ProtectSystem=full diff --git a/src/init/davmail@.service b/src/init/davmail@.service index 94ca3b67..3f6152b2 100644 --- a/src/init/davmail@.service +++ b/src/init/davmail@.service @@ -12,6 +12,7 @@ PermissionsStartOnly=true AmbientCapabilities=CAP_NET_BIND_SERVICE ExecStart=/usr/bin/davmail -server /etc/davmail/%i.properties SuccessExitStatus=143 +StateDirectory=davmail/%i PrivateTmp=yes ProtectSystem=full ProtectHome=yes From d83daebd3b9b3114a6f659f74a7b2e1a71b7d7a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Bidar?= Date: Thu, 11 May 2023 23:49:25 +0300 Subject: [PATCH 13/14] Linux: Remove unused duplicate davmail script MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The davmail script in src/bin is used everywhere no mention of davmail-wrapper. Also the script was installed into an invalid path. Signed-off-by: Björn Bidar --- davmail.changes | 1 + davmail.spec | 1 - src/init/davmail-wrapper | 9 --------- 3 files changed, 1 insertion(+), 10 deletions(-) delete mode 100644 src/init/davmail-wrapper diff --git a/davmail.changes b/davmail.changes index 06b6e1b0..2111c30c 100644 --- a/davmail.changes +++ b/davmail.changes @@ -7,6 +7,7 @@ Thu May 11 19:24:27 UTC 2023 - Björn Bidar - Add systemd system sevice template unit - Don't create user for systemd units use sysusers - Create statedirectory with systemd +- Remove unused duplicate davmail script ------------------------------------------------------------------- Wed Jul 07 2021 Michal Suchanek diff --git a/davmail.spec b/davmail.spec index 650699f4..76c31adc 100644 --- a/davmail.spec +++ b/davmail.spec @@ -110,7 +110,6 @@ install -m 0644 src/init/davmail-logrotate $RPM_BUILD_ROOT%{_sysconfdir}/logrota install -m 0644 src/etc/davmail.properties $RPM_BUILD_ROOT%{_sysconfdir} # https://fedoraproject.org/wiki/TomCallaway/DesktopFileVendor desktop-file-install --dir $RPM_BUILD_ROOT%{_datadir}/applications/ src/desktop/davmail.desktop --vendor="" -install -m 0775 src/init/davmail-wrapper $RPM_BUILD_ROOT%{_localstatedir}/lib/davmail/davmail %if %systemd_support install -D -m 644 src/init/davmail.service %{buildroot}%{_unitdir}/davmail.service install -D -m 644 src/init/davmail@.service %{buildroot}%{_unitdir}/davmail@.service diff --git a/src/init/davmail-wrapper b/src/init/davmail-wrapper deleted file mode 100644 index 00a199f2..00000000 --- a/src/init/davmail-wrapper +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh -# davmail owns davmail.log -LOGFILE=/var/log/davmail.log -# davmail owned pidfile -PIDFILE=/var/lib/davmail/pid - -echo $$ > ${PIDFILE} -exec java -cp /usr/share/davmail/davmail.jar:/usr/share/davmail/lib/* \ - davmail.DavGateway "$@" >> ${LOGFILE} 2>&1 From 64491ae97f1e99436ffcb2c3dbd96abab0e0f39c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Bidar?= Date: Fri, 12 May 2023 00:40:31 +0300 Subject: [PATCH 14/14] Linux: Seperate pre- and postrequires for sysv init and systemd MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Ensures that systemd is installed before davmail so %post etc work. Solves: /var/tmp/rpm-tmp.HZLayD: line 15: /usr/bin/systemd-tmpfiles: No such file or directory Or similar. Signed-off-by: Björn Bidar --- davmail.spec | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/davmail.spec b/davmail.spec index 76c31adc..fdafe5cb 100644 --- a/davmail.spec +++ b/davmail.spec @@ -39,10 +39,14 @@ BuildRequires: javafx %endif Requires: coreutils Requires: filesystem +%if %systemd_support +%systemd_requires +%else Requires(pre): /usr/sbin/useradd, /usr/sbin/groupadd Requires(post): coreutils, filesystem, /sbin/chkconfig Requires(preun): /sbin/service, coreutils, /sbin/chkconfig, /usr/sbin/userdel, /usr/sbin/groupdel Requires(postun): /sbin/service +%endif %if 0%{?el7} || 0%{?el8} || 0%{?fedora} Requires: /etc/init.d, logrotate, java-1.8.0-openjdk