diff options
author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2005-05-28 09:17:29 +0000 |
---|---|---|
committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2005-05-28 09:17:29 +0000 |
commit | 76ed58d705e7f3892a1259abcd92882a527e7b53 (patch) | |
tree | 80dfa6ecb493ee8cb9ca1436f1b37ee89f320a55 /target/linux/package/fuse | |
parent | e285af3e184318b0fefeab597ae5ee4a2628422d (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.in | 23 | ||||
-rw-r--r-- | target/linux/package/fuse/Makefile | 79 | ||||
-rw-r--r-- | target/linux/package/fuse/ipkg/kmod-fuse.control | 8 | ||||
-rw-r--r-- | target/linux/package/fuse/patches/101-kmod_build.patch | 59 | ||||
-rw-r--r-- | target/linux/package/fuse/patches/102-cflags_configure.patch | 22 |
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 000000000..7e575074f --- /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 000000000..9db629598 --- /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 000000000..9d2e919c7 --- /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 000000000..5f4bee745 --- /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 000000000..b358ab4ec --- /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, |