summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Schweizer <genstef@gentoo.org>2004-11-14 15:17:07 +0000
committerStefan Schweizer <genstef@gentoo.org>2004-11-14 15:17:07 +0000
commit0e6db07f404ce16ea7e89135ff23ade901de56ab (patch)
tree63a27267510c64e9dc3aa0adc69fa90ddde7ce01 /sys-fs/lufis
parentbuild from source 63240, submitted by Jan Brinkmann <lucky@the-luckyduck.de> ... (diff)
downloadgentoo-2-0e6db07f404ce16ea7e89135ff23ade901de56ab.tar.gz
gentoo-2-0e6db07f404ce16ea7e89135ff23ade901de56ab.tar.bz2
gentoo-2-0e6db07f404ce16ea7e89135ff23ade901de56ab.zip
Initial Version thanks to Matthias R. <spinebuster@gmx.net> and Vaclav Slavik <vaclav.slavik@matfyz.cz>
Diffstat (limited to 'sys-fs/lufis')
-rw-r--r--sys-fs/lufis/ChangeLog11
-rw-r--r--sys-fs/lufis/Manifest5
-rw-r--r--sys-fs/lufis/files/digest-lufis-0.21
-rw-r--r--sys-fs/lufis/files/lufis-0.2-lufs.patch250
-rw-r--r--sys-fs/lufis/lufis-0.2.ebuild34
-rw-r--r--sys-fs/lufis/metadata.xml9
6 files changed, 310 insertions, 0 deletions
diff --git a/sys-fs/lufis/ChangeLog b/sys-fs/lufis/ChangeLog
new file mode 100644
index 000000000000..2074adbf05a4
--- /dev/null
+++ b/sys-fs/lufis/ChangeLog
@@ -0,0 +1,11 @@
+# ChangeLog for sys-fs/lufis
+# Copyright 1999-2004 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sys-fs/lufis/ChangeLog,v 1.1 2004/11/14 15:17:07 genstef Exp $
+
+*lufis-0.2 (14 Nov 2004)
+
+ 14 Nov 2004; Stefan Schweizer <genstef@gentoo.org> +metadata.xml,
+ +files/lufis-0.2-lufs.patch, +lufis-0.2.ebuild:
+ Initial Version thanks to Matthias R. <spinebuster@gmx.net> and Vaclav
+ Slavik <vaclav.slavik@matfyz.cz>
+
diff --git a/sys-fs/lufis/Manifest b/sys-fs/lufis/Manifest
new file mode 100644
index 000000000000..c7aa624eddee
--- /dev/null
+++ b/sys-fs/lufis/Manifest
@@ -0,0 +1,5 @@
+MD5 a53bb9da6006d363df7bfcbc94139a44 lufis-0.2.ebuild 635
+MD5 8668b669dc4196edfec820b528ddbd1a ChangeLog 366
+MD5 6e89ba8198764bfd079a0cfa18dca593 metadata.xml 264
+MD5 72aac7b0ee66b5856972dede7083743b files/lufis-0.2-lufs.patch 6874
+MD5 140fd91ee9a56aef00af8066becabbc8 files/digest-lufis-0.2 60
diff --git a/sys-fs/lufis/files/digest-lufis-0.2 b/sys-fs/lufis/files/digest-lufis-0.2
new file mode 100644
index 000000000000..1ecac6cc9c0b
--- /dev/null
+++ b/sys-fs/lufis/files/digest-lufis-0.2
@@ -0,0 +1 @@
+MD5 3324523d2e9a10e24c0c5d7ddf76497b lufis-0.2.tar.gz 17072
diff --git a/sys-fs/lufis/files/lufis-0.2-lufs.patch b/sys-fs/lufis/files/lufis-0.2-lufs.patch
new file mode 100644
index 000000000000..00edacb55be2
--- /dev/null
+++ b/sys-fs/lufis/files/lufis-0.2-lufs.patch
@@ -0,0 +1,250 @@
+This patch makes it possible to compile lufis without the lufs package.
+It has been merged to the lufis cvs tree.
+We would like to remove lufs soon in favour of the newer system fuse.
+
+diff -Naur lufis-0.2.orig/lufs/fs.h lufis-0.2/lufs/fs.h
+--- lufis-0.2.orig/lufs/fs.h 1970-01-01 01:00:00.000000000 +0100
++++ lufis-0.2/lufs/fs.h 2004-11-12 21:07:45.714978800 +0100
+@@ -0,0 +1,112 @@
++/*
++ * lufs.h
++ * Copyright (C) 2002 Florin Malita <mali@go.ro>
++ *
++ * This file is part of LUFS, a free userspace filesystem implementation.
++ * See http://lufs.sourceforge.net/ for updates.
++ *
++ * LUFS is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2 of the License, or
++ * (at your option) any later version.
++ *
++ * LUFS is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
++ */
++
++#ifndef _LUFS_FS_H_
++#define _LUFS_FS_H_
++
++#include <sys/types.h>
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++struct dir_cache;
++struct directory;
++struct lufs_fattr;
++struct file_system;
++struct list_head;
++struct dir_cache;
++
++#define MAX_LEN 64
++
++struct credentials{
++ char user[MAX_LEN];
++ char group[MAX_LEN];
++ uid_t uid;
++ gid_t gid;
++};
++
++
++struct directory* lu_cache_mkdir(char*);
++int lu_cache_add2dir(struct directory*, char*, char*, struct lufs_fattr*);
++int lu_cache_lookup(struct dir_cache*, char*, char*, struct lufs_fattr*, char*, int);
++void lu_cache_add_dir(struct dir_cache*, struct directory*);
++void lu_cache_killdir(struct directory*);
++
++int lu_check_to(int, int, int);
++int lu_atomic_read(int, char*, int, int);
++int lu_atomic_write(int, char*, int, int);
++
++int lu_opt_loadcfg(struct list_head*, char*);
++int lu_opt_parse(struct list_head*, char*, char*);
++int lu_opt_getint(struct list_head*, char*, char*, long int*, int);
++const char* lu_opt_getchar(struct list_head*, char*, char*);
++
++
++#ifdef __cplusplus
++} /* end of extern "C" { */
++#endif
++
++#ifdef TRACE
++#undef TRACE
++#endif
++#ifdef WARN
++#undef WARN
++#endif
++#ifdef ERROR
++#undef ERROR
++#endif
++
++#ifdef __cplusplus
++
++#include <iostream>
++
++#ifdef DEBUG
++#define TRACE(x) cout<<std::hex<<"["<<getpid()<<"]("<<__func__<<")"<<x<<"\n"
++#define WARN(x) cerr<<std::hex<<"["<<getpid()<<"]("<<__func__<<")"<<x<<"\n"
++#define ERROR(x) cerr<<std::hex<<"["<<getpid()<<"]("<<__func__<<")"<<x<<"\n"
++#else
++#define TRACE(x...) do{}while(0)
++#define WARN(x...) do{}while(0)
++#define ERROR(x...) cerr<<x<<"\n"
++#endif
++
++#else
++
++#include <stdio.h>
++
++#ifdef DEBUG
++#define TRACE(x...) do{fprintf(stderr, "[%x](%s) ", getpid(), __func__); fprintf(stderr, x); fprintf(stderr, "\n");}while(0)
++#define WARN(x...) do{fprintf(stderr, "[%x](%s) ", getpid(), __func__); fprintf(stderr, x); fprintf(stderr, "\n");}while(0)
++#define ERROR(x...) do{fprintf(stderr, "[%x](%s) ", getpid(), __func__); fprintf(stderr, x); fprintf(stderr, "\n");}while(0)
++#else
++#define TRACE(x...) do{}while(0)
++#define WARN(x...) do{}while(0)
++#define ERROR(x...) do{fprintf(stderr, x); fprintf(stderr, "\n");}while(0)
++#endif
++
++#endif
++
++
++
++#endif
++
+diff -Naur lufis-0.2.orig/lufs/proto.h lufis-0.2/lufs/proto.h
+--- lufis-0.2.orig/lufs/proto.h 1970-01-01 01:00:00.000000000 +0100
++++ lufis-0.2/lufs/proto.h 2004-11-12 21:07:45.715978648 +0100
+@@ -0,0 +1,116 @@
++/*
++ * proto.h
++ * Copyright (C) 2002 Florin Malita <mali@go.ro>
++ *
++ * This file is part of LUFS, a free userspace filesystem implementation.
++ * See http://lufs.sourceforge.net/ for updates.
++ *
++ * LUFS is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2 of the License, or
++ * (at your option) any later version.
++ *
++ * LUFS is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
++ */
++
++#ifndef _LU_PROTO_H_
++#define _LU_PROTO_H_
++
++#define LU_MAXDATA 4096
++
++#define PVERSION 0x02
++
++#define PTYPE_OK 0x00
++#define PTYPE_MOUNT 0x01
++#define PTYPE_READ 0x02
++#define PTYPE_WRITE 0x03
++#define PTYPE_READDIR 0x04
++#define PTYPE_STAT 0x05
++#define PTYPE_UMOUNT 0x06
++#define PTYPE_SETATTR 0x07
++#define PTYPE_MKDIR 0x08
++#define PTYPE_RMDIR 0x09
++#define PTYPE_CREATE 0x0A
++#define PTYPE_UNLINK 0x0B
++#define PTYPE_RENAME 0x0C
++#define PTYPE_OPEN 0x0D
++#define PTYPE_RELEASE 0x0E
++#define PTYPE_READLINK 0x0F
++#define PTYPE_LINK 0x10
++#define PTYPE_SYMLINK 0x11
++#define PTYPE_STATFS 0x12
++
++#define PTYPE_MAX 0x12
++
++
++#define PTYPE_ERROR 0x100
++
++#define PERROR(x) (-(x & (PTYPE_ERROR - 1)) - 1)
++#define PIS_ERROR(x) (x & PTYPE_ERROR)
++
++struct lu_msg {
++ unsigned short msg_version;
++ unsigned short msg_type;
++ unsigned short msg_datalen;
++ unsigned short msg_pid;
++};
++
++
++struct lufs_fattr{
++ unsigned long f_ino;
++ unsigned long f_mode;
++ unsigned long f_nlink;
++ unsigned long f_uid;
++ unsigned long f_gid;
++ long long f_size;
++ unsigned long f_atime;
++ unsigned long f_mtime;
++ unsigned long f_ctime;
++ unsigned long f_blksize;
++ unsigned long f_blocks;
++};
++
++
++struct lufs_sbattr{ /* struct statfs64 */
++ unsigned long long sb_bytes;
++ unsigned long long sb_bytes_free;
++ unsigned long long sb_bytes_available;
++ unsigned long long sb_files;
++ unsigned long long sb_ffree;
++};
++
++
++struct lufs_req_readdir{
++ unsigned short offset;
++ char dirname[0];
++};
++
++struct lufs_req_mkdir{
++ int mode;
++ char dirname[0];
++};
++
++struct lufs_req_rw{
++ long long offset;
++ unsigned long count;
++ char name[0];
++};
++
++struct lufs_req_open{
++ unsigned mode;
++ char name[0];
++};
++
++struct lufs_req_setattr{
++ struct lufs_fattr fattr;
++ char name[0];
++};
++
++#endif
+diff -Naur lufis-0.2.orig/Makefile lufis-0.2/Makefile
+--- lufis-0.2.orig/Makefile 2004-11-12 21:07:36.138434656 +0100
++++ lufis-0.2/Makefile 2004-11-12 21:10:04.342904152 +0100
+@@ -1,5 +1,5 @@
+ CC = gcc
+-CFLAGS = -Wall -W -g
++CFLAGS += -Wall -W -g -I.
+ LDLIBS = -lfuse -lpthread -ldl -rdynamic
+ CPPFLAGS := -D_FILE_OFFSET_BITS=64
+ #CPPFLAGS += -DDEBUG
diff --git a/sys-fs/lufis/lufis-0.2.ebuild b/sys-fs/lufis/lufis-0.2.ebuild
new file mode 100644
index 000000000000..b2d679a02fcb
--- /dev/null
+++ b/sys-fs/lufis/lufis-0.2.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-fs/lufis/lufis-0.2.ebuild,v 1.1 2004/11/14 15:17:07 genstef Exp $
+
+inherit eutils
+
+DESCRIPTION="Wrapper to use lufs modules with fuse kernel support"
+SRC_URI="mirror://sourceforge/avf/${P}.tar.gz"
+HOMEPAGE="http://avf.sourceforge.net/"
+LICENSE="GPL-2"
+DEPEND="!sys-fs/lufs
+ >=sys-fs/fuse-1.3"
+KEYWORDS="~x86"
+SLOT="0"
+IUSE=""
+
+src_unpack() {
+ unpack ${A}
+ cd ${S}
+ epatch ${FILESDIR}/${P}-lufs.patch
+}
+
+src_compile () {
+ emake || die "emake failed"
+}
+
+src_install () {
+ dobin lufis
+ dodoc README COPYING ChangeLog
+
+ insinto /usr/include/lufs/
+ doins lufs/fs.h
+ doins lufs/proto.h
+}
diff --git a/sys-fs/lufis/metadata.xml b/sys-fs/lufis/metadata.xml
new file mode 100644
index 000000000000..c8f81b37cf66
--- /dev/null
+++ b/sys-fs/lufis/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>kernel</herd>
+ <maintainer>
+ <email>genstef@gentoo.org</email>
+ <name>Stefan Schweizer</name>
+ </maintainer>
+</pkgmetadata>