commit:     a62fc3b9e32e7678fea4a1c636aa29605aabbb20
Author:     David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Sat Apr 23 23:46:21 2022 +0000
Commit:     David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Sat Apr 23 23:46:21 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a62fc3b9

mail-filter/opendmarc: [QA] fix glibc upgrade issue without hacks

Closes: https://bugs.gentoo.org/839951
Closes: https://github.com/gentoo/gentoo/pull/25173
Signed-off-by: David Seifert <soap <AT> gentoo.org>

 .../files/opendmarc-1.4.1.1-underlinking.patch     | 17 ++++++
 mail-filter/opendmarc/opendmarc-1.4.1.1-r3.ebuild  | 71 ----------------------
 ...4.1.1-r2.ebuild => opendmarc-1.4.1.1-r4.ebuild} | 15 +++--
 3 files changed, 24 insertions(+), 79 deletions(-)

diff --git a/mail-filter/opendmarc/files/opendmarc-1.4.1.1-underlinking.patch 
b/mail-filter/opendmarc/files/opendmarc-1.4.1.1-underlinking.patch
new file mode 100644
index 000000000000..825ee461dfd6
--- /dev/null
+++ b/mail-filter/opendmarc/files/opendmarc-1.4.1.1-underlinking.patch
@@ -0,0 +1,17 @@
+libopendmarc.so.2.0.3 uses
+* __dn_expand
+* __dn_skipname
+* __res_nquery
+which are defined in libresolv in glibc 2.33 and older.
+
+See: https://bugs.gentoo.org/839951
+
+--- a/libopendmarc/Makefile.am
++++ b/libopendmarc/Makefile.am
+@@ -15,5 +15,6 @@
+                         opendmarc_spf_dns.c \
+                           opendmarc_internal.h
+ libopendmarc_la_LDFLAGS = -version-info $(LIBOPENDMARC_VERSION_INFO)
++libopendmarc_la_LIBADD = $(LIBRESOLV)
+ libopendmarc_includedir = $(includedir)/opendmarc
+ libopendmarc_include_HEADERS = dmarc.h

diff --git a/mail-filter/opendmarc/opendmarc-1.4.1.1-r3.ebuild 
b/mail-filter/opendmarc/opendmarc-1.4.1.1-r3.ebuild
deleted file mode 100644
index c9de04f81e6b..000000000000
--- a/mail-filter/opendmarc/opendmarc-1.4.1.1-r3.ebuild
+++ /dev/null
@@ -1,71 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools systemd
-
-DESCRIPTION="Open source DMARC implementation"
-HOMEPAGE="http://www.trusteddomain.org/opendmarc/";
-SRC_URI="https://github.com/trusteddomainproject/OpenDMARC/archive/rel-${PN}-${PV//./-}.tar.gz
 -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0/3"  # 1.4 has API breakage with 1.3, yet uses same soname
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ppc ppc64 sparc x86"
-IUSE="spf +reports static-libs"
-
-DEPEND="reports? ( dev-perl/DBI )
-       || ( mail-filter/libmilter mail-mta/sendmail )
-       elibc_glibc? ( >=sys-libs/glibc-2.34 )"  #839951
-RDEPEND="${DEPEND}
-       acct-user/opendmarc
-       reports? (
-               dev-perl/DBD-mysql
-               dev-perl/HTTP-Message
-               dev-perl/Switch
-       )
-       spf? ( mail-filter/libspf2 )"
-
-S=${WORKDIR}/OpenDMARC-rel-${PN}-${PV//./-}
-
-PATCHES=(
-       "${FILESDIR}"/${PN}-1.4.1.1-CVE-2021-34555.patch
-)
-
-src_prepare() {
-       default
-
-       eautoreconf
-       if use !reports ; then
-               sed -i -e '/^SUBDIRS =/s/reports//' Makefile.in || die
-       fi
-}
-
-src_configure() {
-       econf \
-               $(use_with spf) \
-               $(use_with spf spf2-include "${EPREFIX}"/usr/include/spf2) \
-               $(use_with spf spf2-lib "${EPREFIX}"/usr/$(get_libdir)) \
-               $(use_enable static-libs static)
-}
-
-src_install() {
-       default
-
-       use static-libs || rm -f "${ED}"/usr/$(get_libdir)/*.la
-
-       newinitd "${FILESDIR}"/opendmarc.initd opendmarc
-       newconfd "${FILESDIR}"/opendmarc.confd opendmarc
-       systemd_dounit "${FILESDIR}/${PN}.service"
-
-       dodir /etc/opendmarc
-
-       # create config file
-       sed \
-               -e 's:^# UserID .*$:UserID opendmarc:' \
-               -e "s:^# PidFile .*:PidFile 
${EPREFIX}/var/run/opendmarc/opendmarc.pid:" \
-               -e '/^# Socket /s:^# ::' \
-               "${S}"/opendmarc/opendmarc.conf.sample \
-               > "${ED}"/etc/opendmarc/opendmarc.conf \
-               || die
-}

diff --git a/mail-filter/opendmarc/opendmarc-1.4.1.1-r2.ebuild 
b/mail-filter/opendmarc/opendmarc-1.4.1.1-r4.ebuild
similarity index 81%
rename from mail-filter/opendmarc/opendmarc-1.4.1.1-r2.ebuild
rename to mail-filter/opendmarc/opendmarc-1.4.1.1-r4.ebuild
index 09be27f5139e..e0d08ea8755b 100644
--- a/mail-filter/opendmarc/opendmarc-1.4.1.1-r2.ebuild
+++ b/mail-filter/opendmarc/opendmarc-1.4.1.1-r4.ebuild
@@ -8,15 +8,15 @@ inherit autotools systemd
 DESCRIPTION="Open source DMARC implementation"
 HOMEPAGE="http://www.trusteddomain.org/opendmarc/";
 
SRC_URI="https://github.com/trusteddomainproject/OpenDMARC/archive/rel-${PN}-${PV//./-}.tar.gz
 -> ${P}.tar.gz"
+S="${WORKDIR}/OpenDMARC-rel-${PN}-${PV//./-}"
 
 LICENSE="BSD"
 SLOT="0/3"  # 1.4 has API breakage with 1.3, yet uses same soname
 KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ppc ppc64 sparc x86"
-IUSE="spf +reports static-libs"
+IUSE="spf +reports"
 
 DEPEND="reports? ( dev-perl/DBI )
-       || ( mail-filter/libmilter mail-mta/sendmail )
-       elibc_glibc? ( <sys-libs/glibc-2.34 )"  #839951
+       || ( mail-filter/libmilter mail-mta/sendmail )"
 RDEPEND="${DEPEND}
        acct-user/opendmarc
        reports? (
@@ -26,10 +26,9 @@ RDEPEND="${DEPEND}
        )
        spf? ( mail-filter/libspf2 )"
 
-S=${WORKDIR}/OpenDMARC-rel-${PN}-${PV//./-}
-
 PATCHES=(
        "${FILESDIR}"/${PN}-1.4.1.1-CVE-2021-34555.patch
+       "${FILESDIR}"/${PN}-1.4.1.1-underlinking.patch
 )
 
 src_prepare() {
@@ -43,16 +42,16 @@ src_prepare() {
 
 src_configure() {
        econf \
+               --disable-static \
                $(use_with spf) \
                $(use_with spf spf2-include "${EPREFIX}"/usr/include/spf2) \
-               $(use_with spf spf2-lib "${EPREFIX}"/usr/$(get_libdir)) \
-               $(use_enable static-libs static)
+               $(use_with spf spf2-lib "${EPREFIX}"/usr/$(get_libdir))
 }
 
 src_install() {
        default
 
-       use static-libs || rm -f "${ED}"/usr/$(get_libdir)/*.la
+       find "${ED}" -name '*.la' -delete || die
 
        newinitd "${FILESDIR}"/opendmarc.initd opendmarc
        newconfd "${FILESDIR}"/opendmarc.confd opendmarc

Reply via email to