From 09023a24a1c14cb3c0c2df49aea0f626c3f8152f Mon Sep 17 00:00:00 2001
From: Geert Hendrickx <geert@hendrickx.be>
Date: Mon, 29 Jan 2024 19:35:38 +0100
Subject: [PATCH] Build Postfix without BDB, switch default to LMDB.

---
 PKGBUILD                          | 10 ++++++----
 postfix-3.5.8-main_defaults.patch |  2 +-
 2 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/PKGBUILD b/PKGBUILD
index 424072d..d2d56c6 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -19,7 +19,6 @@ license=(
 )
 depends=(glibc)
 makedepends=(
-  db
   icu
   libldap
   libnsl
@@ -43,13 +42,13 @@ source=(
 )
 sha512sums=('2b227bb6b57e4cf2d727a23762b161f2328959faa4683d63b35543701c3e954be552537eaa14a899c65ec4856d9f91b0398337088a6e2b48c0446fd406be8de4'
             'SKIP'
-            '7b2785aa8120ca3ff91b405baf675e9e11f8d58b18a9b842672e7ae30932febddac10556a70823d8746fcb160bceb4dbabdee45cf46b02fc0127057656fb85c4'
+            '4630bb84206e0534723f50e4fb0e6f83a47cfd33187801eede052962d332b2754af8761a8d2b81f52cba9d07a7a0335eef06e22347ec7bc69b86f561685bd575'
             '27f54747ad480d65b560c9dbc97e12c6353e4bceca0ffe3e358e31de56db0ad79928164c9f8790c73a9f791daa378253d2ee29b5a766661778553ec889b2cf97'
             'a7f15970f613ae7b98ce1b84ca0a6034ce3cc7b2b9ce7160dad9731f740fb762f4a54f44acceb5f06f8744fa9e952b088086af8a69da388a600b742a3cda37f2'
             'd08574a6acd595fc146513c92dc1bb341c3432d67de1e93ab73a7ce60e385dd34f3a55e3d3d7aec5f358ac4aae260f028599ac47650ebc663cea3043a760a7bc')
 b2sums=('eda349dbf7fe45636fbd68991dba9f099a41dd402f7d58eb71ae881b5889889e5fd29e42e2492ab2af4d7febae1922cb3513b740b21e97f12deb44b5927a3c3d'
         'SKIP'
-        'b5f19e0619f1fb017cd889c14e341c21146b3afe7b9eefcdb7fb1eb83a357434b899d1e92f3ab0023c78ef8f2de6ae54c4599ee0f0bd04d257f4ca0a4dc9a16c'
+        'e101c31ff9b68ec025183cbb199109d5bc94135d247c06fa903b97ccea6d3255b39b2780f3d1e3848ea68109ba91cdde5886d0a18d547b2f41d9643d2ac5bf5f'
         '02dd441cf6e4a7c2bc0de876f020b0784d811f77a5c6102dd075d67b07158dbc53c8b4d62bc8035283d4f349008574b1c3fac03f4519d56ffd809cb5bcfb7bea'
         'db58b7deb24cea16fb84f56680f0000683f72e11a95039969878e3819607aad5e65af9d9f50007e7710609065c0e3ebb9b30c1d929162b74eca5e74434d82cf1'
         'de31693cea5f452a9c8c0d1cf5210a6e67c0176f8b1a4d74106f2e803911569e9fdbb2301b3b5dc7ad6a6da285026b1a3ed3de52117d216b030cf0d92348909d')
@@ -68,6 +67,7 @@ _pick() {
 prepare() {
   # add distribution defaults to main.cf (alias_maps and alias_database)
   patch -Np1 -d $pkgbase-$pkgver -i ../$pkgbase-3.5.8-main_defaults.patch
+  sed -e s/btree:/lmdb:/ -i $pkgbase-$pkgver/src/global/mail_params.h
 }
 
 build() {
@@ -85,6 +85,8 @@ build() {
     '-DHAS_PGSQL' '-I/usr/include/postgresql'
     '-DHAS_SQLITE'
     '-DHAS_CDB'
+    '-DNO_DB'
+    '-DDEF_DB_TYPE=\"lmdb\"'
     '-DDEF_COMMAND_DIR=\"/usr/bin\"'
     '-DDEF_DAEMON_DIR=\"/usr/lib/postfix/bin\"'
     '-DDEF_SENDMAIL_PATH=\"/usr/bin/sendmail\"'
@@ -124,11 +126,11 @@ package_postfix() {
   local _files_dir="$pkgdir/etc/$pkgbase/$pkgbase-files.d"
 
   depends+=(
-    db
     icu libicuuc.so
     libnsl libnsl.so
     libsasl libsasl2.so
     openssl libcrypto.so libssl.so
+    postfix-lmdb
     sh
   )
   optdepends=(
diff --git a/postfix-3.5.8-main_defaults.patch b/postfix-3.5.8-main_defaults.patch
index 3e071f7..fce6deb 100644
--- a/postfix-3.5.8-main_defaults.patch
+++ b/postfix-3.5.8-main_defaults.patch
@@ -5,7 +5,7 @@ diff -ruN a/conf/main.cf b/conf/main.cf
  #alias_maps = hash:/etc/aliases
  #alias_maps = hash:/etc/aliases, nis:mail.aliases
  #alias_maps = netinfo:/aliases
-+alias_maps = hash:/etc/postfix/aliases
++alias_maps = lmdb:/etc/postfix/aliases
  
  # The alias_database parameter specifies the alias database(s) that
  # are built with "newaliases" or "sendmail -bi".  This is a separate
-- 
GitLab