From 9bf563fd20876d97c8a5f452218d7cf70b82bcd1 Mon Sep 17 00:00:00 2001
From: Duncan Bellamy <dunk@denkimushi.com>
Date: Sat, 6 Mar 2021 07:52:07 +0000
Subject: [PATCH] main/dovecot: fix linter errors

* add patch to fix tests
---
 main/dovecot/APKBUILD                         | 70 ++++++++++---------
 main/dovecot/test-imap-client-hibernate.patch | 14 ++++
 2 files changed, 52 insertions(+), 32 deletions(-)
 create mode 100644 main/dovecot/test-imap-client-hibernate.patch

diff --git a/main/dovecot/APKBUILD b/main/dovecot/APKBUILD
index 4291ec45e58c..470f9c0ed316 100644
--- a/main/dovecot/APKBUILD
+++ b/main/dovecot/APKBUILD
@@ -6,10 +6,8 @@
 pkgname=dovecot
 pkgver=2.3.14
 _pkgverminor=${pkgver%.*}
-_pkgvermajor=${_pkgverminor%.*}
 pkgrel=0
 _pigeonholever=0.5.14
-_pigeonholevermajor=${_pigeonholever%.*}
 pkgdesc="IMAP and POP3 server"
 url="https://www.dovecot.org/"
 arch="all"
@@ -27,15 +25,15 @@ makedepends="
 	gettext-dev
 	heimdal-dev
 	libcap-dev
-	openssl-dev
+	libsodium-dev
 	libtool
 	linux-headers
 	mariadb-connector-c-dev
 	openldap-dev
+	openssl-dev
 	postgresql-dev
 	sqlite-dev
 	zlib-dev
-	libsodium-dev
 	"
 install="$pkgname.pre-install $pkgname.post-install $pkgname.post-upgrade"
 subpackages="
@@ -57,13 +55,14 @@ subpackages="
 	$pkgname-fts-lucene:_fts_lucene
 	"
 source="https://www.dovecot.org/releases/$_pkgverminor/dovecot-$pkgver.tar.gz
-	https://pigeonhole.dovecot.org/releases/$_pkgverminor/$pkgname-$_pkgverminor-pigeonhole-$_pigeonholever.tar.gz
+	https://pigeonhole.dovecot.org/releases/$_pkgverminor/dovecot-$_pkgverminor-pigeonhole-$_pigeonholever.tar.gz
 	skip-iconv-check.patch
 	split-protocols.patch
 	default-config.patch
 	fix-out-of-memory-test.patch
 	fix-libssl_iostream_openssl.patch
 	0001-oauth2-jwt-Use-int64_t-instead-time_t-for-portabilit.patch
+	test-imap-client-hibernate.patch
 	dovecot.logrotate
 	dovecot.initd
 	"
@@ -185,7 +184,7 @@ package() {
 		"$pkgdir"/etc/dovecot/conf.d
 
 	# Remove libtool archives.
-	find "$pkgdir" -name '*.la' | xargs rm -f
+	find "$pkgdir" -name '*.la' -exec rm -f {} +
 }
 
 dev() {
@@ -217,8 +216,8 @@ _protocol() {
 	local protocolsd="$subpkgdir/usr/share/dovecot/protocols.d"
 
 	cd "$pkgdir"
-	_submv usr/libexec/dovecot/$name*
-	_submv etc/dovecot/conf.d/*-$name.conf
+	_submv usr/libexec/dovecot/"$name"*
+	_submv etc/dovecot/conf.d/*-"$name".conf
 
 	mkdir -p "$protocolsd"
 	echo "protocols = \$protocols $name" \
@@ -230,11 +229,12 @@ _sieve() {
 	depends="$pkgname=$pkgver-r$pkgrel"
 
 	cd "$pkgdir"
-	_submv $(find usr/ -name '*sieve_extprograms*')
-	_submv $(find usr/ -name '*sieve_imapsieve*')
-	_submv $(find usr/ -name '*sieve*')
-	_submv $(find usr/ -name '*pigeonhole*')
-	_submv $(find etc/dovecot/ -name '*sieve*')
+	_find usr/lib/dovecot sieve_extprograms
+	_find usr/lib/dovecot sieve_imapsieve
+	_find usr/bin sieve
+	_find usr/lib/dovecot sieve
+	_find usr/lib/dovecot pigeonhole
+	_find etc/dovecot/ sieve
 }
 
 _sieve_ldap() {
@@ -242,7 +242,7 @@ _sieve_ldap() {
 	depends="$pkgname-pigeonhole-plugin=$pkgver-r$pkgrel $pkgname-ldap=$pkgver-r$pkgrel"
 
 	cd "$pkgdir"
-	_submv $(find usr/ -name '*_sieve_storage_ldap_*')
+	_find  usr/lib/dovecot _sieve_storage_ldap_
 }
 
 pgsql() {
@@ -250,7 +250,7 @@ pgsql() {
 	depends="$pkgname-sql=$pkgver-r$pkgrel"
 
 	cd "$pkgdir"
-	_submv $(find usr/ -name '*_pgsql*')
+	_find usr/lib/dovecot _pgsql
 }
 
 mysql() {
@@ -258,7 +258,7 @@ mysql() {
 	depends="$pkgname-sql=$pkgver-r$pkgrel"
 
 	cd "$pkgdir"
-	_submv $(find usr/ -name '*_mysql*')
+	_find usr/lib/dovecot _mysql
 }
 
 sqlite() {
@@ -266,7 +266,7 @@ sqlite() {
 	depends="$pkgname-sql=$pkgver-r$pkgrel"
 
 	cd "$pkgdir"
-	_submv $(find usr/ -name '*_sqlite*')
+	_find usr/lib/dovecot _sqlite
 }
 
 gssapi() {
@@ -274,7 +274,7 @@ gssapi() {
 	depends="$pkgname=$pkgver-r$pkgrel"
 
 	cd "$pkgdir"
-	_submv $(find usr/ -name '*_gssapi*')
+	_find usr/lib/dovecot _gssapi
 }
 
 ldap() {
@@ -282,8 +282,8 @@ ldap() {
 	depends="$pkgname=$pkgver-r$pkgrel"
 
 	cd "$pkgdir"
-	_submv $(find usr/ -name '*[_-]ldap*')
-	_submv $(find etc/dovecot/ -name '*-ldap.conf*')
+	_find usr/lib/dovecot ldap.so
+	_find etc/dovecot -ldap.conf
 }
 
 sql() {
@@ -291,8 +291,8 @@ sql() {
 	depends="$pkgname=$pkgver-r$pkgrel"
 
 	cd "$pkgdir"
-	_submv $(find usr/ -name '*-sql.*')
-	_submv $(find etc/dovecot/ -name '*-sql.conf*')
+	_find usr/lib/dovecot -sql.
+	_find etc/dovecot -sql.conf
 }
 
 _fts_solr() {
@@ -300,7 +300,7 @@ _fts_solr() {
 	depends="$pkgname=$pkgver-r$pkgrel"
 
 	cd "$pkgdir"
-	_submv $(find usr/ -name '*fts*solr*')
+	_find usr/lib/dovecot fts\*solr
 }
 
 _fts_lucene() {
@@ -308,20 +308,25 @@ _fts_lucene() {
 	depends="$pkgname=$pkgver-r$pkgrel"
 
 	cd "$pkgdir"
-	_submv $(find usr/ -name '*fts*lucene*')
+	_find usr/lib/dovecot fts\*lucene
 }
 
-_submv() {
-	local dir
-	while [ $# -gt 0 ]; do
-		dir=${1%/*}
-		mkdir -p "$subpkgdir"/$dir
-		mv "$pkgdir/$1" "$subpkgdir/$dir/"
-		[ "$(ls -A $pkgdir/$dir)" ] || rmdir "$pkgdir"/$dir
-		shift
+_find() {
+	local _f
+	local _ff="$(find "$1" -name \*"$2"\*)"
+	for _f in $_ff
+	do
+		_submv "$_f"
 	done
 }
 
+_submv() {
+	local dir="$(dirname $1)"
+	mkdir -p "$subpkgdir"/"$dir"
+	mv "$pkgdir/$1" "$subpkgdir/$dir/"
+	[ "$(ls -A "$pkgdir/$dir")" ] || rmdir "$pkgdir"/"$dir"
+}
+
 sha512sums="69df234cb739c7ee7ae3acfb9756bc22481e94c95463d32bfac315c7ec4b1ba0dfbff552b769f2ab7ee554087ca2ebbe331aa008d3af26417016612dc7cad103  dovecot-2.3.14.tar.gz
 c5d5d309769eabe2c0971646d0c14d166b6b524acf59e1069eca803f764544fa2535c09c9a630ca706aa70442b688ee26af831d29e674823bac7ea7c0e1f33cc  dovecot-2.3-pigeonhole-0.5.14.tar.gz
 fe4fbeaedb377d809f105d9dbaf7c1b961aa99f246b77189a73b491dc1ae0aa9c68678dde90420ec53ec877c08f735b42d23edb13117d7268420e001aa30967a  skip-iconv-check.patch
@@ -330,5 +335,6 @@ fe4fbeaedb377d809f105d9dbaf7c1b961aa99f246b77189a73b491dc1ae0aa9c68678dde90420ec
 733cdbfb7f6b2608470bd30a0f9190ec86099d4c8e48b7fb92d7b595be665bf749976889033e1ad438edd3f99f2e0d496dd0d667291915c80df82f7e62483f59  fix-out-of-memory-test.patch
 0fb56eb9c7fae8d8b1d794928ce2ba58d03c102cd7c3f959799c62c5d838ff535ecccb64bc1970d960f67d49388c880773e9eac5aed3bcf92e6efed3b56cc837  fix-libssl_iostream_openssl.patch
 5da4367fd8bb0ea4d94c676568a5f0142217a7556fbcf5cdbdfc92e5b7955d432858a5e944ad0aebc310b6b5c4219f800428e6ddadee1a3aaa954847a8a46317  0001-oauth2-jwt-Use-int64_t-instead-time_t-for-portabilit.patch
+33c6eefaaca755c7766c74cb1afdc54fa9241b3d75b1db6b1167615061b5d79b85d759746c2d1793f4a3669d493489236e89ca4278dd38dd681f537c83e81a20  test-imap-client-hibernate.patch
 9f19698ab45969f1f94dc4bddf6de59317daee93c9421c81f2dbf8a7efe6acf89689f1d30f60f536737bb9526c315215d2bce694db27e7b8d7896036a59c31f0  dovecot.logrotate
 d91951b81150d7a3ef6a674c0dc7b012f538164dac4b9d27a6801d31da6813b764995a438f69b6a680463e1b60a3b4f2959654f68e565fe116ea60312d5e5e70  dovecot.initd"
diff --git a/main/dovecot/test-imap-client-hibernate.patch b/main/dovecot/test-imap-client-hibernate.patch
new file mode 100644
index 000000000000..ce6584c0324f
--- /dev/null
+++ b/main/dovecot/test-imap-client-hibernate.patch
@@ -0,0 +1,14 @@
+submitted as https://github.com/dovecot/core/pull/159
+reduce filename length
+
+--- a/src/imap/test-imap-client-hibernate.c
++++ b/src/imap/test-imap-client-hibernate.c
+@@ -19,7 +19,7 @@
+ 
+ #include <sys/stat.h>
+ 
+-#define TEMP_DIRNAME ".test-imap-client-hibernate"
++#define TEMP_DIRNAME ".test-ich"
+ 
+ #define EVILSTR "\t\r\n\001"
+ 
-- 
GitLab