Diff exim-4.94.2-r7 with a exim-4.94.2-r12

/usr/portage/mail-mta/exim/exim-4.94.2-r12.ebuild 2023-10-09 14:52:31.588368403 +0300
5 5

  
6 6
inherit db-use toolchain-funcs pam systemd
7 7

  
8
IUSE="arc +dane dcc +dkim dlfunc dmarc +dnsdb doc dovecot-sasl dsn exiscan-acl gnutls idn ipv6 ldap lmtp maildir mbx mysql nis pam perl pkcs11 postgres +prdr proxy radius redis sasl selinux spf sqlite srs +srs-alt srs-native +ssl syslog tcpd +tpda X"
8
IUSE="arc berkdb +dane dcc +dkim dlfunc dmarc +dnsdb doc dovecot-sasl
9
dsn exiscan-acl gdbm gnutls idn ipv6 ldap lmtp maildir mbx
10
mysql nis pam perl pkcs11 postgres +prdr proxy radius redis sasl selinux
11
socks5 spf sqlite srs +srs-alt srs-native +ssl syslog tdb tcpd +tpda X"
9 12
REQUIRED_USE="
10 13
	arc? ( dkim spf )
11 14
	dane? ( ssl !gnutls )
......
18 21
		exiscan-acl
19 22
		^^ ( srs-alt srs-native )
20 23
	)
24
	|| ( berkdb gdbm tdb )
21 25
"
22 26
# NOTE on USE="gnutls dane", gnutls[dane] is masked in base, unmasked
23 27
# for x86 and amd64 only, due to this, repoman won't allow depending on
......
26 30
# have left is to a) ignore the dependency (but that results in bug
27 31
# #661164) or b) mask the usage of USE=dane with USE=gnutls.  Both are
28 32
# incorrect, but b) is the only "correct" view from repoman.
33
# We cannot express a required use for berkdb/gdbm/tdb correctly because
34
# berkdb and gdbm are both enabled in base profile
29 35

  
30 36
SDIR=$([[ ${PV} == *_rc* ]]   && echo /test
31 37
	 [[ ${PV} == *.*.*.* ]] && echo /fixes)
......
39 45

  
40 46
SLOT="0"
41 47
LICENSE="GPL-2"
42
KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~ppc ppc64 sparc x86"
48
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
43 49

  
44 50
COMMON_DEPEND=">=sys-apps/sed-4.0.5
45
	( >=sys-libs/db-3.2:= <sys-libs/db-6:= )
46
	dev-libs/libpcre
51
	dev-libs/libpcre:=
52
	tdb? ( sys-libs/tdb:= )
53
	!tdb? ( berkdb? ( >=sys-libs/db-3.2:= <sys-libs/db-6:= ) )
54
	!tdb? ( !berkdb? ( sys-libs/gdbm:= ) )
47 55
	idn? ( net-dns/libidn:= net-dns/libidn2:= )
48 56
	perl? ( dev-lang/perl:= )
49 57
	pam? ( sys-libs/pam )
......
58 66
		)
59 67
	)
60 68
	ldap? ( >=net-nds/openldap-2.0.7:= )
61
	nis? (
62
		elibc_glibc? (
69
	elibc_glibc? (
70
		net-libs/libnsl:=
71
		nis? (
63 72
			net-libs/libtirpc:=
64 73
			>=net-libs/libnsl-1:=
65 74
		)
......
81 90
	radius? ( net-dialup/freeradius-client )
82 91
	virtual/libcrypt:=
83 92
	virtual/libiconv
84
	elibc_glibc? ( net-libs/libnsl )
85 93
	"
86 94
	# added X check for #57206
87 95
BDEPEND="virtual/pkgconfig"
......
112 120
	eapply -p0 "${FILESDIR}"/exim-4.76-crosscompile.patch # 266591
113 121
	eapply     "${FILESDIR}"/exim-4.69-r1.27021.patch
114 122
	eapply     "${FILESDIR}"/exim-4.94-localscan_dlopen.patch
123
	eapply     "${FILESDIR}"/exim-4.94.2-fix-crash-resolve.patch # 799368 upstr
124
	eapply     "${FILESDIR}"/exim-4.94-CVE-2022-3559.patch  # 877607 upstr
125
	eapply     "${FILESDIR}"/exim-4.94.2-openssl3.patch # 888619 backports
115 126

  
116 127
	# for this reason we have a := dep on opendmarc, they changed their
117 128
	# API in a minor release
......
169 180
		HAVE_ICONV=yes
170 181
	EOC
171 182

  
183
	# configure db implementation, Exim always needs one for its hints
184
	# database, we prefer tdb and gdbm, since bdb is kind of getting
185
	# less and less support
186
	if use tdb ; then
187
		cat >> Makefile <<- EOC
188
			USE_TDB=yes
189
			DBMLIB = -ltdb
190
		EOC
191
		sed -i -e 's:^USE_DB=yes:# USE_DB=yes:' Makefile || die
192
		sed -i -e 's:^USE_GDBM=yes:# USE_GDBM=yes:' Makefile || die
193
	elif use berkdb ; then
194
		# use the "native" interfaces to the DBM and CDB libraries, support
195
		# passwd and directory lookups by default
196
		local DB_VERS="5.3 5.1 4.8 4.7 4.6 4.5 4.4 4.3 4.2 3.2"
197
		cat >> Makefile <<- EOC
198
			USE_DB=yes
199
			# keep include in CFLAGS because exim.h -> dbstuff.h -> db.h
200
			CFLAGS += -I$(db_includedir ${DB_VERS})
201
			DBMLIB = -l$(db_libname ${DB_VERS})
202
		EOC
203
		sed -i -e 's:^USE_GDBM=yes:# USE_GDBM=yes:' Makefile || die
204
		sed -i -e 's:^USE_TDB=yes:# USE_TDB=yes:' Makefile || die
205
	else # must be gdbm via required_use
206
		cat >> Makefile <<- EOC
207
			USE_GDBM=yes
208
			DBMLIB = -lgdbm
209
		EOC
210
		sed -i -e 's:^USE_DB=yes:# USE_DB=yes:' Makefile || die
211
		sed -i -e 's:^USE_TDB=yes:# USE_TDB=yes:' Makefile || die
212
	fi
213

  
172 214
	# if we use libiconv, now is the time to tell so
173 215
	if use !elibc_glibc && use !elibc_musl ; then
174 216
		cat >> Makefile <<- EOC
......
217 259

  
218 260
	#
219 261
	# lookup methods
262
	#
220 263

  
221
	# use the "native" interfaces to the DBM and CDB libraries, support
222
	# passwd and directory lookups by default
223
	local DB_VERS="5.3 5.1 4.8 4.7 4.6 4.5 4.4 4.3 4.2 3.2"
264
	# support passwd and directory lookups by default
224 265
	cat >> Makefile <<- EOC
225
		USE_DB=yes
226 266
		LOOKUP_CDB=yes
227 267
		LOOKUP_PASSWD=yes
228 268
		LOOKUP_DSEARCH=yes
229
		# keep include in CFLAGS because exim.h -> dbstuff.h -> db.h
230
		CFLAGS += -I$(db_includedir ${DB_VERS})
231
		DBMLIB = -l$(db_libname ${DB_VERS})
232 269
	EOC
233 270

  
234 271
	if ! use dnsdb; then
......
400 437
		EOC
401 438
	fi
402 439

  
440
	# SOCKS5 (outbound) proxy support
441
	if use socks5; then
442
		cat >> Makefile <<- EOC
443
			SUPPORT_SOCKS=yes
444
		EOC
445
	fi
446

  
403 447
	# DANE
404 448
	if use !dane; then
405 449
		# DANE is enabled by default
Thank you!