Date: Friday, March 10, 2017 @ 14:39:11 Author: jelle Revision: 215591
upgpkg: opendkim 2.10.3-4 openssl 1.1.0 rebuild Added: opendkim/trunk/openssl_1.1.0_compat.patch Modified: opendkim/trunk/PKGBUILD ----------------------------+ PKGBUILD | 14 +++++- openssl_1.1.0_compat.patch | 90 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 101 insertions(+), 3 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2017-03-10 13:27:26 UTC (rev 215590) +++ PKGBUILD 2017-03-10 14:39:11 UTC (rev 215591) @@ -4,7 +4,7 @@ pkgname=opendkim pkgver=2.10.3 -pkgrel=3 +pkgrel=4 pkgdesc="An open source implementation of the DKIM sender authentication system. Based on a fork of dkim-milter." arch=(i686 x86_64) url="http://www.opendkim.org/" @@ -17,12 +17,20 @@ validpgpkeys=('5CDD574C22FF4D2480ACABDF5254B96BC608B511') source=(https://downloads.sourceforge.net/project/$pkgname/$pkgname-$pkgver.tar.gz{,.asc} opendkim.conf - opendkim.service) + opendkim.service + openssl_1.1.0_compat.patch) sha256sums=('43a0ba57bf942095fe159d0748d8933c6b1dd1117caf0273fa9a0003215e681b' 'SKIP' 'a3b5ecf4f4fe4a79392a75f7c4b6cc93a51ef8503215bb0f64d795f8754d4b68' - '3e1cb3a3ddb794253d5a1c59673c40687bbc2b1bf878e70ccd03356f6d1e6735') + '3e1cb3a3ddb794253d5a1c59673c40687bbc2b1bf878e70ccd03356f6d1e6735' + '5095a7516493af08396060852851231c9b1cba5ee00493f810f0dfc9a69f8dfe') +prepare() { + cd "$srcdir/$pkgname-$pkgver" + patch -Np1 -i $srcdir/openssl_1.1.0_compat.patch + autoreconf -i +} + build() { cd "$srcdir/$pkgname-$pkgver" ./configure --prefix=/usr --sbindir=/usr/bin --with-db \ Added: openssl_1.1.0_compat.patch =================================================================== --- openssl_1.1.0_compat.patch (rev 0) +++ openssl_1.1.0_compat.patch 2017-03-10 14:39:11 UTC (rev 215591) @@ -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 <[email protected]> +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) + {
