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:
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");