From 1c4a2a55f76e481a2d1bc005405b9ce856d58939 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Sat, 28 May 2005 09:17:29 +0000 Subject: 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 --- target/linux/package/fuse/Config.in | 23 +++++++ target/linux/package/fuse/Makefile | 79 ++++++++++++++++++++++ target/linux/package/fuse/ipkg/kmod-fuse.control | 8 +++ .../package/fuse/patches/101-kmod_build.patch | 59 ++++++++++++++++ .../fuse/patches/102-cflags_configure.patch | 22 ++++++ 5 files changed, 191 insertions(+) create mode 100644 target/linux/package/fuse/Config.in create mode 100644 target/linux/package/fuse/Makefile create mode 100644 target/linux/package/fuse/ipkg/kmod-fuse.control create mode 100644 target/linux/package/fuse/patches/101-kmod_build.patch create mode 100644 target/linux/package/fuse/patches/102-cflags_configure.patch (limited to 'target/linux/package/fuse') 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 +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, -- cgit v1.2.3