davmail-git

Arch Linux AUR package for Davmail built from Git
git clone https://git.0xfab.ch/davmail-git.git
Log | Files | Refs

commit 2e17cc5df5aa9ddd34dfd98274166ac622c9b0da
Author: Fabian Wermelinger <info@0xfab.ch>
Date:   Tue, 24 Dec 2024 01:07:13 +0100

Add PKGBUILD and patch for forced message deletion

Diffstat:
APKGBUILD | 60++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Adavmail.desktop | 14++++++++++++++
Adavmail@.system_service | 14++++++++++++++
Adavmail@.user_service | 10++++++++++
Apop-force-delete.patch | 13+++++++++++++
5 files changed, 111 insertions(+), 0 deletions(-)

diff --git a/PKGBUILD b/PKGBUILD @@ -0,0 +1,60 @@ +# Maintainer: Fabian Wermelinger <info@0xfab.ch> +# Contributor: Christian Hegerstroem <viking-dot-chris-at-live-dot-org> + +pkgname=davmail-git +pkgver=6.2.2.r46.g297c660 +pkgrel=1 +pkgdesc="a POP/IMAP/SMTP/Caldav/LDAP gateway for the exchange service" +arch=('i686' 'x86_64' 'armv7h' 'aarch64') +url="https://github.com/mguessan/davmail" +license=('GPL2') +makedepends=('unzip' 'ant') +depends=('java-runtime') +provides=('davmail') +conflicts=('davmail') +optdepends=('java-openjfx: Office 365 browser based authentication' + 'swt: Fix issues with the tray icon') + +source=("git+${url}" + ${pkgname%-git}.desktop + ${pkgname%-git}@.system_service + ${pkgname%-git}@.user_service + pop-force-delete.patch) +sha256sums=('SKIP' + '310af9c5b69f81057f8467a92866d22b9d62ac1d1b4639256da5c8671f3c4e1f' + 'e7cb341c1aae6a03bd6e48af23151a97201b17839492bcaf43701615d58c3b3b' + 'ff89947c7cce460d8477edae518da85c6a4acdcc4f86718081bdd505ae74a3e6' + 'dbc70e9d234ef9ca7eec4a1a1a357d74ba471faf66c8bfb3dfb1009b4a900fd1') + +pkgver() { + cd "${pkgname%-git}" + git describe --long --abbrev=7 | sed 's/\([^-]*-g\)/r\1/;s/-/./g' +} + +prepare() { + # Patch to force message deletion instead of trash bin for POP3 DELE command + (cd "${pkgname%-git}" && patch -Np1 -i "${srcdir}/pop-force-delete.patch") +} + +build() { + (cd "${pkgname%-git}" && ant compile-java jar) +} + +package() { + install -d ${pkgdir}/{usr/share/${pkgname%-git}/lib,usr/bin,etc/${pkgname%-git}} + install -Dm644 ${srcdir}/${pkgname%-git}/dist/${pkgname%-git}.jar ${pkgdir}/usr/share/${pkgname%-git}/ + install -D ${srcdir}/${pkgname%-git}/lib/* ${pkgdir}/usr/share/${pkgname%-git}/lib + install -Dm755 ${srcdir}/${pkgname%-git}/src/bin/${pkgname%-git} ${pkgdir}/usr/share/${pkgname%-git}/${pkgname%-git} + ln -s /usr/share/${pkgname%-git}/${pkgname%-git} ${pkgdir}/usr/bin/${pkgname%-git} + install -Dm755 ${srcdir}/${pkgname%-git}/src/etc/${pkgname%-git}.properties ${pkgdir}/etc/${pkgname%-git}/${pkgname%-git}.properties + install -Dm644 ${srcdir}/${pkgname%-git}.desktop ${pkgdir}/usr/share/applications/${pkgname%-git}.desktop + install -Dm644 ${srcdir}/${pkgname%-git}\@.system_service ${pkgdir}/usr/lib/systemd/system/${pkgname%-git}\@.service + install -Dm644 ${srcdir}/${pkgname%-git}\@.user_service ${pkgdir}/usr/lib/systemd/user/${pkgname%-git}\@.service + + # Create icons + unzip -q ${srcdir}/${pkgname%-git}/dist/${pkgname%-git}.jar tray.png tray32.png tray48.png tray128.png + install -Dm644 tray.png ${pkgdir}/usr/share/icons/hicolor/16x16/apps/${pkgname%-git}.png + install -Dm644 tray32.png ${pkgdir}/usr/share/icons/hicolor/32x32/apps/${pkgname%-git}.png + install -Dm644 tray48.png ${pkgdir}/usr/share/icons/hicolor/48x48/apps/${pkgname%-git}.png + install -Dm644 tray128.png ${pkgdir}/usr/share/icons/hicolor/128x128/apps/${pkgname%-git}.png +} diff --git a/davmail.desktop b/davmail.desktop @@ -0,0 +1,14 @@ + +[Desktop Entry] +Version=1.0 +Name=DavMail +GenericName=DavMail +Comment=DavMail POP/IMAP/SMTP/CalDav/LDAP Exchange Gateway +Categories=Network; +Exec=davmail +Icon=davmail +Terminal=false +Type=Application +Name[en_US]=DavMail +GenericName[en_US]=DavMail +Comment[en_US]=DavMail POP/IMAP/SMTP/CalDav/LDAP Exchange Gateway diff --git a/davmail@.system_service b/davmail@.system_service @@ -0,0 +1,14 @@ +[Unit] +Description=DavMail for %i + +[Service] +User=davmail +ExecStart=/usr/bin/davmail /etc/davmail/%i.properties +Restart=on-failure +PrivateTmp=yes +ProtectSystem=full +ProtectHome=yes + +[Install] +WantedBy=multi-user.target +DefaultInstance=davmail diff --git a/davmail@.user_service b/davmail@.user_service @@ -0,0 +1,10 @@ +[Unit] +Description=DavMail for %i + +[Service] +ExecStart=/usr/bin/davmail %h/.config/davmail/%i.properties +Restart=on-failure + +[Install] +WantedBy=default.target +DefaultInstance=davmail diff --git a/pop-force-delete.patch b/pop-force-delete.patch @@ -0,0 +1,13 @@ +diff --git a/src/java/davmail/pop/PopConnection.java b/src/java/davmail/pop/PopConnection.java +index 031122cc..dbe2b2c0 100644 +--- a/src/java/davmail/pop/PopConnection.java ++++ b/src/java/davmail/pop/PopConnection.java +@@ -231,7 +231,7 @@ public class PopConnection extends AbstractConnection { + try { + int messageNumber = Integer.parseInt(tokens.nextToken()) - 1; + message = messages.get(messageNumber); +- message.moveToTrash(); ++ message.delete(); + sendOK("DELETE"); + } catch (NumberFormatException | IndexOutOfBoundsException e) { + sendERR("invalid message index");