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
commit39c0378c9db8979dcd8a5c1586f45aa43237b352 (patch)
tree8c81f3c7db7bf920dab3bb7d0805841a30f85ddd /net/coda
parentf2bed08da43381f98dc3c3ba6f7590ae6a893807 (diff)
downloadpkgsrc-39c0378c9db8979dcd8a5c1586f45aa43237b352.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