mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-07-31 10:58:21 -07:00
net-mail/dovecot: drop 2.4.1
Signed-off-by: Eray Aslan <eras@gentoo.org>
This commit is contained in:
@@ -1,244 +0,0 @@
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
LUA_COMPAT=( lua5-1 lua5-{3..4} )
|
||||
# do not add a ssl USE flag. ssl is mandatory
|
||||
SSL_DEPS_SKIP=1
|
||||
inherit autotools flag-o-matic lua-single ssl-cert systemd toolchain-funcs
|
||||
|
||||
MY_P="${P/_/.}-4"
|
||||
MY_PV="${PV}-4"
|
||||
major_minor="$(ver_cut 1-2)"
|
||||
|
||||
DESCRIPTION="An IMAP and POP3 server written with security primarily in mind"
|
||||
HOMEPAGE="https://www.dovecot.org/"
|
||||
SRC_URI="https://www.dovecot.org/releases/${major_minor}/${MY_P}.tar.gz \
|
||||
-> ${P}.tar.gz
|
||||
sieve? (
|
||||
https://pigeonhole.dovecot.org/releases/${major_minor}/${PN}-pigeonhole-${MY_PV}.tar.gz \
|
||||
-> ${PN}-pigeonhole-${PV}.tar.gz
|
||||
)
|
||||
managesieve? (
|
||||
https://pigeonhole.dovecot.org/releases/${major_minor}/${PN}-pigeonhole-${MY_PV}.tar.gz \
|
||||
-> ${PN}-pigeonhole-${PV}.tar.gz
|
||||
) "
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
LICENSE="LGPL-2.1 MIT"
|
||||
SLOT="0/${PV}"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
|
||||
|
||||
IUSE_DOVECOT_AUTH_DICT="cdb kerberos ldap lua mysql pam postgres sqlite"
|
||||
IUSE_DOVECOT_COMPRESS="lz4 zstd"
|
||||
IUSE_DOVECOT_FTS="solr stemmer textcat xapian"
|
||||
IUSE_DOVECOT_OTHER="argon2 managesieve selinux sieve static-libs suid systemd unwind"
|
||||
|
||||
IUSE="${IUSE_DOVECOT_AUTH_DICT} ${IUSE_DOVECOT_COMPRESS} ${IUSE_DOVECOT_FTS} ${IUSE_DOVECOT_OTHER}"
|
||||
|
||||
# ldap requirement for sieve seems to be a bug
|
||||
REQUIRED_USE="lua? ( ${LUA_REQUIRED_USE} )
|
||||
sieve? ( ldap )"
|
||||
|
||||
DEPEND="
|
||||
app-arch/bzip2
|
||||
dev-libs/icu:=
|
||||
dev-libs/openssl:0=
|
||||
net-libs/libtirpc:=
|
||||
net-libs/rpcsvc-proto
|
||||
sys-libs/libcap
|
||||
sys-libs/zlib:=
|
||||
virtual/libiconv
|
||||
argon2? ( dev-libs/libsodium:= )
|
||||
cdb? ( dev-db/tinycdb )
|
||||
kerberos? ( virtual/krb5 )
|
||||
ldap? ( net-nds/openldap:= )
|
||||
lua? ( ${LUA_DEPS} )
|
||||
xapian? ( dev-libs/xapian:= )
|
||||
lz4? ( app-arch/lz4 )
|
||||
mysql? ( dev-db/mysql-connector-c:0= )
|
||||
pam? ( sys-libs/pam:= )
|
||||
postgres? ( dev-db/postgresql:* )
|
||||
selinux? ( sec-policy/selinux-dovecot )
|
||||
solr? ( net-misc/curl dev-libs/expat )
|
||||
sqlite? ( dev-db/sqlite:* )
|
||||
stemmer? ( dev-libs/snowball-stemmer:= )
|
||||
suid? ( acct-group/mail )
|
||||
systemd? ( sys-apps/systemd:= )
|
||||
textcat? ( app-text/libexttextcat )
|
||||
unwind? ( sys-libs/libunwind:= )
|
||||
zstd? ( app-arch/zstd:= )
|
||||
virtual/libcrypt:=
|
||||
"
|
||||
|
||||
RDEPEND="
|
||||
${DEPEND}
|
||||
acct-group/dovecot
|
||||
acct-group/dovenull
|
||||
acct-user/dovecot
|
||||
acct-user/dovenull
|
||||
net-mail/mailbase[pam?]
|
||||
"
|
||||
|
||||
BDEPEND="virtual/pkgconfig"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${PN}-autoconf-lua-version-v3.patch"
|
||||
"${FILESDIR}/${PN}-2.4.1-gssapi-regression.patch"
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
use lua && lua-single_pkg_setup
|
||||
if use managesieve && ! use sieve; then
|
||||
ewarn "managesieve USE flag selected but sieve USE flag unselected"
|
||||
ewarn "sieve USE flag will be turned on"
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# rename default cert files
|
||||
sed -i -e "s:ssl-cert.pem:server.pem:" \
|
||||
-e "s:ssl-key.pem:server.key:" \
|
||||
doc/dovecot.conf.in || die "sed failed"
|
||||
|
||||
# bug 657108, 782631
|
||||
#elibtoolize
|
||||
eautoreconf
|
||||
|
||||
# Bug #727244
|
||||
append-cflags -fasynchronous-unwind-tables
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# --disable-hardening because our toolchain already defaults to
|
||||
# these bits on, and it actually regresses the default _FORTIFY_SOURCE
|
||||
# level for hardened at least from 3 to 2.
|
||||
#
|
||||
# turn valgrind tests off. Bug #340791
|
||||
VALGRIND=no \
|
||||
LUAPC="${ELUA}" \
|
||||
systemdsystemunitdir="$(systemd_get_systemunitdir)" \
|
||||
econf \
|
||||
--with-rundir="${EPREFIX}/run/dovecot" \
|
||||
--with-statedir="${EPREFIX}/var/lib/dovecot" \
|
||||
--with-moduledir="${EPREFIX}/usr/$(get_libdir)/dovecot" \
|
||||
--disable-hardening \
|
||||
--disable-rpath \
|
||||
--with-bzlib \
|
||||
--without-libbsd \
|
||||
--with-libcap \
|
||||
--with-icu \
|
||||
--enable-experimental-mail-utf8 \
|
||||
$( use_with argon2 sodium ) \
|
||||
$( use_with cdb) \
|
||||
$( use_with kerberos gssapi ) \
|
||||
$( use_with lua ) \
|
||||
$( use_with ldap ) \
|
||||
$( use_with xapian flatcurve ) \
|
||||
$( use_with lz4 ) \
|
||||
$( use_with mysql ) \
|
||||
$( use_with pam ) \
|
||||
$( use_with postgres pgsql ) \
|
||||
$( use_with sqlite ) \
|
||||
$( use_with solr ) \
|
||||
$( use_with stemmer ) \
|
||||
$( use_with systemd ) \
|
||||
$( use_with textcat ) \
|
||||
$( use_with unwind libunwind ) \
|
||||
$( use_with zstd ) \
|
||||
$( use_enable static-libs static )
|
||||
|
||||
if use sieve || use managesieve; then
|
||||
# The sieve plugin needs this file to be build to determine the plugin
|
||||
# directory and the list of libraries to link to
|
||||
emake dovecot-config
|
||||
cd "../dovecot-pigeonhole-${MY_PV}" || die "cd failed"
|
||||
econf \
|
||||
$( use_enable static-libs static ) \
|
||||
--localstatedir="${EPREFIX}/var" \
|
||||
--enable-shared \
|
||||
--disable-hardening \
|
||||
--with-dovecot="${S}" \
|
||||
$( use_with ldap ) \
|
||||
$( use_with managesieve )
|
||||
fi
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
default
|
||||
if use sieve || use managesieve; then
|
||||
cd "../dovecot-pigeonhole-${MY_PV}" || die "cd failed"
|
||||
emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}"
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# bug #340791 and bug #807178
|
||||
local -x NOVALGRIND=true
|
||||
|
||||
default
|
||||
if use sieve || use managesieve; then
|
||||
cd "../dovecot-pigeonhole-${MY_PV}" || die "cd failed"
|
||||
default
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
if use suid; then
|
||||
einfo "Changing perms to allow deliver to be suided"
|
||||
fowners root:mail "/usr/libexec/dovecot/dovecot-lda"
|
||||
fperms 4750 "/usr/libexec/dovecot/dovecot-lda"
|
||||
fi
|
||||
|
||||
newinitd "${FILESDIR}"/dovecot.init-r6 dovecot
|
||||
|
||||
use pam && dosym imap /etc/pam.d/dovecot
|
||||
|
||||
insinto /etc/dovecot/conf.d
|
||||
doins "${FILESDIR}/50-misc.conf"
|
||||
|
||||
dodoc AUTHORS NEWS README.md TODO
|
||||
docinto stopwords
|
||||
dodoc src/lib-language/stopwords/stopwords*.txt
|
||||
|
||||
if use sieve || use managesieve; then
|
||||
cd "../dovecot-pigeonhole-${MY_PV}" || die "cd failed"
|
||||
emake DESTDIR="${ED}" install
|
||||
|
||||
newdoc README README.pigeonhole
|
||||
insinto /etc/dovecot/conf.d
|
||||
doins doc/example-config/conf.d/90-sieve{,-extprograms}.conf
|
||||
use managesieve && doins doc/example-config/conf.d/20-managesieve.conf
|
||||
fi
|
||||
|
||||
rm -r "${ED}"/usr/share/dovecot
|
||||
use static-libs || find "${ED}"/usr/lib* -name '*.la' -delete
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
local replacing_version
|
||||
for replacing_version in ${REPLACING_VERSIONS} ; do
|
||||
if ver_test "${replacing_version}" -lt 2.4 ; then
|
||||
# This is an upgrade which requires user review
|
||||
ewarn ""
|
||||
ewarn "Dovecot-2.4.x has new settings and WILL NOT work"
|
||||
ewarn "unless the configuration files are updated."
|
||||
ewarn "Please read the migration guide at:"
|
||||
ewarn " https://doc.dovecot.org/2.4.1/installation/upgrade/2.3-to-2.4.html"
|
||||
# Show this elog only once
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
# Let's not make a new certificate if we already have one
|
||||
if ! [[ -e "${ROOT}"/etc/ssl/dovecot/server.pem && \
|
||||
-e "${ROOT}"/etc/ssl/dovecot/server.key ]]; then
|
||||
einfo "Creating SSL certificate"
|
||||
SSL_ORGANIZATION="${SSL_ORGANIZATION:-Dovecot IMAP Server}"
|
||||
install_cert /etc/dovecot/server
|
||||
fi
|
||||
}
|
||||
Reference in New Issue
Block a user