summaryrefslogtreecommitdiff
path: root/filesystems/fuse-lzofs
diff options
context:
space:
mode:
Diffstat (limited to 'filesystems/fuse-lzofs')
-rw-r--r--filesystems/fuse-lzofs/DESCR16
-rw-r--r--filesystems/fuse-lzofs/Makefile24
-rw-r--r--filesystems/fuse-lzofs/PLIST2
-rw-r--r--filesystems/fuse-lzofs/distinfo7
-rw-r--r--filesystems/fuse-lzofs/patches/patch-aa22
-rw-r--r--filesystems/fuse-lzofs/patches/patch-ab87
6 files changed, 158 insertions, 0 deletions
diff --git a/filesystems/fuse-lzofs/DESCR b/filesystems/fuse-lzofs/DESCR
new file mode 100644
index 00000000000..fe56c45324f
--- /dev/null
+++ b/filesystems/fuse-lzofs/DESCR
@@ -0,0 +1,16 @@
+LZOlayer Filesystem is a filesystem which allows you to use transparently
+compressed files, just as they would be normal files.
+
+Both read and write operations are possible, along with other most common
+system calls. It consumes little memory in my opinion, because files are
+divided into blocks, which can be decompressed separetly. In other words,
+if you (or an application) would like to read byte 4,500,000 in a file
+sized 5,000,000 bytes, it only decompresses a block which constain wanted
+data. Write operation is based on a packet gathering and after reaching its
+limit it 'syncs' the data. It allows it's user to write/modify files pretty
+fast, despite the fact it's block divided.
+
+LZOlayer FileSystem was meant to support only LZO compression algorythm,
+because it has extremely low compression/decompression time. However,
+currently it supports LZO and ZLIB (but only one at the run-time!)
+compression algorythms.
diff --git a/filesystems/fuse-lzofs/Makefile b/filesystems/fuse-lzofs/Makefile
new file mode 100644
index 00000000000..bc5de5f7608
--- /dev/null
+++ b/filesystems/fuse-lzofs/Makefile
@@ -0,0 +1,24 @@
+# $NetBSD: Makefile,v 1.1.1.1 2007/02/20 23:00:08 xtraeme Exp $
+#
+
+DISTNAME= LZOlayer_fs-20060306
+PKGNAME= fuse-${DISTNAME:S/LZOlayer_fs/lzofs/}
+CATEGORIES= sysutils
+MASTER_SITES= http://north.one.pl/~kazik/pub/LZOlayer/
+
+MAINTAINER= pkgsrc-users@NetBSD.org
+HOMEPAGE= http://north.one.pl/~kazik/pub/LZOlayer/
+COMMENT= Filesystem which allows you to use transparently compressed files
+
+USE_TOOLS+= gmake
+NO_CONFIGURE= yes
+BUILD_TARGET= default
+
+INSTALLATION_DIRS= bin
+
+do-install:
+ ${INSTALL_PROGRAM} ${WRKSRC}/lzo_fs ${PREFIX}/bin/lzo_fs
+
+.include "../../archivers/lzo/buildlink3.mk"
+.include "../../mk/fuse.buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/filesystems/fuse-lzofs/PLIST b/filesystems/fuse-lzofs/PLIST
new file mode 100644
index 00000000000..a1b16fc7ea7
--- /dev/null
+++ b/filesystems/fuse-lzofs/PLIST
@@ -0,0 +1,2 @@
+@comment $NetBSD: PLIST,v 1.1.1.1 2007/02/20 23:00:08 xtraeme Exp $
+bin/lzo_fs
diff --git a/filesystems/fuse-lzofs/distinfo b/filesystems/fuse-lzofs/distinfo
new file mode 100644
index 00000000000..9f376241b73
--- /dev/null
+++ b/filesystems/fuse-lzofs/distinfo
@@ -0,0 +1,7 @@
+$NetBSD: distinfo,v 1.1.1.1 2007/02/20 23:00:08 xtraeme Exp $
+
+SHA1 (LZOlayer_fs-20060306.tar.gz) = f069142a32d9b2325784329500689cc0dd726285
+RMD160 (LZOlayer_fs-20060306.tar.gz) = a9f839950368706b3c90cc5195168f6616947e40
+Size (LZOlayer_fs-20060306.tar.gz) = 17669 bytes
+SHA1 (patch-aa) = 70df68443cb7b4d9eec5effea0dbb0e3fc666551
+SHA1 (patch-ab) = 1c14076c136e410d5590e009d8f83bcf2173a5c9
diff --git a/filesystems/fuse-lzofs/patches/patch-aa b/filesystems/fuse-lzofs/patches/patch-aa
new file mode 100644
index 00000000000..fe4c1e723d3
--- /dev/null
+++ b/filesystems/fuse-lzofs/patches/patch-aa
@@ -0,0 +1,22 @@
+$NetBSD: patch-aa,v 1.1.1.1 2007/02/20 23:00:08 xtraeme Exp $
+
+--- Makefile.orig 2006-03-06 14:42:15.000000000 +0100
++++ Makefile 2007-02-18 16:48:11.000000000 +0100
+@@ -1,5 +1,6 @@
+-CFLAGS= -Wall -g -D_FILE_OFFSET_BITS=64 -I/usr/include/lzo/ -O2 -s -fomit-frame-pointer
+-LIBS= -lfuse -lz -llzo2
++CFLAGS+= -Wall -D_FILE_OFFSET_BITS=64 -I${PREFIX}/include -fomit-frame-pointer
++LIBS+= -lfuse -lz -llzo2
++LDFLAGS+= -L${PREFIX}/lib -Wl,-R${PREFIX}/lib
+
+ default: lzo_fs
+
+@@ -8,7 +9,7 @@
+
+
+ lzo_fs: LZOlayer_fs.c
+- gcc -o $@ $^ -g $(CFLAGS) $(LIBS)
++ gcc -o $@ $^ -g $(CFLAGS) $(LDFLAGS) $(LIBS)
+
+
+ clean:
diff --git a/filesystems/fuse-lzofs/patches/patch-ab b/filesystems/fuse-lzofs/patches/patch-ab
new file mode 100644
index 00000000000..e28ac1c7c67
--- /dev/null
+++ b/filesystems/fuse-lzofs/patches/patch-ab
@@ -0,0 +1,87 @@
+$NetBSD: patch-ab,v 1.1.1.1 2007/02/20 23:00:08 xtraeme Exp $
+
+--- LZOlayer_fs.c.orig 2007-02-18 16:38:19.000000000 +0100
++++ LZOlayer_fs.c 2007-02-18 16:43:03.000000000 +0100
+@@ -21,6 +21,15 @@
+ #define __USE_UNIX98
+ #include <unistd.h>
+ #include <zlib.h>
++#ifndef __NetBSD__
++#define ordwr O_RDWR|O_LARGEFILE
++#define ordonly O_RDONLY|O_LARGEFILE
++#define owronly O_WRONLY|O_LARGEFILE
++#else
++#define ordwr O_RDWR
++#define ordonly O_RDONLY
++#define owronly O_WRONLY
++#endif
+
+ #include "minilzo.h"
+ #define HEAP_ALLOC(var, size) \
+@@ -124,7 +133,7 @@
+
+ if (S_ISREG(stbuf->st_mode))
+ {
+- int fd = open(xPath, O_RDONLY|O_LARGEFILE);
++ int fd = open(xPath, ordonly);
+ read(fd, &stbuf->st_size, sizeof(off_t));
+ close(fd);
+ }
+@@ -166,7 +175,7 @@
+ {
+ char *xPath = LZOlayer_makePath(path);
+
+- int fd = open(xPath, O_RDONLY|O_LARGEFILE);
++ int fd = open(xPath, ordonly);
+ off_t outLen = 0;
+ read(fd, &outLen, sizeof(off_t));
+ close(fd);
+@@ -193,7 +202,7 @@
+ char *xPath = filePtr->path;
+
+ int done = 0;
+- int fd = open(xPath, O_RDONLY|O_LARGEFILE);
++ int fd = open(xPath, ordonly);
+
+ while(1)
+ {
+@@ -249,7 +258,7 @@
+ off_t block_start = (float)filePtr->packets[min_offset].offset / (float)block_size;
+
+ char *xPath = filePtr->path;
+- int fd = open(xPath, O_RDWR|O_LARGEFILE);
++ int fd = open(xPath, ordwr);
+ LZOlayer_block_seek(fd, block_start);
+
+ off_t alloc_size = (filePtr->size-(block_start*block_size)
+@@ -315,10 +324,10 @@
+ {
+ LZOlayer_packet_sync(path, fi);
+
+- int fd = open(filePtr->path, O_WRONLY|O_LARGEFILE);
++ int fd = open(filePtr->path, owronly);
+ if(fd == -1)
+ {
+- open(filePtr->path, O_CREAT|O_WRONLY|O_LARGEFILE);
++ open(filePtr->path, O_CREAT|owronly);
+ chown(filePtr->path, fuse_get_context()->uid, fuse_get_context()->gid);
+ }
+ // old open/create for write
+@@ -365,7 +374,7 @@
+ }
+ else
+ {
+- int fd = open(xPath, O_WRONLY|O_LARGEFILE);
++ int fd = open(xPath, owronly);
+ off_t null = 0;
+ write(fd, &null, sizeof(off_t));
+ write(fd, &null, sizeof(off_t));
+@@ -383,7 +392,7 @@
+ {
+ char *xPath = LZOlayer_makePath(path);
+
+- int fd = open(xPath, O_RDWR|O_LARGEFILE);
++ int fd = open(xPath, ordwr);
+ off_t file_size = 0;
+ read(fd, &file_size, sizeof(off_t));
+