Gentoo Archives: gentoo-commits

From: Fabian Groffen <grobian@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: mail-mta/exim/
Date: Wed, 07 Feb 2018 07:41:28
Message-Id: 1517989269.1bc317cd39ecf7b89bb4cf9de05000e52f59110e.grobian@gentoo
1 commit: 1bc317cd39ecf7b89bb4cf9de05000e52f59110e
2 Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
3 AuthorDate: Wed Feb 7 07:41:09 2018 +0000
4 Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
5 CommitDate: Wed Feb 7 07:41:09 2018 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1bc317cd
7
8 mail-mta/exim: drop vulnerable version, bug #638772
9
10 Bug: https://bugs.gentoo.org/638772
11 Package-Manager: Portage-2.3.19, Repoman-2.3.6
12
13 mail-mta/exim/exim-4.89-r1.ebuild | 529 --------------------------------------
14 1 file changed, 529 deletions(-)
15
16 diff --git a/mail-mta/exim/exim-4.89-r1.ebuild b/mail-mta/exim/exim-4.89-r1.ebuild
17 deleted file mode 100644
18 index aab4f2e3242..00000000000
19 --- a/mail-mta/exim/exim-4.89-r1.ebuild
20 +++ /dev/null
21 @@ -1,529 +0,0 @@
22 -# Copyright 1999-2017 Gentoo Foundation
23 -# Distributed under the terms of the GNU General Public License v2
24 -
25 -EAPI="6"
26 -
27 -inherit eutils toolchain-funcs multilib pam systemd
28 -
29 -IUSE="dane dcc +dkim dlfunc dmarc +dnsdb doc dovecot-sasl dsn exiscan-acl gnutls ipv6 ldap libressl lmtp maildir mbx mysql nis pam perl pkcs11 postgres +prdr proxy radius redis sasl selinux spf sqlite srs ssl syslog tcpd tpda X elibc_glibc"
30 -REQUIRED_USE="
31 - dane? ( !gnutls )
32 - dmarc? ( spf dkim )
33 - pkcs11? ( gnutls )
34 - spf? ( exiscan-acl )
35 - srs? ( exiscan-acl )
36 -"
37 -
38 -COMM_URI="ftp://ftp.exim.org/pub/exim/exim4$([[ ${PV} == *_rc* ]] && echo /test)"
39 -
40 -DESCRIPTION="A highly configurable, drop-in replacement for sendmail"
41 -SRC_URI="${COMM_URI}/${P//rc/RC}.tar.bz2
42 - mirror://gentoo/system_filter.exim.gz
43 - doc? ( ${COMM_URI}/${PN}-pdf-${PV//rc/RC}.tar.bz2 )"
44 -HOMEPAGE="http://www.exim.org/"
45 -
46 -SLOT="0"
47 -LICENSE="GPL-2"
48 -KEYWORDS="sparc"
49 -
50 -COMMON_DEPEND=">=sys-apps/sed-4.0.5
51 - >=sys-libs/db-3.2:=
52 - dev-libs/libpcre
53 - perl? ( dev-lang/perl:= )
54 - pam? ( virtual/pam )
55 - tcpd? ( sys-apps/tcp-wrappers )
56 - ssl? (
57 - !libressl? ( dev-libs/openssl:0= )
58 - libressl? ( dev-libs/libressl:= )
59 - )
60 - gnutls? ( net-libs/gnutls[pkcs11?]
61 - dev-libs/libtasn1 )
62 - ldap? ( >=net-nds/openldap-2.0.7 )
63 - nis? ( elibc_glibc? ( || (
64 - <sys-libs/glibc-2.23
65 - >=sys-libs/glibc-2.23[rpc]
66 - ) ) )
67 - mysql? ( virtual/libmysqlclient )
68 - postgres? ( dev-db/postgresql:= )
69 - sasl? ( >=dev-libs/cyrus-sasl-2.1.26-r2 )
70 - redis? ( dev-libs/hiredis )
71 - spf? ( >=mail-filter/libspf2-1.2.5-r1 )
72 - dmarc? ( mail-filter/opendmarc )
73 - srs? ( mail-filter/libsrs_alt )
74 - X? ( x11-proto/xproto
75 - x11-libs/libX11
76 - x11-libs/libXmu
77 - x11-libs/libXt
78 - x11-libs/libXaw
79 - )
80 - sqlite? ( dev-db/sqlite )
81 - radius? ( net-dialup/freeradius-client )
82 - virtual/libiconv
83 - elibc_glibc? ( net-libs/libnsl )
84 - "
85 - # added X check for #57206
86 -DEPEND="${COMMON_DEPEND}
87 - virtual/pkgconfig"
88 -RDEPEND="${COMMON_DEPEND}
89 - !mail-mta/courier
90 - !mail-mta/esmtp
91 - !mail-mta/mini-qmail
92 - !<mail-mta/msmtp-1.4.19-r1
93 - !>=mail-mta/msmtp-1.4.19-r1[mta]
94 - !mail-mta/netqmail
95 - !mail-mta/nullmailer
96 - !mail-mta/postfix
97 - !mail-mta/qmail-ldap
98 - !mail-mta/sendmail
99 - !mail-mta/opensmtpd
100 - !<mail-mta/ssmtp-2.64-r2
101 - !>=mail-mta/ssmtp-2.64-r2[mta]
102 - !net-mail/mailwrapper
103 - >=net-mail/mailbase-0.00-r5
104 - virtual/logger
105 - dcc? ( mail-filter/dcc )
106 - selinux? ( sec-policy/selinux-exim )
107 - "
108 -
109 -S=${WORKDIR}/${P//rc/RC}
110 -
111 -src_prepare() {
112 - epatch "${FILESDIR}"/exim-4.14-tail.patch
113 - epatch "${FILESDIR}"/exim-4.74-localscan_dlopen.patch
114 - epatch "${FILESDIR}"/exim-4.69-r1.27021.patch
115 - epatch "${FILESDIR}"/exim-4.74-radius-db-ENV-clash.patch # 287426
116 - epatch "${FILESDIR}"/exim-4.82-makefile-freebsd.patch # 235785
117 - epatch "${FILESDIR}"/exim-4.89-as-needed-ldflags.patch # 352265, 391279
118 - epatch "${FILESDIR}"/exim-4.76-crosscompile.patch # 266591
119 - epatch "${FILESDIR}"/exim-4.89-CVE-2017-1000369.patch # 622212
120 -
121 - if use maildir ; then
122 - epatch "${FILESDIR}"/exim-4.20-maildir.patch
123 - else
124 - epatch "${FILESDIR}"/exim-4.80-spool-mail-group.patch # 438606
125 - fi
126 -
127 - eapply_user
128 -
129 - # user Exim believes it should be
130 - MAILUSER=mail
131 - MAILGROUP=mail
132 - if use prefix && [[ ${EUID} != 0 ]] ; then
133 - MAILUSER=$(id -un)
134 - MAILGROUP=$(id -gn)
135 - fi
136 -}
137 -
138 -src_configure() {
139 - # general config and paths
140 -
141 - sed -i.orig \
142 - -e "/SYSTEM_ALIASES_FILE/s'SYSTEM_ALIASES_FILE'${EPREFIX}/etc/mail/aliases'" \
143 - "${S}"/src/configure.default || die
144 -
145 - sed -i -e 's/^buildname=.*/buildname=exim-gentoo/g' Makefile || die
146 -
147 - sed -e "48i\CFLAGS=${CFLAGS}" \
148 - -e "s:BIN_DIRECTORY=/usr/exim/bin:BIN_DIRECTORY=${EPREFIX}/usr/sbin:" \
149 - -e "s:EXIM_USER=:EXIM_USER=${MAILUSER}:" \
150 - -e "s:CONFIGURE_FILE=/usr/exim/configure:CONFIGURE_FILE=${EPREFIX}/etc/exim/exim.conf:" \
151 - -e "s:ZCAT_COMMAND=.*$:ZCAT_COMMAND=${EPREFIX}/bin/zcat:" \
152 - -e "s:COMPRESS_COMMAND=.*$:COMPRESS_COMMAND=${EPREFIX}/bin/gzip:" \
153 - src/EDITME > Local/Makefile
154 -
155 - if use elibc_musl; then
156 - sed -e 's/^LIBS = -lnsl/LIBS =/g' \
157 - -i OS/Makefile-Linux
158 - fi
159 -
160 - cd Local
161 -
162 - cat >> Makefile <<- EOC
163 - INFO_DIRECTORY=${EPREFIX}/usr/share/info
164 - PID_FILE_PATH=${EPREFIX}/run/exim.pid
165 - SPOOL_DIRECTORY=${EPREFIX}/var/spool/exim
166 - HAVE_ICONV=yes
167 - EOC
168 -
169 - # if we use libiconv, now is the time to tell so
170 - use !elibc_glibc && use !elibc_musl && echo "EXTRALIBS_EXIM=-liconv" >> Makefile
171 -
172 - # support for IPv6
173 - if use ipv6; then
174 - cat >> Makefile <<- EOC
175 - HAVE_IPV6=YES
176 - EOC
177 - fi
178 -
179 - #
180 - # mail storage formats
181 -
182 - # mailstore is Exim's traditional storage format
183 - cat >> Makefile <<- EOC
184 - SUPPORT_MAILSTORE=yes
185 - EOC
186 -
187 - # mbox
188 - if use mbx; then
189 - cat >> Makefile <<- EOC
190 - SUPPORT_MBX=yes
191 - EOC
192 - fi
193 -
194 - # maildir
195 - if use maildir; then
196 - cat >> Makefile <<- EOC
197 - SUPPORT_MAILDIR=yes
198 - EOC
199 - fi
200 -
201 - #
202 - # lookup methods
203 -
204 - # use the "native" interfaces to the DBM and CDB libraries, support
205 - # passwd and directory lookups by default
206 - cat >> Makefile <<- EOC
207 - USE_DB=yes
208 - DBMLIB=-ldb
209 - LOOKUP_CDB=yes
210 - LOOKUP_PASSWD=yes
211 - LOOKUP_DSEARCH=yes
212 - EOC
213 -
214 - if ! use dnsdb; then
215 - # DNSDB lookup is enabled by default
216 - sed -i "s:^LOOKUP_DNSDB=yes:# LOOKUP_DNSDB=yes:" Makefile
217 - fi
218 -
219 - if use ldap; then
220 - cat >> Makefile <<- EOC
221 - LOOKUP_LDAP=yes
222 - LDAP_LIB_TYPE=OPENLDAP2
223 - LOOKUP_INCLUDE += -I"${EROOT}"usr/include/ldap
224 - LOOKUP_LIBS += -lldap -llber
225 - EOC
226 - fi
227 -
228 - if use mysql; then
229 - cat >> Makefile <<- EOC
230 - LOOKUP_MYSQL=yes
231 - LOOKUP_INCLUDE += $(mysql_config --include)
232 - LOOKUP_LIBS += $(mysql_config --libs)
233 - EOC
234 - fi
235 -
236 - if use nis; then
237 - cat >> Makefile <<- EOC
238 - LOOKUP_NIS=yes
239 - LOOKUP_NISPLUS=yes
240 - EOC
241 - fi
242 -
243 - if use postgres; then
244 - cat >> Makefile <<- EOC
245 - LOOKUP_PGSQL=yes
246 - LOOKUP_INCLUDE += -I$(pg_config --includedir)
247 - LOOKUP_LIBS += -L$(pg_config --libdir) -lpq
248 - EOC
249 - fi
250 -
251 - if use sqlite; then
252 - cat >> Makefile <<- EOC
253 - LOOKUP_SQLITE=yes
254 - LOOKUP_SQLITE_PC=sqlite3
255 - EOC
256 - fi
257 -
258 - if use redis; then
259 - cat >> Makefile <<- EOC
260 - LOOKUP_REDIS=yes
261 - LOOKUP_LIBS += -lhiredis
262 - EOC
263 - fi
264 -
265 - #
266 - # Exim monitor, enabled by default, controlled via X USE-flag,
267 - # disable if not requested, bug #46778
268 - if use X; then
269 - cp ../exim_monitor/EDITME eximon.conf || die
270 - else
271 - sed -i -e '/^EXIM_MONITOR=/s/^/# /' Makefile
272 - fi
273 -
274 - #
275 - # features
276 -
277 - # content scanning support
278 - if use exiscan-acl; then
279 - cat >> Makefile <<- EOC
280 - WITH_CONTENT_SCAN=yes
281 - WITH_OLD_DEMIME=yes
282 - EOC
283 - fi
284 -
285 - # DomainKeys Identified Mail, RFC4871
286 - if ! use dkim; then
287 - # DKIM is enabled by default
288 - cat >> Makefile <<- EOC
289 - DISABLE_DKIM=yes
290 - EOC
291 - fi
292 -
293 - # Per-Recipient-Data-Response
294 - if ! use prdr; then
295 - # PRDR is enabled by default
296 - cat >> Makefile <<- EOC
297 - DISABLE_PRDR=yes
298 - EOC
299 - fi
300 -
301 - # log to syslog
302 - if use syslog; then
303 - sed -i "s:LOG_FILE_PATH=/var/log/exim/exim_%s.log:LOG_FILE_PATH=syslog:" Makefile
304 - cat >> Makefile <<- EOC
305 - LOG_FILE_PATH=syslog
306 - EOC
307 - else
308 - cat >> Makefile <<- EOC
309 - LOG_FILE_PATH=${EPREFIX}/var/log/exim/exim_%s.log
310 - EOC
311 - fi
312 -
313 - # starttls support (ssl)
314 - if use ssl; then
315 - echo "SUPPORT_TLS=yes" >> Makefile
316 - if use gnutls; then
317 - echo "USE_GNUTLS=yes" >> Makefile
318 - echo "USE_GNUTLS_PC=gnutls" >> Makefile
319 - use pkcs11 || echo "AVOID_GNUTLS_PKCS11=yes" >> Makefile
320 - else
321 - echo "USE_OPENSSL_PC=openssl" >> Makefile
322 - fi
323 - fi
324 -
325 - # TCP wrappers
326 - if use tcpd; then
327 - cat >> Makefile <<- EOC
328 - USE_TCP_WRAPPERS=yes
329 - EXTRALIBS_EXIM += -lwrap
330 - EOC
331 - fi
332 -
333 - # Light Mail Transport Protocol
334 - if use lmtp; then
335 - cat >> Makefile <<- EOC
336 - TRANSPORT_LMTP=yes
337 - EOC
338 - fi
339 -
340 - # embedded Perl
341 - if use perl; then
342 - cat >> Makefile <<- EOC
343 - EXIM_PERL=perl.o
344 - EOC
345 - fi
346 -
347 - # dlfunc
348 - if use dlfunc; then
349 - cat >> Makefile <<- EOC
350 - EXPAND_DLFUNC=yes
351 - EOC
352 - fi
353 -
354 - # Proxy Protocol
355 - if use proxy; then
356 - cat >> Makefile <<- EOC
357 - SUPPORT_PROXY=yes
358 - EOC
359 - fi
360 -
361 - #
362 - # experimental features
363 -
364 - # DANE
365 - if use dane; then
366 - cat >> Makefile <<- EOC
367 - EXPERIMENTAL_DANE=yes
368 - EOC
369 - fi
370 -
371 - # Distributed Checksum Clearinghouse
372 - if use dcc; then
373 - echo "EXPERIMENTAL_DCC=yes">> Makefile
374 - fi
375 -
376 - # Sender Policy Framework
377 - if use spf; then
378 - cat >> Makefile <<- EOC
379 - EXPERIMENTAL_SPF=yes
380 - EXTRALIBS_EXIM += -lspf2
381 - EOC
382 - fi
383 -
384 - # Sender Rewriting Scheme
385 - if use srs; then
386 - cat >> Makefile <<- EOC
387 - EXPERIMENTAL_SRS=yes
388 - EXTRALIBS_EXIM += -lsrs_alt
389 - EOC
390 - fi
391 -
392 - # DMARC
393 - if use dmarc; then
394 - cat >> Makefile <<- EOC
395 - EXPERIMENTAL_DMARC=yes
396 - EXTRALIBS_EXIM += -lopendmarc
397 - EOC
398 - fi
399 -
400 - # Transport post-delivery actions
401 - if use tpda; then
402 - cat >> Makefile <<- EOC
403 - EXPERIMENTAL_EVENT=yes
404 - EOC
405 - fi
406 -
407 - # Delivery Sender Notifications
408 - if use dsn; then
409 - cat >> Makefile <<- EOC
410 - EXPERIMENTAL_DSN=yes
411 - EOC
412 - fi
413 -
414 - #
415 - # authentication (SMTP AUTH)
416 -
417 - # standard bits
418 - cat >> Makefile <<- EOC
419 - AUTH_SPA=yes
420 - AUTH_CRAM_MD5=yes
421 - AUTH_PLAINTEXT=yes
422 - EOC
423 -
424 - # Cyrus SASL
425 - if use sasl; then
426 - cat >> Makefile <<- EOC
427 - CYRUS_SASLAUTHD_SOCKET=${EPREFIX}/run/saslauthd/mux
428 - AUTH_CYRUS_SASL=yes
429 - AUTH_LIBS += -lsasl2
430 - EOC
431 - fi
432 -
433 - # Dovecot
434 - if use dovecot-sasl; then
435 - cat >> Makefile <<- EOC
436 - AUTH_DOVECOT=yes
437 - EOC
438 - fi
439 -
440 - # Pluggable Authentication Modules
441 - if use pam; then
442 - cat >> Makefile <<- EOC
443 - SUPPORT_PAM=yes
444 - AUTH_LIBS += -lpam
445 - EOC
446 - fi
447 -
448 - # Radius
449 - if use radius; then
450 - cat >> Makefile <<- EOC
451 - RADIUS_CONFIG_FILE=${EPREFIX}/etc/radiusclient/radiusclient.conf
452 - RADIUS_LIB_TYPE=RADIUSCLIENTNEW
453 - AUTH_LIBS += -lfreeradius-client
454 - EOC
455 - fi
456 -}
457 -
458 -src_compile() {
459 - emake CC="$(tc-getCC)" HOSTCC="$(tc-getCC $CBUILD)" \
460 - AR="$(tc-getAR) cq" RANLIB="$(tc-getRANLIB)" FULLECHO='' \
461 - || die "make failed"
462 -}
463 -
464 -src_install () {
465 - cd "${S}"/build-exim-gentoo || die
466 - dosbin exim
467 - if use X; then
468 - dosbin eximon.bin
469 - dosbin eximon
470 - fi
471 - fperms 4755 /usr/sbin/exim
472 -
473 - dosym exim /usr/sbin/sendmail
474 - dosym exim /usr/sbin/rsmtp
475 - dosym exim /usr/sbin/rmail
476 - dosym /usr/sbin/exim /usr/bin/mailq
477 - dosym /usr/sbin/exim /usr/bin/newaliases
478 - dosym /usr/sbin/sendmail /usr/lib/sendmail
479 -
480 - for i in exicyclog exim_dbmbuild exim_dumpdb exim_fixdb exim_lock \
481 - exim_tidydb exinext exiwhat exigrep eximstats exiqsumm exiqgrep \
482 - convert4r3 convert4r4 exipick
483 - do
484 - dosbin $i
485 - done
486 -
487 - dodoc "${S}"/doc/*
488 - doman "${S}"/doc/exim.8
489 - use dsn && dodoc "${S}"/README.DSN
490 - use doc && dodoc "${WORKDIR}"/${PN}-pdf-${PV//rc/RC}/doc/*.pdf
491 -
492 - # conf files
493 - insinto /etc/exim
494 - newins "${S}"/src/configure.default exim.conf.dist
495 - if use exiscan-acl; then
496 - newins "${S}"/src/configure.default exim.conf.exiscan-acl
497 - fi
498 - doins "${WORKDIR}"/system_filter.exim
499 - doins "${FILESDIR}"/auth_conf.sub
500 -
501 - pamd_mimic system-auth exim auth account
502 -
503 - # headers, #436406
504 - if use dlfunc ; then
505 - # fixup includes so they actually can be found when including
506 - sed -i \
507 - -e '/#include "\(config\|store\|mytypes\).h"/s:"\(.\+\)":<exim/\1>:' \
508 - local_scan.h || die
509 - insinto /usr/include/exim
510 - doins {config,local_scan}.h ../src/{mytypes,store}.h
511 - fi
512 -
513 - insinto /etc/logrotate.d
514 - newins "${FILESDIR}/exim.logrotate" exim
515 -
516 - newinitd "${FILESDIR}"/exim.rc10 exim
517 - newconfd "${FILESDIR}"/exim.confd exim
518 -
519 - systemd_dounit "${FILESDIR}"/{exim.service,exim.socket,exim-submission.socket}
520 - systemd_newunit "${FILESDIR}"/exim_at.service 'exim@.service'
521 - systemd_newunit "${FILESDIR}"/exim-submission_at.service 'exim-submission@.service'
522 -
523 - diropts -m 0750 -o ${MAILUSER} -g ${MAILGROUP}
524 - dodir /var/log/${PN}
525 -}
526 -
527 -pkg_postinst() {
528 - if [[ ! -f ${EROOT}etc/exim/exim.conf ]] ; then
529 - einfo "${EROOT}etc/exim/system_filter.exim is a sample system_filter."
530 - einfo "${EROOT}etc/exim/auth_conf.sub contains the configuration sub for using smtp auth."
531 - einfo "Please create ${EROOT}etc/exim/exim.conf from ${EROOT}etc/exim/exim.conf.dist."
532 - fi
533 - use dane && einfo "DANE support is experimental"
534 - if use dcc ; then
535 - einfo "DCC support is experimental, you can find some limited"
536 - einfo "documentation at the bottom of this prerelease message:"
537 - einfo "http://article.gmane.org/gmane.mail.exim.devel/3579"
538 - fi
539 - use spf && einfo "SPF support is experimental"
540 - use srs && einfo "SRS support is experimental"
541 - if use dmarc ; then
542 - einfo "DMARC support is experimental. See global settings to"
543 - einfo "configure DMARC, for usage see the documentation at "
544 - einfo "experimental-spec.txt."
545 - fi
546 - use tpda && einfo "TPDA/EVENT support is experimental"
547 - use dsn && einfo "DSN support is experimental"
548 - elog "The obsolete acl condition 'demime' is removed, the replacements"
549 - elog "are the ACLs acl_smtp_mime and acl_not_smtp_mime"
550 -}