summaryrefslogtreecommitdiff
path: root/target/linux/package/fuse
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2005-05-28 09:17:29 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2005-05-28 09:17:29 +0000
commit76ed58d705e7f3892a1259abcd92882a527e7b53 (patch)
tree80dfa6ecb493ee8cb9ca1436f1b37ee89f320a55 /target/linux/package/fuse
parente285af3e184318b0fefeab597ae5ee4a2628422d (diff)
move package/linux into target/linux, use wbx' new kernel code. support building images with more than one kernel, split kernel module parts off of packages that use their own kernel modules (fuse, shfs, openswan). some cleanup in the image building process in target/. image builder is disabled for now, needs some fixing.
git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@1085 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/package/fuse')
-rw-r--r--target/linux/package/fuse/Config.in23
-rw-r--r--target/linux/package/fuse/Makefile79
-rw-r--r--target/linux/package/fuse/ipkg/kmod-fuse.control8
-rw-r--r--target/linux/package/fuse/patches/101-kmod_build.patch59
-rw-r--r--target/linux/package/fuse/patches/102-cflags_configure.patch22
5 files changed, 191 insertions, 0 deletions
diff --git a/target/linux/package/fuse/Config.in b/target/linux/package/fuse/Config.in
new file mode 100644
index 0000000000..7e575074f5
--- /dev/null
+++ b/target/linux/package/fuse/Config.in
@@ -0,0 +1,23 @@
+config BR2_PACKAGE_KMOD_FUSE
+ prompt "kmod-fuse - FUSE kernel module"
+ tristate
+ default m if CONFIG_DEVEL
+ select BR2_PACKAGE_FUSE
+ help
+ With FUSE it is possible to implement a fully functional
+ filesystem in a userspace program.
+
+ Features include:
+
+ * Simple library API
+ * Simple installation (no need to patch or recompile the kernel)
+ * Secure implementation
+ * Userspace - kernel interface is very efficient
+ * Usable by non privileged users
+ * Runs on Linux kernels 2.4.X and 2.6.X
+ * Has proven very stable over time
+
+
+ http://fuse.sourceforge.net/
+
+ This package contains the fuse.o kernel module.
diff --git a/target/linux/package/fuse/Makefile b/target/linux/package/fuse/Makefile
new file mode 100644
index 0000000000..9db6295980
--- /dev/null
+++ b/target/linux/package/fuse/Makefile
@@ -0,0 +1,79 @@
+# $Id$
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=fuse
+PKG_VERSION:=2.2.1
+PKG_RELEASE:=1
+PKG_MD5SUM:=250d89b9c7b6ecf531df60c67f75737d
+
+PKG_SOURCE_URL:=@SF/$(PKG_NAME)
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_CAT:=zcat
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
+PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
+
+ifeq ($(KERNEL_DIR),)
+KERNEL_DIR:=$(LINUX_DIR)
+endif
+
+include $(TOPDIR)/package/rules.mk
+
+$(eval $(call PKG_template,KMOD_FUSE,kmod-fuse,$(LINUX_VERSION)+$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+
+$(PKG_BUILD_DIR)/.configured:
+ (cd $(PKG_BUILD_DIR); \
+ rm -rf config.{cache,status} ; \
+ touch configure.in ; \
+ touch aclocal.m4 ; \
+ touch Makefile.in ; \
+ touch include/config.h.in ; \
+ touch configure ; \
+ $(TARGET_CONFIGURE_OPTS) \
+ CFLAGS="$(TARGET_CFLAGS)" \
+ ./configure \
+ --target=$(GNU_TARGET_NAME) \
+ --host=$(GNU_TARGET_NAME) \
+ --build=$(GNU_HOST_NAME) \
+ --program-prefix="" \
+ --program-suffix="" \
+ --prefix=/usr \
+ --exec-prefix=/usr \
+ --bindir=/usr/bin \
+ --datadir=/usr/share \
+ --includedir=/usr/include \
+ --infodir=/usr/share/info \
+ --libdir=/usr/lib \
+ --libexecdir=/usr/lib \
+ --localstatedir=/var \
+ --mandir=/usr/share/man \
+ --sbindir=/usr/sbin \
+ --sysconfdir=/etc \
+ $(DISABLE_LARGEFILE) \
+ $(DISABLE_NLS) \
+ --enable-shared \
+ --enable-static \
+ --enable-kernel-module \
+ --enable-lib \
+ --enable-util \
+ --disable-example \
+ --disable-auto-modprobe \
+ --with-kernel=$(KERNEL_DIR) \
+ );
+ touch $@
+
+$(PKG_BUILD_DIR)/.built:
+ mkdir -p $(PKG_INSTALL_DIR)
+ $(MAKE) -C $(PKG_BUILD_DIR) \
+ DESTDIR="$(PKG_INSTALL_DIR)" \
+ SUBDIRS="kernel" \
+ all install
+ touch $@
+
+$(IPKG_KMOD_FUSE):
+ mkdir -p $(IDIR_KMOD_FUSE)/lib/modules/$(LINUX_VERSION)
+ cp -fpR $(PKG_INSTALL_DIR)/lib/modules/$(LINUX_VERSION)/kernel/fs/fuse/fuse.* \
+ $(IDIR_KMOD_FUSE)/lib/modules/$(LINUX_VERSION)/
+ $(IPKG_BUILD) $(IDIR_KMOD_FUSE) $(PACKAGE_DIR)
+
diff --git a/target/linux/package/fuse/ipkg/kmod-fuse.control b/target/linux/package/fuse/ipkg/kmod-fuse.control
new file mode 100644
index 0000000000..9d2e919c77
--- /dev/null
+++ b/target/linux/package/fuse/ipkg/kmod-fuse.control
@@ -0,0 +1,8 @@
+Package: kmod-fuse
+Priority: optional
+Section: kernel
+Version: [TBDL]
+Architecture: [TBDL]
+Maintainer: Nico <nthill@free.fr>
+Source: http://nthill.free.fr/openwrt/sources/fuse2/
+Description: Filesystem in Userspace (kernel module)
diff --git a/target/linux/package/fuse/patches/101-kmod_build.patch b/target/linux/package/fuse/patches/101-kmod_build.patch
new file mode 100644
index 0000000000..5f4bee745d
--- /dev/null
+++ b/target/linux/package/fuse/patches/101-kmod_build.patch
@@ -0,0 +1,59 @@
+--- fuse-2.2.1-orig/kernel/Makefile.in 2005-01-09 13:07:00.000000000 +0100
++++ fuse-2.2.1-1/kernel/Makefile.in 2005-04-06 14:48:59.000000000 +0200
+@@ -31,11 +31,11 @@
+ install-y: all
+ $(mkdir_p) $(DESTDIR)$(fusemoduledir)
+ $(INSTALL) -m 644 $(fusemodule) $(DESTDIR)$(fusemoduledir)/$(fusemodule)
+- -/sbin/depmod -a
++# -/sbin/depmod -a
+
+ uninstall-y:
+ rm -f $(DESTDIR)$(fusemoduledir)/$(fusemodule)
+- -/sbin/depmod -a
++# -/sbin/depmod -a
+
+ clean:
+ -rm -f $(fusemodule) *.o .*.cmd *.mod.c *.ko *.s */*.o
+@@ -54,23 +54,8 @@
+
+ ifeq ($(majver), 2.4)
+
+-CC = gcc
+-LD = ld
+-CFLAGS = -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -pipe
+-CPPFLAGS = -I@kernelsrc@/include -I. -D__KERNEL__ -DMODULE -D_LOOSE_KERNEL_NAMES -DFUSE_VERSION=\"$(VERSION)\" @KERNELCPPFLAGS@
+-
+ fuse_objs = dev.o dir.o file.o inode.o compat/parser.o
+
+-SUFFIXES = .c .o .s
+-
+-all-spec: fuse.o
+-
+-.c.o:
+- $(CC) $(CFLAGS) $(CPPFLAGS) -c $< -o $@
+-
+-fuse.o: $(fuse_objs)
+- $(LD) -r -o fuse.o $(fuse_objs)
+-
+ fuse_headers = fuse_i.h fuse_kernel.h
+
+ dev.o: $(fuse_headers)
+@@ -78,6 +63,18 @@
+ file.o: $(fuse_headers)
+ inode.o: $(fuse_headers)
+
++EXTRA_CFLAGS += -DFUSE_VERSION=\"$(VERSION)\"
++
++O_TARGET := fuse.o
++
++obj-y := $(fuse_objs)
++obj-m := $(O_TARGET)
++
++-include $(TOPDIR)/Rules.make
++
++all-spec:
++ $(MAKE) -C @kernelsrc@ TOPDIR=@kernelsrc@ SUBDIRS=$(PWD) modules
++
+ else
+
+ EXTRA_CFLAGS += -DFUSE_VERSION=\"$(VERSION)\"
diff --git a/target/linux/package/fuse/patches/102-cflags_configure.patch b/target/linux/package/fuse/patches/102-cflags_configure.patch
new file mode 100644
index 0000000000..b358ab4ecd
--- /dev/null
+++ b/target/linux/package/fuse/patches/102-cflags_configure.patch
@@ -0,0 +1,22 @@
+--- fuse-2.2.1-orig/configure 2005-03-08 15:48:57.000000000 +0100
++++ fuse-2.2.1-1/configure 2005-04-06 14:39:18.000000000 +0200
+@@ -9354,7 +9354,7 @@
+
+ fi
+
+-CFLAGS="-Wall -W -g -O2"
++[ -z "$CFLAGS" ] && CFLAGS="-Wall -W -g -O2"
+ CPPFLAGS="$CPPFLAGS -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DFUSE_USE_VERSION=22"
+
+ # Check whether --enable-kernel-module or --disable-kernel-module was given.
+--- fuse-2.2.1-orig/configure.in 2005-03-08 15:39:23.000000000 +0100
++++ fuse-2.2.1-1/configure.in 2005-04-06 14:39:20.000000000 +0200
+@@ -13,7 +13,7 @@
+ AC_SUBST(mkdir_p)
+ fi
+
+-CFLAGS="-Wall -W -g -O2"
++[ -z "$CFLAGS" ] && CFLAGS="-Wall -W -g -O2"
+ CPPFLAGS="$CPPFLAGS -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DFUSE_USE_VERSION=22"
+
+ AC_ARG_ENABLE(kernel-module,