Add fuse package

SVN-Revision: 594
This commit is contained in:
Nicolas Thill 2005-04-09 02:28:41 +00:00
parent 087173694a
commit 7574fba654
10 changed files with 355 additions and 0 deletions

View File

@ -0,0 +1,21 @@
config BR2_PACKAGE_FUSE
tristate "fuse (Filesystem in USErspace)"
default n
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/

View File

@ -0,0 +1,56 @@
# $Id$
include $(TOPDIR)/rules.mk
PKG_NAME := fuse
PKG_VERSION := 2.2.1
PKG_RELEASE := 1
PKG_MD5SUM := 250d89b9c7b6ecf531df60c67f75737d
PKG_SOURCE_SITE := @SF/fuse
PKG_SOURCE_FILE := $(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_CAT := zcat
PKG_SOURCE_DIR := $(PKG_NAME)-$(PKG_VERSION)
PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_SOURCE_DIR)
I_KMOD_FUSE := $(PACKAGE_DIR)/kmod-fuse_$(LINUX_VERSION)+$(PKG_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk
I_LIBFUSE := $(PACKAGE_DIR)/libfuse_$(PKG_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk
I_FUSE_UTILS := $(PACKAGE_DIR)/fuse-utils_$(PKG_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk
$(DL_DIR)/$(PKG_SOURCE_FILE):
mkdir -p $(DL_DIR)
$(SCRIPT_DIR)/download.pl $(DL_DIR) $(PKG_SOURCE_FILE) $(PKG_MD5SUM) $(PKG_SOURCE_SITE)
$(PKG_BUILD_DIR)/ipkg/rules: $(DL_DIR)/$(PKG_SOURCE_FILE)
mkdir -p $(TOOL_BUILD_DIR)
rm -rf $(PKG_BUILD_DIR)
$(PKG_SOURCE_CAT) $(DL_DIR)/$(PKG_SOURCE_FILE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
$(PATCH) $(PKG_BUILD_DIR) ./patches
cp -fpR ./ipkg $(PKG_BUILD_DIR)/
chmod a+x $(PKG_BUILD_DIR)/ipkg/rules
touch $(PKG_BUILD_DIR)/ipkg/rules
$(I_KMOD_FUSE) $(I_LIBFUSE) $(I_FUSE_UTILS): $(PKG_BUILD_DIR)/ipkg/rules
cd $(PKG_BUILD_DIR); \
TOPDIR="$(TOPDIR)" IPKG_RULES_INC="$(TOPDIR)/rules.mk" \
./ipkg/rules package
$(IPKG_STATE_DIR)/info/kmod-fuse.list: $(I_KMOD_FUSE)
$(IPKG) install $(I_KMOD_FUSE)
$(IPKG_STATE_DIR)/info/libfuse.list: $(I_LIBFUSE)
$(IPKG) install $(I_LIBFUSE)
$(IPKG_STATE_DIR)/info/fuse-utils.list: $(I_FUSE_UTILS)
$(IPKG) install $(I_FUSE_UTILS)
source: $(DL_DIR)/$(PKG_SOURCE_FILE)
prepare: $(PKG_BUILD_DIR)/ipkg/rules
compile: $(I_KMOD_FUSE) $(I_FUSE_UTILS)
install: $(IPKG_STATE_DIR)/info/kmod-fuse.list $(IPKG_STATE_DIR)/info/libfuse.list $(IPKG_STATE_DIR)/info/fuse-utils.list
clean:
rm -rf $(PKG_BUILD_DIR)
rm -f $(I_KMOD_FUSE) $(I_LIBFUSE) $(I_FUSE_UTILS)

View File

@ -0,0 +1,9 @@
Package: fuse-utils
Priority: optional
Section: admin
Version: [TBDL]
Architecture: [TBDL]
Maintainer: Nico <nthill@free.fr>
Source: http://nthill.free.fr/openwrt/sources/fuse2/
Description: Filesystem in Userspace (utilities)
Depends: kmod-fuse

View File

@ -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)

View File

@ -0,0 +1,8 @@
Package: libfuse-dev
Priority: optional
Section: devel
Version: [TBDL]
Architecture: [TBDL]
Maintainer: Nico <nthill@free.fr>
Source: http://nthill.free.fr/openwrt/sources/fuse2/
Description: Filesystem in Userspace (development files)

View File

@ -0,0 +1,8 @@
Package: libfuse
Priority: optional
Section: libs
Version: [TBDL]
Architecture: [TBDL]
Maintainer: Nico <nthill@free.fr>
Source: http://nthill.free.fr/openwrt/sources/fuse2/
Description: Filesystem in Userspace (library)

View File

@ -0,0 +1,163 @@
#!/usr/bin/make -f
ifneq ($(strip ${IPKG_RULES_INC}),)
include $(IPKG_RULES_INC)
endif
##
PKG_VERSION := $(shell cat ./ipkg/version)
CURRENT_DIR := $(shell pwd)
INSTALL_DIR ?= $(CURRENT_DIR)/ipkg-install
unexport INSTALL_DIR
I_KMOD_FUSE := ipkg/kmod-fuse
I_LIBFUSE := ipkg/libfuse
I_LIBFUSE_DEV := ipkg/libfuse-dev
I_FUSE_UTILS := ipkg/fuse-utils
BUILD_DEPS = \
CONFIGURE_OPTS = \
--enable-shared \
--enable-static \
--enable-kernel-module \
--enable-lib \
--enable-util \
--disable-example \
--disable-auto-modprobe \
--with-kernel=$(LINUX_DIR) \
##
all: package
.stamp-configured: $(BUILD_DEPS)
touch configure.in
touch aclocal.m4
touch Makefile.in
touch include/config.h.in
touch configure
rm -rf config.cache
$(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/locate \
--localstatedir=/var/lib \
--mandir=/usr/share/man \
--sbindir=/usr/sbin \
--sysconfdir=/etc \
$(DISABLE_LARGEFILE) \
$(DISABLE_NLS) \
$(CONFIGURE_OPTS) \
touch .stamp-configured
.stamp-built: .stamp-configured
$(MAKE) \
touch .stamp-built
$(INSTALL_DIR)/usr/bin/fusermount: .stamp-built
mkdir -p $(INSTALL_DIR)
$(MAKE) \
DESTDIR="$(INSTALL_DIR)" \
install
rm -f $(INSTALL_DIR)/usr/lib/libfuse.la
configure: .stamp-configured
build: .stamp-built
install: $(INSTALL_DIR)/usr/bin/fusermount
package: $(INSTALL_DIR)/usr/bin/fusermount
mkdir -p $(I_KMOD_FUSE)/lib/modules/$(LINUX_VERSION)
cp -fpR $(INSTALL_DIR)/lib/modules/$(LINUX_VERSION)/kernel/fs/fuse/fuse.o \
$(I_KMOD_FUSE)/lib/modules/$(LINUX_VERSION)/
$(TARGET_CROSS)strip --remove-section=.comment --remove-section=.note \
$(I_KMOD_FUSE)/lib/modules/$(LINUX_VERSION)/*.o
mkdir -p $(I_LIBFUSE)/usr/lib
cp -fpR $(INSTALL_DIR)/usr/lib/libfuse.so.* $(I_LIBFUSE)/usr/lib/
$(STRIP) $(I_LIBFUSE)/usr/lib/*
mkdir -p $(I_LIBFUSE_DEV)/usr/include
cp -fpR $(INSTALL_DIR)/usr/include/fuse* $(I_LIBFUSE_DEV)/usr/include/
mkdir -p $(I_LIBFUSE_DEV)/usr/lib
cp -fpR $(INSTALL_DIR)/usr/lib/libfuse.{a,so*} $(I_LIBFUSE_DEV)/usr/lib/
mkdir -p $(I_LIBFUSE_DEV)/usr/lib/pkgconfig
cp -fpR $(INSTALL_DIR)/usr/lib/pkgconfig/fuse.pc $(I_LIBFUSE_DEV)/usr/lib/pkgconfig/
mkdir -p $(I_FUSE_UTILS)/usr/bin
cp -fpR $(INSTALL_DIR)/usr/bin/fusermount $(I_FUSE_UTILS)/usr/bin/
$(STRIP) $(I_FUSE_UTILS)/usr/bin/*
chmod 0755 ipkg/*/CONTROL/
chmod 0644 ipkg/*/CONTROL/control
perl -pi -e "s/^Arch.*:.*/Architecture: $(ARCH)/g" ipkg/*/CONTROL/control
ifneq ($(strip $(PKG_VERSION)),)
perl -pi -e "s/^Vers.*:.*/Version: $(PKG_VERSION)/g" ipkg/*/CONTROL/control
perl -pi -e "s/^Vers.*:.*/Version: $(LINUX_VERSION)+$(PKG_VERSION)/g" $(I_KMOD_FUSE)/CONTROL/control
endif
$(IPKG_BUILD) $(I_KMOD_FUSE) $(IPKG_TARGET_DIR)
$(IPKG_BUILD) $(I_LIBFUSE) $(IPKG_TARGET_DIR)
$(IPKG_BUILD) $(I_LIBFUSE_DEV) $(IPKG_TARGET_DIR)
$(IPKG_BUILD) $(I_FUSE_UTILS) $(IPKG_TARGET_DIR)
clean:
-$(MAKE) \
DESTDIR="$(INSTALL_DIR)" \
install clean
rm -rf .stamp-* \
$(I_KMOD_FUSE)/lib
$(I_LIBFUSE)/usr
$(I_LIBFUSE_DEV)/usr
$(I_FUSE_UTILS)/usr
control:
@cat $(I_KMOD_FUSE)/CONTROL/control
@echo
@cat $(I_LIBFUSE)/CONTROL/control
@echo
@cat $(I_LIBFUSE_DEV)/CONTROL/control
@echo
@cat $(I_FUSE_UTILS)/CONTROL/control
@echo
.PHONY: configure build install package clean control

View File

@ -0,0 +1 @@
2.2.1-1

View File

@ -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)\"

View File

@ -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,