From: Ivan Kuten Date: Sat, 24 Nov 2007 16:09:25 +0000 (-0000) Subject: add fuse and nfs-3g packages X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e1498416ac16cda49d338795be3760884d476d1e;p=buildroot.git add fuse and nfs-3g packages --- diff --git a/package/Config.in b/package/Config.in index b0a42eeebe..116eecd0a2 100644 --- a/package/Config.in +++ b/package/Config.in @@ -224,6 +224,7 @@ source "package/dbus-glib/Config.in" source "package/dm/Config.in" source "package/dmraid/Config.in" source "package/e2fsprogs/Config.in" +source "package/fuse/Config.in" source "package/gadgetfs-test/Config.in" source "package/hal/Config.in" if !BR2_PACKAGE_BUSYBOX_HIDE_OTHERS @@ -241,6 +242,7 @@ source "package/mdadm/Config.in" source "package/memtester/Config.in" source "package/mkdosfs/Config.in" source "package/mtd/Config.in" +source "package/ntfs-3g/Config.in" source "package/pciutils/Config.in" source "package/pcmcia/Config.in" source "package/raidtools/Config.in" diff --git a/package/fuse/Config.in b/package/fuse/Config.in new file mode 100644 index 0000000000..b3b245acd1 --- /dev/null +++ b/package/fuse/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_LIBFUSE + bool "libfuse" + default n + help + FUSE (Filesystem in UserSpacE) + + http://fuse.sourceforge.net/ diff --git a/package/fuse/libfuse.mk b/package/fuse/libfuse.mk new file mode 100644 index 0000000000..4c24eb98af --- /dev/null +++ b/package/fuse/libfuse.mk @@ -0,0 +1,83 @@ +############################################################# +# +# libfuse +# +############################################################# +LIBFUSE_VERSION:=2.7.0 +LIBFUSE_SOURCE:=fuse-$(LIBFUSE_VERSION).tar.gz +LIBFUSE_SITE:=http://downloads.sourceforge.net/fuse +LIBFUSE_DIR:=$(BUILD_DIR)/fuse-$(LIBFUSE_VERSION) +LIBFUSE_BINARY:=libfuse +$(DL_DIR)/$(LIBFUSE_SOURCE): + $(WGET) -P $(DL_DIR) $(LIBFUSE_SITE)/$(LIBFUSE_SOURCE) + +$(LIBFUSE_DIR)/.source: $(DL_DIR)/$(LIBFUSE_SOURCE) + $(ZCAT) $(DL_DIR)/$(LIBFUSE_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) - + toolchain/patch-kernel.sh $(LIBFUSE_DIR) package/fuse/ patch/*.patch + touch $@ + + +$(LIBFUSE_DIR)/.configured: $(LIBFUSE_DIR)/.source + (cd $(LIBFUSE_DIR); rm -rf config.cache ; \ + $(TARGET_CONFIGURE_OPTS) \ + CFLAGS="$(TARGET_CFLAGS)" \ + ./configure \ + --target=$(GNU_TARGET_NAME) \ + --host=$(GNU_TARGET_NAME) \ + --build=$(GNU_HOST_NAME) \ + --enable-shared \ + --enable-static \ + --program-prefix="" \ + --disable-nls \ + --disable-example \ + --enable-kernel-module \ + --enable-lib \ + --enable-util \ + --with-kernel="$(LINUX_DIR)" \ + ); + touch $@ +# --disable-example +# --disable-mtab +# --disable-rpath + + +$(LIBFUSE_DIR)/.compiled: $(LIBFUSE_DIR)/.configured + $(MAKE) CC=$(TARGET_CC) -C $(LIBFUSE_DIR) + touch $@ +# CROSS_COMPILE="$(TARGET_CROSS)" +# AM_CFLAGS="$(TARGET_CFLAGS) -DDISABLE_COMPAT=1" \ +# EXTRA_DIST="" + + +$(STAGING_DIR)/usr/lib/libfuse.so: $(LIBFUSE_DIR)/.compiled + $(MAKE) prefix=$/usr -C $(LIBFUSE_DIR) DESTDIR=$(STAGING_DIR)/ install + touch -c $@ + +$(TARGET_DIR)/usr/lib/libfuse.so: $(STAGING_DIR)/usr/lib/libfuse.so + mkdir -p $(TARGET_DIR)/usr/lib + mkdir -p $(TARGET_DIR)/usr/bin + cp -dpf $(STAGING_DIR)/usr/bin/fusermount $(TARGET_DIR)/usr/bin/ + cp -dpf $(STAGING_DIR)/usr/lib/libfuse.so.* $(TARGET_DIR)/usr/lib/ +# cp -dpf $(STAGING_DIR)/lib/modules/(uname-r)/kernel/fs/fuse/fuse.pc $(TARGET_DIR)/usr/lib/ + touch -c $@ + +libfuse: uclibc $(TARGET_DIR)/usr/lib/libfuse.so + +libfuse-source: $(DL_DIR)/$(LIBFUSE_SOURCE) + +libfuse-clean: + -$(MAKE) -C $(LIBFUSE_DIR) DESTDIR=$(STAGING_DIR) uninstall + -$(MAKE) -C $(LIBFUSE_DIR) clean + rm -f $(TARGET_DIR)/usr/lib/libfuse.so* + +libfuse-dirclean: + rm -rf $(LIBFUSE_DIR) + +############################################################# +# +# Toplevel Makefile options +# +############################################################# +ifeq ($(strip $(BR2_PACKAGE_LIBFUSE)),y) +TARGETS+=libfuse +endif diff --git a/package/fuse/patch/disable_symvers_22.patch b/package/fuse/patch/disable_symvers_22.patch new file mode 100644 index 0000000000..02efd32899 --- /dev/null +++ b/package/fuse/patch/disable_symvers_22.patch @@ -0,0 +1,56 @@ +diff -urp fuse-2.7.0-orig/lib/fuse.c fuse-2.7.0/lib/fuse.c +--- fuse-2.7.0-orig/lib/fuse.c 2007-07-02 14:33:08.000000000 +0300 ++++ fuse-2.7.0/lib/fuse.c 2007-08-22 19:31:39.000000000 +0300 +@@ -3294,7 +3294,7 @@ __asm__(".symver fuse_process_cmd,__fuse + __asm__(".symver fuse_read_cmd,__fuse_read_cmd@"); + __asm__(".symver fuse_set_getcontext_func,__fuse_set_getcontext_func@"); + __asm__(".symver fuse_new_compat2,fuse_new@"); +-__asm__(".symver fuse_new_compat22,fuse_new@FUSE_2.2"); ++//__asm__(".symver fuse_new_compat22,fuse_new@FUSE_2.2"); + + #endif /* __FreeBSD__ */ + +diff -urp fuse-2.7.0-orig/lib/helper.c fuse-2.7.0/lib/helper.c +--- fuse-2.7.0-orig/lib/helper.c 2007-07-02 14:32:17.000000000 +0300 ++++ fuse-2.7.0/lib/helper.c 2007-08-22 19:32:40.000000000 +0300 +@@ -391,10 +391,10 @@ int fuse_mount_compat1(const char *mount + } + + __asm__(".symver fuse_setup_compat2,__fuse_setup@"); +-__asm__(".symver fuse_setup_compat22,fuse_setup@FUSE_2.2"); ++//__asm__(".symver fuse_setup_compat22,fuse_setup@FUSE_2.2"); + __asm__(".symver fuse_teardown,__fuse_teardown@"); + __asm__(".symver fuse_main_compat2,fuse_main@"); +-__asm__(".symver fuse_main_real_compat22,fuse_main_real@FUSE_2.2"); ++//__asm__(".symver fuse_main_real_compat22,fuse_main_real@FUSE_2.2"); + + #endif /* __FreeBSD__ */ + +@@ -428,6 +428,6 @@ int fuse_mount_compat25(const char *moun + } + + __asm__(".symver fuse_setup_compat25,fuse_setup@FUSE_2.5"); +-__asm__(".symver fuse_teardown_compat22,fuse_teardown@FUSE_2.2"); ++//__asm__(".symver fuse_teardown_compat22,fuse_teardown@FUSE_2.2"); + __asm__(".symver fuse_main_real_compat25,fuse_main_real@FUSE_2.5"); + __asm__(".symver fuse_mount_compat25,fuse_mount@FUSE_2.5"); +diff -urp fuse-2.7.0-orig/lib/mount_bsd.c fuse-2.7.0/lib/mount_bsd.c +--- fuse-2.7.0-orig/lib/mount_bsd.c 2006-05-03 17:46:04.000000000 +0300 ++++ fuse-2.7.0/lib/mount_bsd.c 2007-08-22 19:31:55.000000000 +0300 +@@ -360,4 +360,4 @@ int fuse_kern_mount(const char *mountpoi + return res; + } + +-__asm__(".symver fuse_unmount_compat22,fuse_unmount@FUSE_2.2"); ++//__asm__(".symver fuse_unmount_compat22,fuse_unmount@FUSE_2.2"); +diff -urp fuse-2.7.0-orig/lib/mount.c fuse-2.7.0/lib/mount.c +--- fuse-2.7.0-orig/lib/mount.c 2007-07-02 14:32:17.000000000 +0300 ++++ fuse-2.7.0/lib/mount.c 2007-08-22 19:31:19.000000000 +0300 +@@ -579,5 +579,5 @@ int fuse_kern_mount(const char *mountpoi + return res; + } + +-__asm__(".symver fuse_mount_compat22,fuse_mount@FUSE_2.2"); +-__asm__(".symver fuse_unmount_compat22,fuse_unmount@FUSE_2.2"); ++//__asm__(".symver fuse_mount_compat22,fuse_mount@FUSE_2.2"); ++//__asm__(".symver fuse_unmount_compat22,fuse_unmount@FUSE_2.2"); diff --git a/package/ntfs-3g/Config.in b/package/ntfs-3g/Config.in new file mode 100644 index 0000000000..5cf006ce46 --- /dev/null +++ b/package/ntfs-3g/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_NTFS-3G + bool "ntfs-3g" + default n + help + The NTFS-3G driver is an open source, freely available read/write NTFS driver for Linux, FreeBSD, Mac OS X, NetBSD, and Haiku. It provides safe and fast handling of the Windows XP, Windows Server 2003, Windows 2000 and Windows Vista file systems. Most POSIX file system operations are supported, with the exception of full file ownership and access right support. + + http://www.ntfs-3g.org/ diff --git a/package/ntfs-3g/ntfs-3g.mk b/package/ntfs-3g/ntfs-3g.mk new file mode 100644 index 0000000000..aa1435cffa --- /dev/null +++ b/package/ntfs-3g/ntfs-3g.mk @@ -0,0 +1,82 @@ +############################################################# +# +# ntfs-3g +# +############################################################# +NTFS-3G_VERSION:=1.810 +NTFS-3G_SOURCE:=ntfs-3g-$(NTFS-3G_VERSION).tgz +NTFS-3G_SITE:=www.ntfs-3g.org +NTFS-3G_DIR:=$(BUILD_DIR)/ntfs-3g-$(NTFS-3G_VERSION) +NTFS-3G_BINARY:=ntfs-3g + + +$(DL_DIR)/$(NTFS-3G_SOURCE): + $(WGET) -P $(DL_DIR) $(NTFS-3G_SITE)/$(NTFS-3G_SOURCE) + +$(NTFS-3G_DIR)/.source: $(DL_DIR)/$(NTFS-3G_SOURCE) + $(ZCAT) $(DL_DIR)/$(NTFS-3G_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) - + touch $@ + +$(NTFS-3G_DIR)/.configured: $(NTFS-3G_DIR)/.source + (cd $(NTFS-3G_DIR); rm -rf config.cache ; \ + $(TARGET_CONFIGURE_OPTS) \ + CFLAGS="$(TARGET_CFLAGS)" \ + ./configure \ + --target=$(GNU_TARGET_NAME) \ + --host=$(GNU_TARGET_NAME) \ + --build=$(GNU_HOST_NAME) \ + --prefix=/usr \ + --libdir=/usr/lib \ + --bindir=/usr/bin \ + --sbindir=/usr/sbin \ + --libexecdir=/usr/lib \ + --sysconfdir=/etc \ + --datadir=/usr/share \ + --localstatedir=/var \ + --includedir=/usr/include \ + --program-prefix="" \ + --with-gnu-ld \ + --enable-shared \ + --enable-static \ + , \ + ac_cv_path_LDCONFIG=""\ + ); + touch $@ + +$(NTFS-3G_DIR)/.compiled: $(NTFS-3G_DIR)/.configured + $(MAKE) prefix=$/usr CC=$(TARGET_CC)-C $(NTFS-3G_DIR) + touch $@ +# CROSS_COMPILE="$(TARGET_CROSS)" + + + +$(STAGING_DIR)/usr/bin/ntfs-3g: $(NTFS-3G_DIR)/.compiled + $(MAKE) prefix=$/usr -C $(NTFS-3G_DIR) DESTDIR=$(STAGING_DIR)/ install + touch -c $@ + +$(TARGET_DIR)/usr/bin/ntfs-3g: $(STAGING_DIR)/usr/bin/ntfs-3g + cp -dpf $(STAGING_DIR)/usr/lib/libntfs-3g.so.* $(TARGET_DIR)/usr/lib/ + cp -dpf $(STAGING_DIR)/usr/bin/ntfs-3g $(TARGET_DIR)/usr/bin/ + touch -c $@ + +ntfs-3g: uclibc pkgconfig libfuse $(TARGET_DIR)/usr/bin/ntfs-3g + +ntfs-3g-source: $(DL_DIR)/$(NTFS-3G_SOURCE) + +ntfs-3g-clean: + $(MAKE) prefix=$(STAGING_DIR)/usr -C $(NTFS-3G_DIR) uninstall + rm -f $(TARGET_DIR)/usr/lib/libntfs-3g* + rm -f $(TARGET_DIR)/usr/bin/ntfs-3g + -$(MAKE) -C $(NTFS-3G_DIR) clean + +ntfs-3g-dirclean: + rm -rf $(NTFS-3G_DIR) + +############################################################# +# +# Toplevel Makefile options +# +############################################################# +#ifeq ($(strip $(BR2_PACKAGE_NTFS-3G)),y) +TARGETS+=ntfs-3g +#endif