From b7ed97a4ffac16ca1c76a55c9afd49da03261f05 Mon Sep 17 00:00:00 2001 From: Dirkjan Ochtman Date: Sat, 14 May 2016 18:15:34 +0200 Subject: mail-filter/rmilter: version bump to 1.8.4, add memcached USE flag (fixes bug 581574) Package-Manager: portage-2.2.28 --- mail-filter/rmilter/Manifest | 1 + .../rmilter/files/1.8.4-optional-memcached.patch | 176 +++++++++++++++++++++ mail-filter/rmilter/metadata.xml | 3 + mail-filter/rmilter/rmilter-1.8.4.ebuild | 45 ++++++ 4 files changed, 225 insertions(+) create mode 100644 mail-filter/rmilter/files/1.8.4-optional-memcached.patch create mode 100644 mail-filter/rmilter/rmilter-1.8.4.ebuild (limited to 'mail-filter/rmilter') diff --git a/mail-filter/rmilter/Manifest b/mail-filter/rmilter/Manifest index ea10dce81deb..b1e55f7f5db2 100644 --- a/mail-filter/rmilter/Manifest +++ b/mail-filter/rmilter/Manifest @@ -2,3 +2,4 @@ DIST rmilter-1.7.2.tar.gz 159934 SHA256 3033c190667276f1d716784cb6b485971a3249ab DIST rmilter-1.7.3.tar.gz 160323 SHA256 515e0f69af9f702cc36fd565e30c9f715bff819df250679d0a24e4f07ba5f081 SHA512 4e65dbcccd7f378eb1dd93ffca1983614df19edf62b531483a59c636eb4564dbb531da2ecce3ea789c038913c8623e78db8636eff64f574eb5abc709cf8fc0e1 WHIRLPOOL 6ae75ec8190f58893b3c33e66cf07dee5ac9326056c3da23005d4c2dcad5a8760c1db08701226ece96b6e3bb12f15337ff686d2eafc6e6323abc299d289de456 DIST rmilter-1.7.4.tar.gz 162081 SHA256 ad32c2efe23c8b49f6b52a5b78b80943b93082d30c799e3de05f9df1c02b83fb SHA512 189f792664e30a0d60c618b902c393a4af570bea38810001aa759acae27fbb625389576eb3923678fddaca806b946e99e0444738b24aa3124e988bbc2ab1552b WHIRLPOOL 10e549b9d3461252c6213a35145a2f158d67613733bf89b9c939d3eac7b77080b6886a3386e9a6358f31ad6ffe4e0c35ed9cfc025294392aeff5f4b9e15d987c DIST rmilter-1.7.5.tar.gz 162698 SHA256 34cf0b6c38dac9b11d6aacd0d093fdf3544d76543cd1aad2b1342e1024768e27 SHA512 4cf76e330e55e5f8542c7a27d18cd593ad2b2f1c0bd45bf3787bce7b1cbfe77752bcff7b6558b89105d034a7f2e31f7805fe2b4bf5b1bb408b18c10646ad0aa8 WHIRLPOOL 61bad9244f9e45be35fe0cc6d3199d431066fdaeb61065077e069e320d71f80696db1d62f6ca7a9acb45cef4c4ddeda9719bf206a124c9c7f4f01e32839ae0d0 +DIST rmilter-1.8.4.tar.gz 261800 SHA256 af7ad32d3fa8f41ec135a43468b98cc1c46128b30fe58700e9434fcdc3ce3f6a SHA512 7c1f9afc1cd489ff052ead5e1876fe334252766213cf8c30a394be7aa7b308896a9fb0b57391b37c5727f76707403d432c5fc1f56b78c996432c7524e4049803 WHIRLPOOL 296b8d7fd5db60b6b7b642907e5dc108019c6f61ed585769f81e68b51d11844e16ecacaab5d70416bcae45799df6c5fbd7f5495d58053c66bd237cb935f583b0 diff --git a/mail-filter/rmilter/files/1.8.4-optional-memcached.patch b/mail-filter/rmilter/files/1.8.4-optional-memcached.patch new file mode 100644 index 000000000000..23617aa4a2ef --- /dev/null +++ b/mail-filter/rmilter/files/1.8.4-optional-memcached.patch @@ -0,0 +1,176 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e12aad4..910ba55 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -39,6 +39,7 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.8.0 FATAL_ERROR) + OPTION(ENABLE_DEBUG "Enable debug output [default: OFF]" OFF) + OPTION(ENABLE_OPTIMIZATION "Enable optimization [default: OFF]" OFF) + OPTION(ENABLE_DKIM "Enable dkim signatures [default: ON]" ON) ++OPTION(ENABLE_MEMCACHED "Enable memcached storage [default: ON]" ON) + OPTION(WANT_SYSTEMD_UNITS "Install systemd unit files on Linux [default: OFF]" OFF) + + ############################# INCLUDE SECTION ############################################# +@@ -121,8 +122,8 @@ MACRO(ProcessPackage PKG_NAME) + PATH_SUFFIXES ${PKG_LIB_SUFFIXES} lib64 lib + PATHS ${RMILTER_DEFAULT_LIBRARY_PATHS}) + IF(NOT _lib) +- IF(OPTIONAL) +- MESSAGE("Cannot find library ${PKG_LIBRARY} for package ${PKG_NAME}") ++ IF(PKG_OPTIONAL) ++ MESSAGE(STATUS "Cannot find library ${PKG_LIBRARY} for package ${PKG_NAME}") + ELSE() + MESSAGE(FATAL_ERROR "Cannot find library ${PKG_LIBRARY} for package ${PKG_NAME}") + ENDIF() +@@ -133,8 +134,8 @@ MACRO(ProcessPackage PKG_NAME) + PATH_SUFFIXES ${PKG_INCLUDE_SUFFIXES} "include" + PATHS ${RMILTER_DEFAULT_INCLUDE_PATHS}) + IF(NOT _incl) +- IF(OPTIONAL) +- MESSAGE("Cannot find header ${PKG_INCLUDE} for package ${PKG_NAME}") ++ IF(PKG_OPTIONAL) ++ MESSAGE(STATUS "Cannot find header ${PKG_INCLUDE} for package ${PKG_NAME}") + ELSE() + MESSAGE(FATAL_ERROR "Cannot find header ${PKG_INCLUDE} for package ${PKG_NAME}") + ENDIF() +@@ -362,8 +363,6 @@ ProcessPackage(PCRE LIBRARY pcre INCLUDE pcre.h INCLUDE_SUFFIXES include/pcre + ROOT ${PCRE_ROOT_DIR} MODULES pcre libpcre pcre3 libpcre3) + ProcessPackage(LIBMILTER LIBRARY milter INCLUDE mfapi.h INCLUDE_SUFFIXES include/libmilter + LIB_SUFFIXES lib/libmilter ROOT ${LIBMILTER_ROOT_DIR} MODULES libmilter) +-ProcessPackage(LIBMEMCACHED LIBRARY memcached INCLUDE memcached.h INCLUDE_SUFFIXES include/libmemcached +- LIB_SUFFIXES lib/libmemcached ROOT ${LIBMEMCACHED_ROOT_DIR} MODULES libmemcached) + + IF(ENABLE_DKIM MATCHES "ON") + SET(WITH_DKIM 1) +@@ -373,6 +372,14 @@ IF(ENABLE_DKIM MATCHES "ON") + ROOT ${OPENDKIM_ROOT_DIR} MODULES opendkim) + ENDIF() + ++IF(ENABLE_MEMCACHED MATCHES "ON") ++ SET(WITH_MEMCACHED 1) ++ ProcessPackage(LIBMEMCACHED LIBRARY memcached ++ INCLUDE memcached.h INCLUDE_SUFFIXES include/libmemcached ++ LIB_SUFFIXES lib/libmemcached ROOT ${LIBMEMCACHED_ROOT_DIR} ++ MODULES libmemcached) ++ENDIF() ++ + ################################ SOURCES SECTION ########################### + ADD_SUBDIRECTORY(hiredis) + INCLUDE_DIRECTORIES("${CMAKE_SOURCE_DIR}/hiredis") +diff --git a/config.h.in b/config.h.in +index b90d422..0ab2725 100644 +--- a/config.h.in ++++ b/config.h.in +@@ -159,6 +159,8 @@ + + #cmakedefine WITH_SPF 1 + ++#cmakedefine WITH_MEMCACHED 1 ++ + #cmakedefine HAVE_SENDFILE 1 + #cmakedefine HAVE_SYS_SENDFILE_H 1 + +diff --git a/src/cache.c b/src/cache.c +index d83b6e3..c84cafc 100644 +--- a/src/cache.c ++++ b/src/cache.c +@@ -23,7 +23,9 @@ + */ + + #include "config.h" ++#ifdef WITH_MEMCACHED + #include "libmemcached/memcached.h" ++#endif + #include "cfg_file.h" + #include "cache.h" + #include "hiredis.h" +@@ -33,6 +35,7 @@ + + #define DEFAULT_REDIS_PORT 6379 + ++#ifdef WITH_MEMCACHED + static inline bool compat_memcached_success(int rc) + { + return (rc == MEMCACHED_BUFFERED || +@@ -60,6 +63,7 @@ static inline bool compat_memcached_fatal(int rc) + rc != MEMCACHED_SUCCESS && + rc != MEMCACHED_VALUE); + } ++#endif + + static struct cache_server * + rmilter_get_server (struct config_file *cfg, enum rmilter_query_type type, +@@ -110,6 +114,7 @@ rmilter_get_server (struct config_file *cfg, enum rmilter_query_type type, + return serv; + } + ++#ifdef WITH_MEMCACHED + static void + rmilter_format_libmemcached_config (struct config_file *cfg, + struct cache_server *serv, +@@ -128,6 +133,7 @@ rmilter_format_libmemcached_config (struct config_file *cfg, + memcached_behavior_set (ctx, MEMCACHED_BEHAVIOR_POLL_TIMEOUT, + cfg->memcached_connect_timeout); + } ++#endif + + bool + rmilter_query_cache (struct config_file *cfg, enum rmilter_query_type type, +@@ -211,6 +217,7 @@ rmilter_query_cache (struct config_file *cfg, enum rmilter_query_type type, + } + } + else { ++#ifdef WITH_MEMCACHED + char *kval; + size_t value_len = 0; + uint32_t mflags; +@@ -254,6 +261,10 @@ rmilter_query_cache (struct config_file *cfg, enum rmilter_query_type type, + } + + memcached_free (mctx); ++#else ++ msg_err ("memcached query requested when memcached support is" ++ " not compiled"); ++#endif + } + } + +@@ -340,6 +351,7 @@ rmilter_set_cache (struct config_file *cfg, enum rmilter_query_type type , + } + } + else { ++#ifdef WITH_MEMCACHED + char *kval; + size_t value_len = 0; + uint32_t mflags; +@@ -373,6 +385,10 @@ rmilter_set_cache (struct config_file *cfg, enum rmilter_query_type type , + } + + memcached_free (mctx); ++#else ++ msg_err ("memcached query requested when memcached support is" ++ " not compiled"); ++#endif + } + } + +@@ -448,6 +464,7 @@ rmilter_delete_cache (struct config_file *cfg, enum rmilter_query_type type , + } + } + else { ++#ifdef WITH_MEMCACHED + char *kval; + size_t value_len = 0; + uint32_t mflags; +@@ -480,7 +497,12 @@ rmilter_delete_cache (struct config_file *cfg, enum rmilter_query_type type , + + upstream_ok (&serv->up, time (NULL)); + memcached_free (mctx); ++#else ++ msg_err ("memcached query requested when memcached support is" ++ " not compiled"); ++#endif + } ++ + } + + return true; diff --git a/mail-filter/rmilter/metadata.xml b/mail-filter/rmilter/metadata.xml index 09e261fd9b10..df4bd7ba25bb 100644 --- a/mail-filter/rmilter/metadata.xml +++ b/mail-filter/rmilter/metadata.xml @@ -5,6 +5,9 @@ djc@gentoo.org Dirkjan Ochtman + + Enable support for memcached + vstakhov/rmilter diff --git a/mail-filter/rmilter/rmilter-1.8.4.ebuild b/mail-filter/rmilter/rmilter-1.8.4.ebuild new file mode 100644 index 000000000000..920a78a32bea --- /dev/null +++ b/mail-filter/rmilter/rmilter-1.8.4.ebuild @@ -0,0 +1,45 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit cmake-utils user + +DESCRIPTION="Another sendmail milter for different mail checks" +SRC_URI="https://github.com/vstakhov/rmilter/archive/${PV}.tar.gz -> ${P}.tar.gz" +HOMEPAGE="https://github.com/vstakhov/rmilter" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="+memcached" + +RDEPEND="dev-libs/libpcre + dev-libs/openssl:0 + mail-filter/libmilter + mail-filter/opendkim + memcached? ( dev-libs/libmemcached )" +DEPEND="${RDEPEND}" + +PATCHES=( "${FILESDIR}/${PV}-optional-memcached.patch" ) + +pkg_setup() { + enewgroup rmilter + enewuser rmilter -1 -1 /var/run/rmilter rmilter +} + +src_configure() { + local mycmakeargs=( + -DENABLE_MEMCACHED=$(usex memcached ON OFF) + ) + cmake-utils_src_configure +} + +src_install() { + cmake-utils_src_install + newinitd "${FILESDIR}/rmilter.initd" rmilter + insinto /etc/rmilter + newins rmilter.conf.sample rmilter.conf.sample + newins rmilter-grey.conf rmilter-grey.conf +} -- cgit v1.2.3-65-gdbad