summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-fs/lufis/files/lufis-0.2-lufs.patch')
-rw-r--r--sys-fs/lufis/files/lufis-0.2-lufs.patch250
1 files changed, 250 insertions, 0 deletions
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