commit:     9a3e0eda4fc04c85c612ee6cdfd45e26e9108209
Author:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Sat May  8 08:23:13 2021 +0000
Commit:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Sat May  8 08:23:19 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9a3e0eda

mail-mta/exim: bump stable release to include SLOT dep for opendmarc

Unfortunately opendmarc broke their API without telling, and we need to
ensure Exim instances are rebuilt that link against an upgraded
opendmarc.  Also, need to ensure that once opendmarc-1.4 goes stable,
Exim is properly rebuilt.  Unfortunately this requires a conditional
patch, so we're all extremely unhappy here.

Closes: https://bugs.gentoo.org/788343
Package-Manager: Portage-3.0.18, Repoman-3.0.2
RepoMan-Options: --force
Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>

 .../exim/{exim-4.94.2.ebuild => exim-4.94.2-r1.ebuild}     |  8 +++++++-
 mail-mta/exim/files/exim-4.94-opendmarc-1.4.patch          | 14 ++++++++++++++
 2 files changed, 21 insertions(+), 1 deletion(-)

diff --git a/mail-mta/exim/exim-4.94.2.ebuild 
b/mail-mta/exim/exim-4.94.2-r1.ebuild
similarity index 98%
rename from mail-mta/exim/exim-4.94.2.ebuild
rename to mail-mta/exim/exim-4.94.2-r1.ebuild
index 6458d452535..6d46c0ba652 100644
--- a/mail-mta/exim/exim-4.94.2.ebuild
+++ b/mail-mta/exim/exim-4.94.2-r1.ebuild
@@ -69,7 +69,7 @@ COMMON_DEPEND=">=sys-apps/sed-4.0.5
        sasl? ( >=dev-libs/cyrus-sasl-2.1.26-r2 )
        redis? ( dev-libs/hiredis )
        spf? ( >=mail-filter/libspf2-1.2.5-r1 )
-       dmarc? ( mail-filter/opendmarc )
+       dmarc? ( mail-filter/opendmarc:= )
        srs? ( srs-alt? ( mail-filter/libsrs_alt ) )
        X? (
                x11-libs/libX11
@@ -117,6 +117,12 @@ src_prepare() {
        eapply     "${FILESDIR}"/exim-4.69-r1.27021.patch
        eapply     "${FILESDIR}"/exim-4.94-localscan_dlopen.patch
 
+       # for this reason we have a := dep on opendmarc, they changed their
+       # API in a minor release
+       if use dmarc && has_version ">=mail-filter/opendmarc-1.4" ; then
+               eapply "${FILESDIR}"/exim-4.94-opendmarc-1.4.patch
+       fi
+
        if use maildir ; then
                eapply "${FILESDIR}"/exim-4.94-maildir.patch
        else

diff --git a/mail-mta/exim/files/exim-4.94-opendmarc-1.4.patch 
b/mail-mta/exim/files/exim-4.94-opendmarc-1.4.patch
new file mode 100644
index 00000000000..d37c320d159
--- /dev/null
+++ b/mail-mta/exim/files/exim-4.94-opendmarc-1.4.patch
@@ -0,0 +1,14 @@
+https://bugs.exim.org/show_bug.cgi?id=2728
+
+
+--- a/src/dmarc.c
++++ b/src/dmarc.c
+@@ -446,7 +446,7 @@
+                 vs == PDKIM_VERIFY_INVALID ? 
DMARC_POLICY_DKIM_OUTCOME_TMPFAIL :
+                 DMARC_POLICY_DKIM_OUTCOME_NONE;
+     libdm_status = opendmarc_policy_store_dkim(dmarc_pctx, US sig->domain,
+-                                             dkim_result, US"");
++                                             sig->selector, dkim_result, 
US"");
+     DEBUG(D_receive)
+       debug_printf("DMARC adding DKIM sender domain = %s\n", sig->domain);
+     if (libdm_status != DMARC_PARSE_OKAY)

Reply via email to