diff options
Diffstat (limited to 'filesystems/fuse-lzofs')
-rw-r--r-- | filesystems/fuse-lzofs/DESCR | 16 | ||||
-rw-r--r-- | filesystems/fuse-lzofs/Makefile | 24 | ||||
-rw-r--r-- | filesystems/fuse-lzofs/PLIST | 2 | ||||
-rw-r--r-- | filesystems/fuse-lzofs/distinfo | 7 | ||||
-rw-r--r-- | filesystems/fuse-lzofs/patches/patch-aa | 22 | ||||
-rw-r--r-- | filesystems/fuse-lzofs/patches/patch-ab | 87 |
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)); + |