summaryrefslogtreecommitdiff
path: root/mail
diff options
context:
space:
mode:
authorjnemeth <jnemeth>2009-12-16 09:46:36 +0000
committerjnemeth <jnemeth>2009-12-16 09:46:36 +0000
commit56b930e36bed6984ed3ee54dbed04eb17caa60fb (patch)
treebaa704cd9183eae3b2f473e85eea35472d1a881e /mail
parent092baa72af4fd958a75fd239c6a05f8b56b0d6f3 (diff)
downloadpkgsrc-56b930e36bed6984ed3ee54dbed04eb17caa60fb.tar.gz
Change libmilter to use poll(2) instead of select(2)
unconditionally. All supported systems should have poll(2). If one is found that doesn't then this can be revisited and some way of making it conditional can be implemented. This resolves an issue with applications that have a large number of open files and want to bump FD_SETSIZE. Since libmilter no longer uses select(2), the application is free to monkey with FD_SETSIZE as it pleases.
Diffstat (limited to 'mail')
-rw-r--r--mail/libmilter/Makefile5
-rw-r--r--mail/sendmail/distinfo3
-rw-r--r--mail/sendmail/files/site.config.m48
-rw-r--r--mail/sendmail/patches/patch-ao19
4 files changed, 31 insertions, 4 deletions
diff --git a/mail/libmilter/Makefile b/mail/libmilter/Makefile
index dbc1b595d1a..888de1bfca5 100644
--- a/mail/libmilter/Makefile
+++ b/mail/libmilter/Makefile
@@ -1,6 +1,7 @@
-# $NetBSD: Makefile,v 1.16 2008/06/14 08:58:06 tron Exp $
+# $NetBSD: Makefile,v 1.17 2009/12/16 09:46:36 jnemeth Exp $
PKGNAME= libmilter-${DIST_VERS}
+PKGREVISION= 1
COMMENT= Mail filter support library for sendmail
PKG_DESTDIR_SUPPORT= user-destdir
@@ -16,7 +17,7 @@ do-build:
(cd ${WRKSRC}/libmilter && env ${MAKE_ENV} ./Build)
do-install:
- (cd ${WRKSRC}/libmilter && env ${MAKE_ENV} ./Build BINOWN=${BINOWN:Q} BINGRP=${BINGRP:Q} SHAREOWN=${SHAREOWN:Q} SHAREGRP=${SHAREGRP:Q} INCLUDEDIR=${DESTDIR:Q}${PREFIX}/include LIBDIR=${DESTDIR:Q}${PREFIX}/lib install)
+ (cd ${WRKSRC}/libmilter && env ${MAKE_ENV} ./Build BINOWN=${BINOWN} BINGRP=${BINGRP} SHAREOWN=${SHAREOWN} SHAREGRP=${SHAREGRP} INCLUDEDIR=${DESTDIR}${PREFIX}/include LIBDIR=${DESTDIR}${PREFIX}/lib install)
PTHREAD_OPTS+= require
diff --git a/mail/sendmail/distinfo b/mail/sendmail/distinfo
index 59b2d97b545..730b3f4cbcc 100644
--- a/mail/sendmail/distinfo
+++ b/mail/sendmail/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.41 2009/03/24 21:05:42 jnemeth Exp $
+$NetBSD: distinfo,v 1.42 2009/12/16 09:46:36 jnemeth Exp $
SHA1 (sendmail.8.14.3.tar.gz) = 814c54c3917aa6b0981b5ea99fb34e0c02f31489
RMD160 (sendmail.8.14.3.tar.gz) = 5423360ce908c985827cf6524a6de87e3451c27a
@@ -16,3 +16,4 @@ SHA1 (patch-aj) = e65e6fe44380de2f9c397c1a97677eb4ad285433
SHA1 (patch-al) = f5d8cef8c4abba5d5ae813b754c16037190a7ef1
SHA1 (patch-am) = d84eedbff0f037c1db341255dc9e1877866f12c7
SHA1 (patch-an) = 82d2df0c609099f295eb00f1f5e19391ae97833c
+SHA1 (patch-ao) = 51e27f1fa90420bf7a5daa1379c4b0f07b596177
diff --git a/mail/sendmail/files/site.config.m4 b/mail/sendmail/files/site.config.m4
index fb9fe25a03e..26bbdd445d4 100644
--- a/mail/sendmail/files/site.config.m4
+++ b/mail/sendmail/files/site.config.m4
@@ -1,4 +1,4 @@
-# $NetBSD: site.config.m4,v 1.9 2008/03/14 03:02:45 jnemeth Exp $
+# $NetBSD: site.config.m4,v 1.10 2009/12/16 09:46:36 jnemeth Exp $
# pathnames specific to pkgsrc
#
@@ -29,3 +29,9 @@ define(`confLIBOWN', `${BINOWN}')
define(`confLIBGRP', `${BINGRP}')
define(`confINCOWN', `${SHAREOWN}')
define(`confINCGRP', `${SHAREGRP}')
+
+# have libmilter use poll(2) instead of select(2)
+# XXX all supported systems should support poll(2), if one is discovered
+# that doesn't, we can revisit this
+APPENDDEF(`conf_libmilter_ENVDEF', `-DSM_CONF_POLL=1')
+
diff --git a/mail/sendmail/patches/patch-ao b/mail/sendmail/patches/patch-ao
new file mode 100644
index 00000000000..6d1f291819e
--- /dev/null
+++ b/mail/sendmail/patches/patch-ao
@@ -0,0 +1,19 @@
+$NetBSD: patch-ao,v 1.1 2009/12/16 09:46:36 jnemeth Exp $
+
+Fix a possibly incorrect error message.
+Patch sent upstream, 2009/12/15 -- jnemeth
+
+--- libmilter/listener.c.orig 2007-04-23 22:22:50.000000000 +0000
++++ libmilter/listener.c
+@@ -777,8 +777,9 @@ mi_listener(conn, dbg, smfi, timeout, ba
+ continue;
+ scnt++;
+ smi_log(SMI_LOG_ERR,
+- "%s: select() failed (%s), %s",
+- smfi->xxfi_name, sm_errstring(save_errno),
++ "%s: %s() failed (%s), %s",
++ smfi->xxfi_name, MI_POLLSELECT,
++ sm_errstring(save_errno),
+ scnt >= MAX_FAILS_S ? "abort" : "try again");
+ MI_SLEEP(scnt);
+ if (scnt >= MAX_FAILS_S)