# Contributor: Valery Kartel # Contributor: Ɓukasz Jendrysik # Contributor: Michael Mason # Contributor: Jakub Jirutka # Maintainer: Natanael Copa pkgname=dovecot pkgver=2.3.15 _pkgverminor=${pkgver%.*} pkgrel=0 _pigeonholever=0.5.15 pkgdesc="IMAP and POP3 server" url="https://www.dovecot.org/" arch="all" options="libtool" license="LGPL-2.0-or-later" depends="openssl" pkgusers="dovecot dovenull" pkggroups="dovecot dovenull" makedepends=" autoconf automake bzip2-dev clucene-dev expat-dev heimdal-dev libcap-dev openssl-dev libtool linux-headers mariadb-connector-c-dev openldap-dev postgresql-dev sqlite-dev zlib-dev libsodium-dev " install="$pkgname.pre-install $pkgname.post-install $pkgname.post-upgrade" subpackages=" $pkgname-doc $pkgname-dev $pkgname-openrc $pkgname-lmtpd $pkgname-pop3d $pkgname-submissiond $pkgname-pigeonhole-plugin-ldap:_sieve_ldap $pkgname-pigeonhole-plugin:_sieve $pkgname-sql $pkgname-pgsql $pkgname-mysql $pkgname-sqlite $pkgname-gssapi $pkgname-ldap $pkgname-fts-solr:_fts_solr $pkgname-fts-lucene:_fts_lucene " source="https://www.dovecot.org/releases/$_pkgverminor/dovecot-$pkgver.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 test-imap-client-hibernate.patch dovecot.logrotate dovecot.initd " _builddir_pigeonhole="$srcdir/$pkgname-$_pkgverminor-pigeonhole-$_pigeonholever" # secfixes: # 2.3.15-r0: # - CVE-2021-29157 # - CVE-2021-33515 # 2.3.13-r0: # - CVE-2020-24386 # - CVE-2020-25275 # 2.3.11.3-r0: # - CVE-2020-12100 # - CVE-2020-12673 # - CVE-2020-12674 # 2.3.10.1-r0: # - CVE-2020-10957 # - CVE-2020-10958 # - CVE-2020-10967 # 2.3.9.3-r0: # - CVE-2020-7046 # - CVE-2020-7957 # 2.3.9.2-r0: # - CVE-2019-19722 # 2.3.7.2-r0: # - CVE-2019-11500 # 2.3.6-r0: # - CVE-2019-11499 # - CVE-2019-11494 # - CVE-2019-10691 # 2.3.5.1-r0: # - CVE-2019-7524 # 2.3.4.1-r0: # - CVE-2019-3814 # 2.3.1-r0: # - CVE-2017-15130 # - CVE-2017-14461 # - CVE-2017-15132 _configure() { ./configure \ --build=$CBUILD \ --host=$CHOST \ --prefix=/usr \ --localstatedir=/var \ --sysconfdir=/etc \ --mandir=/usr/share/man \ --infodir=/usr/share/info \ --disable-static \ "$@" } build() { _configure \ --with-gssapi=plugin \ --with-ldap=plugin \ --with-sql=plugin \ --with-mysql \ --with-sqlite \ --with-pgsql \ --with-solr \ --with-lucene \ --with-ssl=openssl \ --with-ssldir=/etc/ssl/dovecot \ --with-rundir=/run/dovecot make # Build pigeonhole plugin cd "$_builddir_pigeonhole" _configure \ --with-dovecot="$builddir" \ --with-ldap=plugin make } check() { make check } package() { make DESTDIR="$pkgdir" install cd "$pkgdir" install -d ./etc/ssl/dovecot install -D -m 755 "$srcdir"/dovecot.initd ./etc/init.d/dovecot install -D -m 644 "$srcdir"/dovecot.logrotate ./etc/logrotate.d/dovecot # default config rm ./etc/dovecot/* rm ./usr/share/doc/dovecot/mkcert.sh mv ./usr/share/doc/dovecot/dovecot-openssl.cnf ./etc/dovecot/ mv ./usr/share/doc/dovecot/example-config/dovecot* \ ./usr/share/doc/dovecot/example-config/conf.d \ ./etc/dovecot/ rm -fr ./usr/share/doc/dovecot/example-config # Fix SSL dirs in default config. sed -i -e 's,^ssl_cert =.*,ssl_cert = "$protocolsd"/${subpkgname#$pkgname-}.conf } _sieve() { pkgdesc="Sieve and managesieve plugin for Dovecot" 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*') } _sieve_ldap() { pkgdesc="Sieve and managesieve plugin for Dovecot (LDAP support)" depends="$pkgname-pigeonhole-plugin=$pkgver-r$pkgrel $pkgname-ldap=$pkgver-r$pkgrel" cd "$pkgdir" _submv $(find usr/ -name '*_sieve_storage_ldap_*') } pgsql() { pkgdesc="PostgreSQL driver for Dovecot" depends="$pkgname-sql=$pkgver-r$pkgrel" cd "$pkgdir" _submv $(find usr/ -name '*_pgsql*') } mysql() { pkgdesc="MySQL driver for Dovecot" depends="$pkgname-sql=$pkgver-r$pkgrel" cd "$pkgdir" _submv $(find usr/ -name '*_mysql*') } sqlite() { pkgdesc="SQLite driver for Dovecot" depends="$pkgname-sql=$pkgver-r$pkgrel" cd "$pkgdir" _submv $(find usr/ -name '*_sqlite*') } gssapi() { pkgdesc="GSSAPI auth plugin for Dovecot" depends="$pkgname=$pkgver-r$pkgrel" cd "$pkgdir" _submv $(find usr/ -name '*_gssapi*') } ldap() { pkgdesc="LDAP auth plugin for Dovecot" depends="$pkgname=$pkgver-r$pkgrel" cd "$pkgdir" _submv $(find usr/ -name '*[_-]ldap*') _submv $(find etc/dovecot/ -name '*-ldap.conf*') } sql() { pkgdesc="SQL plugin for dovecot" depends="$pkgname=$pkgver-r$pkgrel" cd "$pkgdir" _submv $(find usr/ -name '*-sql.*') _submv $(find etc/dovecot/ -name '*-sql.conf*') } _fts_solr() { pkgdesc="FTS-Solr plugin for dovecot" depends="$pkgname=$pkgver-r$pkgrel" cd "$pkgdir" _submv $(find usr/ -name '*fts*solr*') } _fts_lucene() { pkgdesc="FTS-Lucene plugin for dovecot" depends="$pkgname=$pkgver-r$pkgrel" cd "$pkgdir" _submv $(find usr/ -name '*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 done } sha512sums=" 75bbdbeac663da109f78dba06c42bb5193e911c6b3c64f055fc4473ae9afaf0c8304c49fc7f06c5c6b61e67dd13dc21fbed6ff160a99f38f547c88ba05e6b03a dovecot-2.3.15.tar.gz 521070080802bf2a50cd0ff0af5dc991c04d70b807abc2cd9aa567444a4869f5f42800f19d9b740a519bd4069437139e70ca6ae4b905479fcec8faa133ac5f54 dovecot-2.3-pigeonhole-0.5.15.tar.gz fe4fbeaedb377d809f105d9dbaf7c1b961aa99f246b77189a73b491dc1ae0aa9c68678dde90420ec53ec877c08f735b42d23edb13117d7268420e001aa30967a skip-iconv-check.patch 794875dbf0ded1e82c5c3823660cf6996a7920079149cd8eed54231a53580d931b966dfb17185ab65e565e108545ecf6591bae82f935ab1b6ff65bb8ee93d7d5 split-protocols.patch 0d8f89c7ba6f884719b5f9fc89e8b2efbdc3e181de308abf9b1c1b0e42282f4df72c7bf62f574686967c10a8677356560c965713b9d146e2770aab17e95bcc07 default-config.patch 733cdbfb7f6b2608470bd30a0f9190ec86099d4c8e48b7fb92d7b595be665bf749976889033e1ad438edd3f99f2e0d496dd0d667291915c80df82f7e62483f59 fix-out-of-memory-test.patch 0fb56eb9c7fae8d8b1d794928ce2ba58d03c102cd7c3f959799c62c5d838ff535ecccb64bc1970d960f67d49388c880773e9eac5aed3bcf92e6efed3b56cc837 fix-libssl_iostream_openssl.patch 33c6eefaaca755c7766c74cb1afdc54fa9241b3d75b1db6b1167615061b5d79b85d759746c2d1793f4a3669d493489236e89ca4278dd38dd681f537c83e81a20 test-imap-client-hibernate.patch 9f19698ab45969f1f94dc4bddf6de59317daee93c9421c81f2dbf8a7efe6acf89689f1d30f60f536737bb9526c315215d2bce694db27e7b8d7896036a59c31f0 dovecot.logrotate d91951b81150d7a3ef6a674c0dc7b012f538164dac4b9d27a6801d31da6813b764995a438f69b6a680463e1b60a3b4f2959654f68e565fe116ea60312d5e5e70 dovecot.initd "