aboutsummaryrefslogtreecommitdiffstats
path: root/community/opendkim
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2018-11-01 12:05:46 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2018-11-07 16:46:14 +0000
commited7a4d6bc3b98ec7bcd53a43ec423c0878db602e (patch)
treef2e989db0e1d69dafb2f40384501f875636b1642 /community/opendkim
parenta08e1f9d8b393f4967ba025ab1599f43475e92ff (diff)
downloadaports-ed7a4d6bc3b98ec7bcd53a43ec423c0878db602e.tar.bz2
aports-ed7a4d6bc3b98ec7bcd53a43ec423c0878db602e.tar.xz
community/opendkim: rebuild against openssl 1.1
Diffstat (limited to 'community/opendkim')
-rw-r--r--community/opendkim/APKBUILD25
-rw-r--r--community/opendkim/openssl_1.1.0_compat.patch90
2 files changed, 103 insertions, 12 deletions
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 <valery.kartel@gmail.com>
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 <scott@kitterman.com>
+Last-Update: <YYYY-MM-DD>
+
+--- 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 <openssl/ssl.h>]],
++ [[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)
+ {