summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortron <tron>2013-08-06 15:57:07 +0000
committertron <tron>2013-08-06 15:57:07 +0000
commit126ac0a5650a9f1349cd5be61e153ef974536f07 (patch)
tree8feb553be81e2f78a6994e2c43bb235520f5e94c
parent3e16d03fa1d78d73d62ffd50f84c3c29bfab2d1e (diff)
downloadpkgsrc-126ac0a5650a9f1349cd5be61e153ef974536f07.tar.gz
Pullup ticket #4203 - requested by bouyer
mail/dovecot2: bug fix patch Revisions pulled up: - mail/dovecot2/Makefile 1.48 - mail/dovecot2/distinfo 1.37 - mail/dovecot2/patches/patch-src_plugins_quota_quota-fs.c 1.4 - mail/dovecot2/patches/patch-src_plugins_quota_quota-fs.h 1.4 --- Module Name: pkgsrc Committed By: bouyer Date: Mon Aug 5 23:12:42 UTC 2013 Modified Files: pkgsrc/mail/dovecot2: Makefile distinfo Added Files: pkgsrc/mail/dovecot2/patches: patch-src_plugins_quota_quota-fs.c patch-src_plugins_quota_quota-fs.h Log Message: Fix (again) NetBSD libquota support.
-rw-r--r--mail/dovecot2/Makefile3
-rw-r--r--mail/dovecot2/distinfo4
-rw-r--r--mail/dovecot2/patches/patch-src_plugins_quota_quota-fs.c56
-rw-r--r--mail/dovecot2/patches/patch-src_plugins_quota_quota-fs.h16
4 files changed, 77 insertions, 2 deletions
diff --git a/mail/dovecot2/Makefile b/mail/dovecot2/Makefile
index 98c82ce1c0e..a8e5630210e 100644
--- a/mail/dovecot2/Makefile
+++ b/mail/dovecot2/Makefile
@@ -1,8 +1,9 @@
-# $NetBSD: Makefile,v 1.45 2013/05/23 19:45:50 adam Exp $
+# $NetBSD: Makefile,v 1.45.2.1 2013/08/06 15:57:07 tron Exp $
DISTNAME= dovecot-2.2.2
CATEGORIES= mail
MASTER_SITES= http://www.dovecot.org/releases/2.2/
+PKGREVISION= 1
MAINTAINER= adam@NetBSD.org
HOMEPAGE= http://www.dovecot.org/
diff --git a/mail/dovecot2/distinfo b/mail/dovecot2/distinfo
index 0ae3967a4b6..5e1c5d8ef77 100644
--- a/mail/dovecot2/distinfo
+++ b/mail/dovecot2/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.35 2013/05/23 19:45:50 adam Exp $
+$NetBSD: distinfo,v 1.35.2.1 2013/08/06 15:57:07 tron Exp $
SHA1 (dovecot-2.2.2.tar.gz) = c095b0a8e25d730b854f0ace37544ad203db0891
RMD160 (dovecot-2.2.2.tar.gz) = ada7c9c12949e1150a4a4bbe7bea257e296f13ca
@@ -9,3 +9,5 @@ SHA1 (patch-ac) = dc5db4870b14bf2424f0c957f5cf7f1a289fefe6
SHA1 (patch-ae) = 51d8cb998cc2ded8bfc767710e465b752c50e656
SHA1 (patch-af) = c066e94dd6593d16eec3e66f5f4d26f021918498
SHA1 (patch-aj) = 9e7970d29d11c097b9588ad16611f6d0e48235c2
+SHA1 (patch-src_plugins_quota_quota-fs.c) = aa4865214cab4cbde1e04dc578ee394f97103185
+SHA1 (patch-src_plugins_quota_quota-fs.h) = 068b5f418f1354233805e2f7230b95e7a9c407b4
diff --git a/mail/dovecot2/patches/patch-src_plugins_quota_quota-fs.c b/mail/dovecot2/patches/patch-src_plugins_quota_quota-fs.c
new file mode 100644
index 00000000000..08a9d259570
--- /dev/null
+++ b/mail/dovecot2/patches/patch-src_plugins_quota_quota-fs.c
@@ -0,0 +1,56 @@
+$NetBSD: patch-src_plugins_quota_quota-fs.c,v 1.3.2.1 2013/08/06 15:57:07 tron Exp $
+
+fix support for NetBSD's libquota
+
+--- src/plugins/quota/quota-fs.c.orig 2013-02-26 09:42:04.000000000 +0100
++++ src/plugins/quota/quota-fs.c 2013-08-06 01:00:32.000000000 +0200
+@@ -672,34 +672,38 @@
+ {
+ struct quotakey qk;
+ struct quotaval qv;
++ struct quotahandle *qh;
++ int ret;
+
+- if (root->qh == NULL) {
+- if ((root->qh = quota_open(root->mount->mount_path)) == NULL) {
+- i_error("cannot open quota for %s: %m",
+- root->mount->mount_path);
+- fs_quota_root_disable(root, group);
+- return 0;
+- }
+- }
++ if ((qh = quota_open(root->mount->mount_path)) == NULL) {
++ i_error("cannot open quota for %s: %m",
++ root->mount->mount_path);
++ fs_quota_root_disable(root, group);
++ return 0;
++ }
+
+ qk.qk_idtype = group ? QUOTA_IDTYPE_GROUP : QUOTA_IDTYPE_USER;
+ qk.qk_id = group ? root->gid : root->uid;
+ qk.qk_objtype = bytes ? QUOTA_OBJTYPE_BLOCKS : QUOTA_OBJTYPE_FILES;
+
+- if (quota_get(root->qh, &qk, &qv) != 0) {
++ if (quota_get(qh, &qk, &qv) != 0) {
+ if (errno == ESRCH) {
+ fs_quota_root_disable(root, group);
+ return 0;
+ }
+ i_error("quotactl(Q_GETQUOTA, %s) failed: %m",
+ root->mount->mount_path);
+- return -1;
++ ret = -1;
++ goto end;
+ }
+
+ *value_r = qv.qv_usage * DEV_BSIZE;
+ *limit_r = qv.qv_softlimit * DEV_BSIZE;
+
+- return 1;
++ ret = 1;
++end:
++ quota_close(qh);
++ return ret;
+ }
+ #endif
+
diff --git a/mail/dovecot2/patches/patch-src_plugins_quota_quota-fs.h b/mail/dovecot2/patches/patch-src_plugins_quota_quota-fs.h
new file mode 100644
index 00000000000..d50facd9bea
--- /dev/null
+++ b/mail/dovecot2/patches/patch-src_plugins_quota_quota-fs.h
@@ -0,0 +1,16 @@
+$NetBSD: patch-src_plugins_quota_quota-fs.h,v 1.3.2.1 2013/08/06 15:57:07 tron Exp $
+
+fix support for NetBSD's libquota
+
+--- src/plugins/quota/quota-fs.h.orig 2013-08-06 00:53:34.000000000 +0200
++++ src/plugins/quota/quota-fs.h 2013-08-06 00:54:29.000000000 +0200
+@@ -7,7 +7,8 @@
+ #endif
+
+ #ifdef HAVE_QUOTA_OPEN
+-# include <quota.h> /* NetBSD with libquota */
++/* absolute path to avoid confusion with ./quota.h */
++# include "/usr/include/quota.h" /* NetBSD with libquota */
+ #endif
+
+ #ifdef HAVE_SYS_QUOTA_H