summaryrefslogtreecommitdiff
path: root/net/coda
diff options
context:
space:
mode:
authorgdt <gdt@pkgsrc.org>2012-03-05 11:27:52 +0000
committergdt <gdt@pkgsrc.org>2012-03-05 11:27:52 +0000
commit6396a5eaa51d2d89e7dfa9b3c1eb40c6d65f04e2 (patch)
tree8c81f3c7db7bf920dab3bb7d0805841a30f85ddd /net/coda
parent91c128c32d9a4f5eb7bba45c3796606981df8790 (diff)
downloadpkgsrc-6396a5eaa51d2d89e7dfa9b3c1eb40c6d65f04e2.tar.gz
Add patch to fix directory reading problems:
On NetBSD, force DIRBLKSIZ to 512, which matches the block size (and thus padding) for the representation of directories in UFS. coda_readdir will call the readdir from the container filesystem, and thus the padding of directories must match what the container filesystem would have done. Analysis and fix due to Brett Lymn. Not yet reported upstream; a better fix is desired. Also: Set LICENSE. Add annotations to other patches about their upstream status, after pinging upstream.
Diffstat (limited to 'net/coda')
-rw-r--r--net/coda/Makefile5
-rw-r--r--net/coda/distinfo5
-rw-r--r--net/coda/patches/patch-ad8
-rw-r--r--net/coda/patches/patch-coda-src_dir_dirbody.c30
4 files changed, 43 insertions, 5 deletions
diff --git a/net/coda/Makefile b/net/coda/Makefile
index 680ee1ab81c..6d4853fb12a 100644
--- a/net/coda/Makefile
+++ b/net/coda/Makefile
@@ -1,7 +1,8 @@
-# $NetBSD: Makefile,v 1.10 2011/03/11 20:27:42 gdt Exp $
+# $NetBSD: Makefile,v 1.11 2012/03/05 11:27:52 gdt Exp $
#
DISTNAME= coda-6.9.5
+PKGEREVISION= 1
CATEGORIES= net
MASTER_SITES= http://www.coda.cs.cmu.edu/pub/coda/src/
@@ -9,6 +10,8 @@ MAINTAINER= gdt@NetBSD.org
HOMEPAGE= http://www.coda.cs.cmu.edu/
COMMENT= Coda distributed fileystem
+LICENSE= gnu-gpl-v2
+
PKG_DESTDIR_SUPPORT= user-destdir
# See http://coda.wikidev.net/Quick_Client_Action for hints on how
diff --git a/net/coda/distinfo b/net/coda/distinfo
index 384b981e138..107af766378 100644
--- a/net/coda/distinfo
+++ b/net/coda/distinfo
@@ -1,7 +1,8 @@
-$NetBSD: distinfo,v 1.6 2011/03/11 20:27:42 gdt Exp $
+$NetBSD: distinfo,v 1.7 2012/03/05 11:27:52 gdt Exp $
SHA1 (coda-6.9.5.tar.gz) = 248af27c506f5c3be4c4e53f821c9c904580fe60
RMD160 (coda-6.9.5.tar.gz) = 9ef0643aacc7d1352ef253af00d4c7e6ad9e1f78
Size (coda-6.9.5.tar.gz) = 1723098 bytes
SHA1 (patch-ac) = b9f9fd68c633e09717252562b06238b87df1a6b7
-SHA1 (patch-ad) = 464c8e435ccfd23d5dd68f94a87e18fa2899f335
+SHA1 (patch-ad) = adfee7c5d7de913ee3b898a13bf7acfeac52b765
+SHA1 (patch-coda-src_dir_dirbody.c) = 3e3524a4a03ce359956ae00d9b24d1aa3292c752
diff --git a/net/coda/patches/patch-ad b/net/coda/patches/patch-ad
index c4366329e52..83938b498a2 100644
--- a/net/coda/patches/patch-ad
+++ b/net/coda/patches/patch-ad
@@ -1,6 +1,10 @@
-$NetBSD: patch-ad,v 1.1 2011/03/12 13:59:59 gdt Exp $
+$NetBSD: patch-ad,v 1.2 2012/03/05 11:27:53 gdt Exp $
---- configure.orig 2011-02-25 20:04:49.000000000 +0000
+Remove bashism.
+
+Reported upstream on 20110301.
+
+--- configure.orig 2010-03-29 19:13:56.000000000 +0000
+++ configure
@@ -18400,7 +18400,7 @@ $as_echo "#define HAVE_FLOCK_LOCKING 1"
diff --git a/net/coda/patches/patch-coda-src_dir_dirbody.c b/net/coda/patches/patch-coda-src_dir_dirbody.c
new file mode 100644
index 00000000000..3095cf1867f
--- /dev/null
+++ b/net/coda/patches/patch-coda-src_dir_dirbody.c
@@ -0,0 +1,30 @@
+$NetBSD: patch-coda-src_dir_dirbody.c,v 1.1 2012/03/05 11:27:53 gdt Exp $
+
+On NetBSD, force DIRBLKSIZ to 512, which matches the block size (and
+thus padding) for the representation of directories in UFS.
+coda_readdir will call the readdir from the container filesystem, and
+thus the padding of directories must match what the container
+filesystem would have done.
+
+Analysis and fix due to Brett Lymn.
+
+Not yet reported upstream; a better fix is desired.
+
+--- coda-src/dir/dirbody.c.orig 2008-10-06 16:52:42.000000000 +0000
++++ coda-src/dir/dirbody.c
+@@ -51,6 +51,15 @@ extern "C" {
+ #define MMAP_DIR_CONTENTS 1
+ #endif
+
++/*
++ * There's a DIRBLKSIZ defined in dirent.h, but the filesystem uses
++ * 512 (DEV_BSIZE).
++ */
++#if defined(__NetBSD__)
++#undef DIRBLKSIZ
++#define DIRBLKSIZ 512
++#endif
++
+ #ifndef DIRBLKSIZ
+ #define DIRBLKSIZ 0x1000
+ #endif