From ed7a4d6bc3b98ec7bcd53a43ec423c0878db602e Mon Sep 17 00:00:00 2001 From: Natanael Copa Date: Thu, 1 Nov 2018 12:05:46 +0000 Subject: community/opendkim: rebuild against openssl 1.1 --- community/opendkim/APKBUILD | 25 ++++---- community/opendkim/openssl_1.1.0_compat.patch | 90 +++++++++++++++++++++++++++ 2 files changed, 103 insertions(+), 12 deletions(-) create mode 100644 community/opendkim/openssl_1.1.0_compat.patch diff --git a/community/opendkim/APKBUILD b/community/opendkim/APKBUILD index 7778e4f082..83aa65e397 100644 --- a/community/opendkim/APKBUILD +++ b/community/opendkim/APKBUILD @@ -3,36 +3,42 @@ # Maintainer: Valery Kartel pkgname=opendkim pkgver=2.10.3 -pkgrel=8 +pkgrel=9 pkgdesc="DKIM signing and verifying filter for MTAs" url="http://www.opendkim.org" arch="all" license="custom" depends="" -makedepends="libressl-dev libmilter-dev" +makedepends="openssl-dev libmilter-dev automake autoconf libtool" pkgusers="opendkim" pkggroups="opendkim" subpackages="$pkgname-dev $pkgname-doc $pkgname-libs $pkgname-dbg $pkgname-utils" install="$pkgname.pre-install" source="https://downloads.sourceforge.net/project/$pkgname/$pkgname-$pkgver.tar.gz + openssl_1.1.0_compat.patch $pkgname.confd $pkgname.initd" builddir="$srcdir/$pkgname-$pkgver" +prepare() { + cd "$builddir" + default_prepare + autoreconf -vif +} + build() { cd "$builddir" ./configure \ --build=$CBUILD \ --host=$CHOST \ --prefix=/usr \ - --sysconfdir=/etc/$pkgname \ - || return 1 - make || return 1 + --sysconfdir=/etc/$pkgname + make } package() { cd "$builddir" - make DESTDIR="$pkgdir" install || return 1 + make DESTDIR="$pkgdir" install install -d "$pkgdir"/etc/$pkgname install -dm750 -g mail "$pkgdir"/var/db/dkim cat "$pkgdir"/usr/share/doc/$pkgname/$pkgname.conf.simple | sed \ @@ -54,12 +60,7 @@ utils() { rm -fr "$pkgdir"/usr/lib } -md5sums="916e691cdd16cfabd1cd6efe745323f9 opendkim-2.10.3.tar.gz -57210e7c36bd81680c09e3857f3cae19 opendkim.confd -fc898b12a28671ea617538bcb09209f2 opendkim.initd" -sha256sums="43a0ba57bf942095fe159d0748d8933c6b1dd1117caf0273fa9a0003215e681b opendkim-2.10.3.tar.gz -e3f737b54130e2ba91a7d232902b1f34778a73e1cb289fd30ad0066249c7909e opendkim.confd -b53087eebb7121fd67510b521ee126bafcc01ff5b50a393af22c730804a6c30a opendkim.initd" sha512sums="97923e533d072c07ae4d16a46cbed95ee799aa50f19468d8bc6d1dc534025a8616c3b4b68b5842bc899b509349a2c9a67312d574a726b048c0ea46dd4fcc45d8 opendkim-2.10.3.tar.gz +f971979c5687286213218a5f0b420ed3593c262231717fb85eeee51762acde9b6e6fa0be5c7731e2da1fcf2d6761dfb3e9d6a1477ec9675fd2bbefceb734799f openssl_1.1.0_compat.patch 1dd6ed6e4efd93463f8eeb4603e72cf3a77f0a70117164a34b45bf0d2f45d4520b62c86696f7d180cff61a73201253c1ff875efdcd5317d631118776db665ea1 opendkim.confd a3c3b4d4af875903aec1ae9f565113dc6b10fb0c5c45df96f043735de9be772e6d2fca812ce2bd51f9759f4a7c18ac5ced62a7b5530924edd0981250cb88f91f opendkim.initd" diff --git a/community/opendkim/openssl_1.1.0_compat.patch b/community/opendkim/openssl_1.1.0_compat.patch new file mode 100644 index 0000000000..383990832a --- /dev/null +++ b/community/opendkim/openssl_1.1.0_compat.patch @@ -0,0 +1,90 @@ +Description: Build and work with either openssl 1.0.2 or 1.1.0 + * Add patch to build with either openssl 1.0.2 or 1.1.0 (Closes: #828466) + - Thanks to Sebastian Andrzej Siewior for the patch +Author: Sebastian Andrzej Siewior +Bug-Debian: http://bugs.debian.org/828466 +Origin: vendor +Forwarded: no +Reviewed-By: Scott Kitterman +Last-Update: + +--- opendkim-2.11.0~alpha.orig/configure.ac ++++ opendkim-2.11.0~alpha/configure.ac +@@ -864,26 +864,28 @@ then + AC_SEARCH_LIBS([ERR_peek_error], [crypto], , + AC_MSG_ERROR([libcrypto not found])) + +- AC_SEARCH_LIBS([SSL_library_init], [ssl], , +- [ +- if test x"$enable_shared" = x"yes" +- then +- AC_MSG_ERROR([Cannot build shared opendkim +- against static openssl libraries. +- Configure with --disable-shared +- to get this working or obtain a +- shared libssl library for +- opendkim to use.]) +- fi + +- # avoid caching issue - last result of SSL_library_init +- # shouldn't be cached for this next check +- unset ac_cv_search_SSL_library_init +- LIBCRYPTO_LIBS="$LIBCRYPTO_LIBS -ldl" +- AC_SEARCH_LIBS([SSL_library_init], [ssl], , +- AC_MSG_ERROR([libssl not found]), [-ldl]) +- ] +- ) ++ AC_LINK_IFELSE( ++ [AC_LANG_PROGRAM([[#include ]], ++ [[SSL_library_init();]])], ++ [od_have_ossl="yes";], ++ [od_have_ossl="no";]) ++ if test x"$od_have_ossl" = x"no" ++ then ++ if test x"$enable_shared" = x"yes" ++ then ++ AC_MSG_ERROR([Cannot build shared opendkim ++ against static openssl libraries. ++ Configure with --disable-shared ++ to get this working or obtain a ++ shared libssl library for ++ opendkim to use.]) ++ fi ++ ++ LIBCRYPTO_LIBS="$LIBCRYPTO_LIBS -ldl" ++ AC_SEARCH_LIBS([SSL_library_init], [ssl], , ++ AC_MSG_ERROR([libssl not found]), [-ldl]) ++ fi + + AC_CHECK_DECL([SHA256_DIGEST_LENGTH], + AC_DEFINE([HAVE_SHA256], 1, +--- opendkim-2.11.0~alpha.orig/opendkim/opendkim-crypto.c ++++ opendkim-2.11.0~alpha/opendkim/opendkim-crypto.c +@@ -222,7 +222,11 @@ dkimf_crypto_free_id(void *ptr) + { + assert(pthread_setspecific(id_key, ptr) == 0); + ++#if OPENSSL_VERSION_NUMBER >= 0x10100000 ++ OPENSSL_thread_stop(); ++#else + ERR_remove_state(0); ++#endif + + free(ptr); + +@@ -392,11 +396,15 @@ dkimf_crypto_free(void) + { + if (crypto_init_done) + { ++#if OPENSSL_VERSION_NUMBER >= 0x10100000 ++ OPENSSL_thread_stop(); ++#else + CRYPTO_cleanup_all_ex_data(); + CONF_modules_free(); + EVP_cleanup(); + ERR_free_strings(); + ERR_remove_state(0); ++#endif + + if (nmutexes > 0) + { -- cgit v1.2.3