Changeset 20190


Ignore:
Timestamp:
2010-03-14T03:01:14+01:00 (8 years ago)
Author:
thepeople
Message:

find attached the announced patch for fuse.
changes:

  • latest fuse 2.8.3
  • includes now the kernel module for kernel 2.4
  • builds parallel
  • fuse-utils includes now ulockmgr_server

fuse24 should be deleted from trunk.

bud

Location:
trunk/package
Files:
5 added
1 deleted
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/package/fuse/Makefile

    r17059 r20190  
    11#  
    2 # Copyright (C) 2006-2009 OpenWrt.org 
     2# Copyright (C) 2006-2010 OpenWrt.org 
    33# 
    44# This is free software, licensed under the GNU General Public License v2. 
     
    1010 
    1111PKG_NAME:=fuse 
    12 PKG_VERSION:=2.7.4 
    13 PKG_RELEASE:=2 
     12PKG_VERSION:=2.8.3 
     13PKG_RELEASE:=1 
    1414 
    1515PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz 
    1616PKG_SOURCE_URL:=@SF/$(PKG_NAME) 
    17 PKG_MD5SUM:=4879f06570d2225667534c37fea04213 
     17PKG_MD5SUM:=517c8384f915e40647bda9f71579fd97 
     18 
     19PKG_INSTALL:=1 
     20 
     21# Kernel 2.4 Module 
     22FUSE24_VERSION=2.5.3 
     23FUSE24_SOURCE:=$(PKG_NAME)-$(FUSE24_VERSION).tar.gz 
     24FUSE24_MD5SUM:=9c7e8b6606b9f158ae20b8521ba2867c 
     25FUSE24_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(PKG_NAME)-$(FUSE24_VERSION) 
     26FUSE24_INSTALL_DIR:=$(FUSE24_BUILD_DIR)/ipkg-install 
     27FUSE24_PATCH_DIR:=./patches-kernel24 
    1828 
    1929include $(INCLUDE_DIR)/package.mk 
     
    3949define Package/fuse-utils/description 
    4050$(call Package/fuse/Default/description) 
    41  This package contains the FUSE utility 'fusermount'. 
     51 This package contains the FUSE utilities. 
     52 - fusermount 
     53 - ulockmgr_server 
    4254endef 
    4355 
    4456define KernelPackage/fuse 
    45 $(call Package/fuse/Default) 
    46   SUBMENU:=Filesystems 
    47   DEPENDS:=@LINUX_2_6 
    48   TITLE+= (kernel module) 
    49   KCONFIG:= CONFIG_FUSE_FS 
    50   FILES:=$(LINUX_DIR)/fs/fuse/fuse.$(LINUX_KMOD_SUFFIX) 
    51   AUTOLOAD:=$(call AutoLoad,80,fuse) 
    52   VERSION:=$(LINUX_VERSION) 
     57        $(call Package/fuse/Default) 
     58        SUBMENU:=Filesystems 
     59        TITLE+= (kernel module) 
     60        ifeq ($(KERNEL),2.4) 
     61                FILES:=$(FUSE24_INSTALL_DIR)/lib/modules/$(LINUX_VERSION)/kernel/fs/fuse/fuse.$(LINUX_KMOD_SUFFIX) 
     62                VERSION:=$(LINUX_VERSION)+$(FUSE24_VERSION)-$(PKG_RELEASE) 
     63        else 
     64                KCONFIG:= CONFIG_FUSE_FS 
     65                FILES:=$(LINUX_DIR)/fs/fuse/fuse.$(LINUX_KMOD_SUFFIX) 
     66                VERSION:=$(LINUX_VERSION)-$(LINUX_RELEASE) 
     67        endif 
     68        AUTOLOAD:=$(call AutoLoad,80,fuse) 
    5369endef 
    5470 
     
    6379  CATEGORY:=Libraries 
    6480  TITLE+= (library) 
    65   DEPENDS:=+LINUX_2_4:kmod-fuse24 +LINUX_2_6:kmod-fuse 
     81  DEPENDS:=kmod-fuse 
    6682  SUBMENU:=Filesystem 
    6783endef 
     
    6985define Package/libfuse/description 
    7086$(call Package/fuse/Default/description) 
    71  This package contains the FUSE shared library, needed by other programs. 
    72 endef 
    73  
    74 CONFIGURE_VARS += \ 
    75          kernsrcver="$(LINUX_VERSION)" 
    76  
     87 This package contains the FUSE shared libraries, needed by other programs. 
     88 - libfuse 
     89 - libulockmgr 
     90endef 
     91 
     92# generic args 
    7793CONFIGURE_ARGS += \ 
    7894        --enable-shared \ 
    7995        --enable-static \ 
    8096        --disable-rpath \ 
    81         --enable-lib \ 
    82         --enable-util \ 
    8397        --disable-example \ 
    84         --disable-auto-modprobe \ 
    85         --with-kernel="$(LINUX_DIR)" \ 
    8698        --disable-mtab  
    8799 
    88 # Since kernel 2.6.14 the fuse module is officially part of the kernel.  
    89 # Generally it is better to use the kernel's module. Because it is patched 
    90 # against the DCACHE BUG on arm architectures (currently brcm-2.4, brcm-47xx)  
    91 # and from fuse 2.8.0 on it will be removed from the fuse package anyway. 
    92 # 
    93 CONFIGURE_ARGS += --disable-kernel-module 
    94  
    95 define Build/Configure 
    96         (cd $(PKG_BUILD_DIR); rm -f config.cache; \ 
    97                 touch configure.in ; \ 
    98                 touch aclocal.m4 ; \ 
    99                 touch Makefile.in ; \ 
    100                 touch include/config.h.in ; \ 
    101                 touch configure ; \ 
    102         ) 
    103         $(call Build/Configure/Default) 
    104 endef 
    105  
    106 define Build/Compile 
    107         $(MAKE) -C $(PKG_BUILD_DIR) \ 
     100# kmod 2.4 args 
     101FUSE24_CONFIGURE_ARGS := $(CONFIGURE_ARGS) \ 
     102        --disable-lib --disable-util \ 
     103        --enable-kernel-module --disable-auto-modprobe \ 
     104        --with-kernel="$(LINUX_DIR)" 
     105 
     106# generic package uses lib & utils 
     107CONFIGURE_ARGS += --enable-lib --enable-util 
     108 
     109####### FUSE24 - START ###### 
     110### if we're on kernel 2.4 build a kernel 2.4 compatible fuse module from older version, see also 
     111### http://sourceforge.net/apps/mediawiki/fuse/index.php?title=FAQ#What_version_of_FUSE_do_I_need_to_use_FUSE_with_Linux_2.4.3F 
     112ifeq ($(KERNEL),2.4) 
     113 
     114define Download/fuse24 
     115        FILE:=$(FUSE24_SOURCE) 
     116        URL:=$(PKG_SOURCE_URL) 
     117        MD5SUM:=$(FUSE24_MD5SUM) 
     118endef 
     119$(eval $(call Download,fuse24)) 
     120 
     121define Build/Prepare/fuse24 
     122        rm -rf $(FUSE24_BUILD_DIR)/ 
     123        mkdir -p $(FUSE24_BUILD_DIR)/ 
     124        $(TAR) -xzf $(DL_DIR)/$(FUSE24_SOURCE) -C $(FUSE24_BUILD_DIR)/.. 
     125endef 
     126 
     127define Build/Patch/fuse24 
     128        $(call PatchDir,$(FUSE24_BUILD_DIR),$(FUSE24_PATCH_DIR),) 
     129endef 
     130 
     131define Build/Configure/fuse24 
     132        (cd $(FUSE24_BUILD_DIR); \ 
     133                rm -rf config.{cache,status} ; \ 
     134                $(CONFIGURE_VARS) \ 
     135                ./configure \ 
     136                        $(FUSE24_CONFIGURE_ARGS) \ 
     137        ); 
     138endef 
     139 
     140define Build/Compile/fuse24 
     141        $(MAKE) -C $(FUSE24_BUILD_DIR)/$(MAKE_PATH) \ 
    108142                ARCH="$(LINUX_KARCH)" \ 
    109143                CROSS_COMPILE="$(TARGET_CROSS)" \ 
    110                 DESTDIR="$(PKG_INSTALL_DIR)" \ 
    111                 AM_CFLAGS="$(TARGET_CFLAGS) -DDISABLE_COMPAT=1" \ 
    112                 EXTRA_DIST="" \ 
    113                 all install 
    114 endef 
     144                all; 
     145endef 
     146 
     147define Build/Install/fuse24 
     148        rm -rf $(FUSE24_INSTALL_DIR) 
     149        mkdir -p $(FUSE24_INSTALL_DIR) 
     150        $(MAKE) -C $(FUSE24_BUILD_DIR) \ 
     151                ARCH="$(LINUX_KARCH)" \ 
     152                CROSS_COMPILE="$(TARGET_CROSS)" \ 
     153                DESTDIR="$(FUSE24_INSTALL_DIR)" \ 
     154                install 
     155endef 
     156 
     157define Build/Prepare 
     158        @echo "--> Build/Prepare enter" 
     159        $(call Build/Prepare/fuse24) 
     160        $(call Build/Patch/fuse24) 
     161        $(call Build/Prepare/Default) 
     162        @echo "--> Build/Prepare leave" 
     163endef 
     164 
     165define Build/Configure 
     166        @echo "--> Build/Configure enter" 
     167        $(call Build/Configure/fuse24) 
     168        $(call Build/Configure/Default) 
     169        @echo "--> Build/Configure leave" 
     170endef 
     171 
     172define Build/Compile 
     173        @echo "--> Build/Compile enter" 
     174        $(call Build/Compile/fuse24) 
     175        $(call Build/Compile/Default) 
     176        @echo "--> Build/Compile leave" 
     177endef 
     178 
     179define Build/Install 
     180        @echo "--> Build/Install enter" 
     181        $(call Build/Install/fuse24) 
     182        $(call Build/Install/Default) 
     183        @echo "--> Build/Install leave" 
     184endef 
     185 
     186endif 
     187####### FUSE24 - END ###### 
    115188 
    116189define Build/InstallDev 
     190        @echo "--> Build/InstallDev enter" 
    117191        mkdir -p $(1)/usr/include 
    118         $(CP)   $(PKG_INSTALL_DIR)/usr/include/fuse{,.h} $(1)/usr/include/ 
     192        $(CP)   $(PKG_INSTALL_DIR)/usr/include/{fuse,*.h} $(1)/usr/include/ 
    119193        mkdir -p $(1)/usr/lib 
    120         $(CP)   $(PKG_INSTALL_DIR)/usr/lib/libfuse.{a,so*} $(1)/usr/lib/ 
     194        $(CP)   $(PKG_INSTALL_DIR)/usr/lib/*.{a,so*} $(1)/usr/lib/ 
    121195        mkdir -p $(1)/usr/lib/pkgconfig 
    122196        $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/fuse.pc $(1)/usr/lib/pkgconfig/ 
    123197        $(SED) 's,-I$$$${includedir}/fuse,,g' $(1)/usr/lib/pkgconfig/fuse.pc 
    124198        $(SED) 's,-L$$$${libdir},,g' $(1)/usr/lib/pkgconfig/fuse.pc 
     199        @echo "--> Build/InstallDev leave" 
    125200endef 
    126201 
    127202define Package/fuse-utils/install 
     203        @echo "--> Package/fuse-utils/install enter" 
    128204        $(INSTALL_DIR) $(1)/usr/bin 
    129         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/fusermount $(1)/usr/bin/ 
     205        # use cp and keep fusermount sticky bit 
     206        $(FIND) $(PKG_INSTALL_DIR)/usr/bin/ -type f -exec $(CP) -a {} $(1)/usr/bin/ \; 
     207        @echo "--> Package/fuse-utils/install leave" 
    130208endef 
    131209 
    132210define Package/libfuse/install 
     211        @echo "--> Package/libfuse/install enter" 
    133212        $(INSTALL_DIR) $(1)/usr/lib 
    134         $(CP) $(PKG_INSTALL_DIR)/usr/lib/libfuse.so.* $(1)/usr/lib/ 
     213        $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so.* $(1)/usr/lib/ 
     214        @echo "--> Package/libfuse/install leave" 
     215endef 
     216 
     217define Package/kmod-fuse/install 
     218        @echo "--> Package/kmod-fuse/install enter/leave" 
    135219endef 
    136220 
  • trunk/package/fuse/patches/100-cross_compile.patch

    r10698 r20190  
    1 diff -Nru fuse-2.7.3.orig/kernel/configure fuse-2.7.3/kernel/configure 
    2 --- fuse-2.7.3.orig/kernel/configure    2008-02-19 15:00:19.000000000 -0500 
    3 +++ fuse-2.7.3/kernel/configure 2008-03-17 14:10:14.000000000 -0400 
    4 @@ -1851,7 +1851,9 @@ 
    5   
    6         { echo "$as_me:$LINENO: checking kernel source version" >&5 
    7  echo $ECHO_N "checking kernel source version... $ECHO_C" >&6; } 
    8 -       if test -r $kernelbuild/include/linux/version.h && fgrep -q UTS_RELEASE $kernelbuild/include/linux/version.h; then 
    9 +       if [ -n "$kernsrcver" ]; then 
    10 +               echo "$kernsrcver (cached)" 
    11 +       elif test -r $kernelbuild/include/linux/version.h && fgrep -q UTS_RELEASE $kernelbuild/include/linux/version.h; then 
    12                 kernsrcver=`(echo "#include <linux/version.h>"; echo "kernsrcver=UTS_RELEASE") | cpp -I $kernelbuild/include | grep "^kernsrcver=" | cut -d \" -f 2` 
    13         elif test -r $kernelbuild/include/linux/utsrelease.h && fgrep -q UTS_RELEASE $kernelbuild/include/linux/utsrelease.h; then 
    14                 kernsrcver=`(echo "#include <linux/utsrelease.h>"; echo "kernsrcver=UTS_RELEASE") | cpp -I $kernelbuild/include | grep "^kernsrcver=" | cut -d \" -f 2` 
  • trunk/package/fuse/patches/102-no_depmod.patch

    r10698 r20190  
    1 diff -Nru fuse-2.7.3.orig/kernel/Makefile.in fuse-2.7.3/kernel/Makefile.in 
    2 --- fuse-2.7.3.orig/kernel/Makefile.in  2006-12-09 13:51:13.000000000 -0500 
    3 +++ fuse-2.7.3/kernel/Makefile.in       2008-03-17 14:12:32.000000000 -0400 
    4 @@ -25,11 +25,9 @@ 
    5  install-y: all 
    6         $(mkdir_p) $(DESTDIR)$(fusemoduledir) 
    7         $(INSTALL) -m 644 $(fusemodule) $(DESTDIR)$(fusemoduledir)/$(fusemodule) 
    8 -       -/sbin/depmod -a 
    9   
    10  uninstall-y: 
    11         rm -f $(DESTDIR)$(fusemoduledir)/$(fusemodule) 
    12 -       -/sbin/depmod -a 
    13   
    14  clean: 
    15         -rm -f $(fusemodule) *.o .*.cmd *.mod.c *.ko *.s */*.o 
  • trunk/package/fuse/patches/112-no_break_on_mknod.patch

    r10698 r20190  
    1 --- fuse-2.7.3.orig/util/Makefile.in    2008-02-19 15:00:55.000000000 -0500 
    2 +++ fuse-2.7.3/util/Makefile.in 2008-03-17 14:14:10.000000000 -0400 
    3 @@ -528,7 +528,7 @@ 
     1diff -Nurp fuse-2.8.1.orig/util/Makefile.in fuse-2.8.1/util/Makefile.in 
     2--- fuse-2.8.1.orig/util/Makefile.in    2009-09-11 12:50:00.000000000 +0200 
     3+++ fuse-2.8.1/util/Makefile.in 2009-12-17 01:05:15.720554385 +0100 
     4@@ -543,7 +543,7 @@ uninstall-am: uninstall-binPROGRAMS unin 
    45 install-exec-hook: 
    56        -chown root $(DESTDIR)$(bindir)/fusermount 
  • trunk/package/fuse/patches/200-disable_compat.patch

    r10698 r20190  
    1 diff -Nru fuse-2.7.3.orig/include/fuse_common_compat.h fuse-2.7.3/include/fuse_common_compat.h 
    2 --- fuse-2.7.3.orig/include/fuse_common_compat.h        2008-02-19 14:51:23.000000000 -0500 
    3 +++ fuse-2.7.3/include/fuse_common_compat.h     2008-03-17 14:55:01.000000000 -0400 
    4 @@ -17,6 +17,7 @@ 
    5         unsigned int keep_cache : 1; 
    6  }; 
    7   
    8 +#ifndef DISABLE_COMPAT 
    9  int fuse_mount_compat25(const char *mountpoint, struct fuse_args *args); 
    10   
    11  int fuse_mount_compat22(const char *mountpoint, const char *opts); 
    12 @@ -24,3 +25,4 @@ 
    13  int fuse_mount_compat1(const char *mountpoint, const char *args[]); 
    14   
    15  void fuse_unmount_compat22(const char *mountpoint); 
    16 +#endif 
    17 diff -Nru fuse-2.7.3.orig/lib/fuse.c fuse-2.7.3/lib/fuse.c 
    18 --- fuse-2.7.3.orig/lib/fuse.c  2008-02-19 14:51:25.000000000 -0500 
    19 +++ fuse-2.7.3/lib/fuse.c       2008-03-17 15:04:54.000000000 -0400 
    20 @@ -14,8 +14,6 @@ 
    21  #include "fuse_lowlevel.h" 
    22  #include "fuse_opt.h" 
    23  #include "fuse_misc.h" 
    24 -#include "fuse_common_compat.h" 
    25 -#include "fuse_compat.h" 
    26   
    27  #include <stdio.h> 
    28  #include <string.h> 
    29 @@ -626,129 +624,6 @@ 
    30                 fuse_do_prepare_interrupt(req, d); 
    31  } 
    32   
    33 -#ifndef __FreeBSD__ 
    34 - 
    35 -static int fuse_compat_open(struct fuse_fs *fs, const char *path, 
    36 -                           struct fuse_file_info *fi) 
    37 -{ 
    38 -       int err; 
    39 -       if (!fs->compat || fs->compat >= 25) 
    40 -               err = fs->op.open(path, fi); 
    41 -       else if (fs->compat == 22) { 
    42 -               struct fuse_file_info_compat tmp; 
    43 -               memcpy(&tmp, fi, sizeof(tmp)); 
    44 -               err = ((struct fuse_operations_compat22 *) &fs->op)->open(path, 
    45 -                                                                         &tmp); 
    46 -               memcpy(fi, &tmp, sizeof(tmp)); 
    47 -               fi->fh = tmp.fh; 
    48 -       } else 
    49 -               err = ((struct fuse_operations_compat2 *) &fs->op) 
    50 -                       ->open(path, fi->flags); 
    51 -       return err; 
    52 -} 
    53 - 
    54 -static int fuse_compat_release(struct fuse_fs *fs, const char *path, 
    55 -                              struct fuse_file_info *fi) 
    56 -{ 
    57 -       if (!fs->compat || fs->compat >= 22) 
    58 -               return fs->op.release(path, fi); 
    59 -       else 
    60 -               return ((struct fuse_operations_compat2 *) &fs->op) 
    61 -                       ->release(path, fi->flags); 
    62 -} 
    63 - 
    64 -static int fuse_compat_opendir(struct fuse_fs *fs, const char *path, 
    65 -                              struct fuse_file_info *fi) 
    66 -{ 
    67 -       if (!fs->compat || fs->compat >= 25) 
    68 -               return fs->op.opendir(path, fi); 
    69 -       else { 
    70 -               int err; 
    71 -               struct fuse_file_info_compat tmp; 
    72 -               memcpy(&tmp, fi, sizeof(tmp)); 
    73 -               err = ((struct fuse_operations_compat22 *) &fs->op) 
    74 -                       ->opendir(path, &tmp); 
    75 -               memcpy(fi, &tmp, sizeof(tmp)); 
    76 -               fi->fh = tmp.fh; 
    77 -               return err; 
    78 -       } 
    79 -} 
    80 - 
    81 -static void convert_statfs_compat(struct fuse_statfs_compat1 *compatbuf, 
    82 -                                 struct statvfs *stbuf) 
    83 -{ 
    84 -       stbuf->f_bsize   = compatbuf->block_size; 
    85 -       stbuf->f_blocks  = compatbuf->blocks; 
    86 -       stbuf->f_bfree   = compatbuf->blocks_free; 
    87 -       stbuf->f_bavail  = compatbuf->blocks_free; 
    88 -       stbuf->f_files   = compatbuf->files; 
    89 -       stbuf->f_ffree   = compatbuf->files_free; 
    90 -       stbuf->f_namemax = compatbuf->namelen; 
    91 -} 
    92 - 
    93 -static void convert_statfs_old(struct statfs *oldbuf, struct statvfs *stbuf) 
    94 -{ 
    95 -       stbuf->f_bsize   = oldbuf->f_bsize; 
    96 -       stbuf->f_blocks  = oldbuf->f_blocks; 
    97 -       stbuf->f_bfree   = oldbuf->f_bfree; 
    98 -       stbuf->f_bavail  = oldbuf->f_bavail; 
    99 -       stbuf->f_files   = oldbuf->f_files; 
    100 -       stbuf->f_ffree   = oldbuf->f_ffree; 
    101 -       stbuf->f_namemax = oldbuf->f_namelen; 
    102 -} 
    103 - 
    104 -static int fuse_compat_statfs(struct fuse_fs *fs, const char *path, 
    105 -                             struct statvfs *buf) 
    106 -{ 
    107 -       int err; 
    108 - 
    109 -       if (!fs->compat || fs->compat >= 25) { 
    110 -               err = fs->op.statfs(fs->compat == 25 ? "/" : path, buf); 
    111 -       } else if (fs->compat > 11) { 
    112 -               struct statfs oldbuf; 
    113 -               err = ((struct fuse_operations_compat22 *) &fs->op) 
    114 -                       ->statfs("/", &oldbuf); 
    115 -               if (!err) 
    116 -                       convert_statfs_old(&oldbuf, buf); 
    117 -       } else { 
    118 -               struct fuse_statfs_compat1 compatbuf; 
    119 -               memset(&compatbuf, 0, sizeof(struct fuse_statfs_compat1)); 
    120 -               err = ((struct fuse_operations_compat1 *) &fs->op) 
    121 -                       ->statfs(&compatbuf); 
    122 -               if (!err) 
    123 -                       convert_statfs_compat(&compatbuf, buf); 
    124 -       } 
    125 -       return err; 
    126 -} 
    127 - 
    128 -#else /* __FreeBSD__ */ 
    129 - 
    130 -static inline int fuse_compat_open(struct fuse_fs *fs, char *path, 
    131 -                                  struct fuse_file_info *fi) 
    132 -{ 
    133 -       return fs->op.open(path, fi); 
    134 -} 
    135 - 
    136 -static inline int fuse_compat_release(struct fuse_fs *fs, const char *path, 
    137 -                                     struct fuse_file_info *fi) 
    138 -{ 
    139 -       return fs->op.release(path, fi); 
    140 -} 
    141 - 
    142 -static inline int fuse_compat_opendir(struct fuse_fs *fs, const char *path, 
    143 -                                     struct fuse_file_info *fi) 
    144 -{ 
    145 -       return fs->op.opendir(path, fi); 
    146 -} 
    147 - 
    148 -static inline int fuse_compat_statfs(struct fuse_fs *fs, const char *path, 
    149 -                                    struct statvfs *buf) 
    150 -{ 
    151 -       return fs->op.statfs(fs->compat == 25 ? "/" : path, buf); 
    152 -} 
    153 - 
    154 -#endif /* __FreeBSD__ */ 
    155 - 
    156  int fuse_fs_getattr(struct fuse_fs *fs, const char *path, struct stat *buf) 
    157  { 
    158         fuse_get_context()->private_data = fs->user_data; 
    159 @@ -821,7 +696,7 @@ 
    160  { 
    161         fuse_get_context()->private_data = fs->user_data; 
    162         if (fs->op.release) 
    163 -               return fuse_compat_release(fs, path, fi); 
    164 +               return fs->op.release(path, fi); 
    165         else 
    166                 return 0; 
    167  } 
    168 @@ -831,7 +706,7 @@ 
    169  { 
    170         fuse_get_context()->private_data = fs->user_data; 
    171         if (fs->op.opendir) 
    172 -               return fuse_compat_opendir(fs, path, fi); 
    173 +               return fs->op.opendir(path, fi); 
    174         else 
    175                 return 0; 
    176  } 
    177 @@ -841,7 +716,7 @@ 
    178  { 
    179         fuse_get_context()->private_data = fs->user_data; 
    180         if (fs->op.open) 
    181 -               return fuse_compat_open(fs, path, fi); 
    182 +               return fs->op.open(path, fi); 
    183         else 
    184                 return 0; 
    185  } 
    186 @@ -900,7 +775,7 @@ 
    187  { 
    188         fuse_get_context()->private_data = fs->user_data; 
    189         if (fs->op.statfs) 
    190 -               return fuse_compat_statfs(fs, path, buf); 
    191 +               return fs->op.statfs(path, buf); 
    192         else { 
    193                 buf->f_namemax = 255; 
    194                 buf->f_bsize = 512; 
    195 @@ -3070,7 +2945,6 @@ 
    196         if (!fs) 
    197                 goto out_free; 
    198   
    199 -       fs->compat = compat; 
    200         f->fs = fs; 
    201   
    202         /* Oh f**k, this is ugly! */ 
    203 @@ -3114,11 +2988,6 @@ 
    204         f->conf.readdir_ino = 1; 
    205  #endif 
    206   
    207 -       if (compat && compat <= 25) { 
    208 -               if (fuse_sync_compat_args(args) == -1) 
    209 -                       goto out_free_fs; 
    210 -       } 
    211 - 
    212         f->se = fuse_lowlevel_new_common(args, &llop, sizeof(llop), f); 
    213         if (f->se == NULL) { 
    214                 if (f->conf.help) 
    215 @@ -3254,19 +3123,6 @@ 
    216         fuse_delete_context_key(); 
    217  } 
    218   
    219 -static struct fuse *fuse_new_common_compat25(int fd, struct fuse_args *args, 
    220 -                                            const struct fuse_operations *op, 
    221 -                                            size_t op_size, int compat) 
    222 -{ 
    223 -       struct fuse *f = NULL; 
    224 -       struct fuse_chan *ch = fuse_kern_chan_new(fd); 
    225 - 
    226 -       if (ch) 
    227 -               f = fuse_new_common(ch, args, op, op_size, NULL, compat); 
    228 - 
    229 -       return f; 
    230 -} 
    231 - 
    232  /* called with fuse_context_lock held or during initialization (before 
    233     main() has been called) */ 
    234  void fuse_register_module(struct fuse_module *mod) 
    235 @@ -3278,72 +3134,3 @@ 
    236         mod->next = fuse_modules; 
    237         fuse_modules = mod; 
    238  } 
    239 - 
    240 -#ifndef __FreeBSD__ 
    241 - 
    242 -static struct fuse *fuse_new_common_compat(int fd, const char *opts, 
    243 -                                          const struct fuse_operations *op, 
    244 -                                          size_t op_size, int compat) 
    245 -{ 
    246 -       struct fuse *f; 
    247 -       struct fuse_args args = FUSE_ARGS_INIT(0, NULL); 
    248 - 
    249 -       if (fuse_opt_add_arg(&args, "") == -1) 
    250 -               return NULL; 
    251 -       if (opts && 
    252 -           (fuse_opt_add_arg(&args, "-o") == -1 || 
    253 -            fuse_opt_add_arg(&args, opts) == -1)) { 
    254 -               fuse_opt_free_args(&args); 
    255 -               return NULL; 
    256 -       } 
    257 -       f = fuse_new_common_compat25(fd, &args, op, op_size, compat); 
    258 -       fuse_opt_free_args(&args); 
    259 - 
    260 -       return f; 
    261 -} 
    262 - 
    263 -struct fuse *fuse_new_compat22(int fd, const char *opts, 
    264 -                              const struct fuse_operations_compat22 *op, 
    265 -                              size_t op_size) 
    266 -{ 
    267 -       return fuse_new_common_compat(fd, opts, (struct fuse_operations *) op, 
    268 -                                     op_size, 22); 
    269 -} 
    270 - 
    271 -struct fuse *fuse_new_compat2(int fd, const char *opts, 
    272 -                             const struct fuse_operations_compat2 *op) 
    273 -{ 
    274 -       return fuse_new_common_compat(fd, opts, (struct fuse_operations *) op, 
    275 -                                     sizeof(struct fuse_operations_compat2), 
    276 -                                     21); 
    277 -} 
    278 - 
    279 -struct fuse *fuse_new_compat1(int fd, int flags, 
    280 -                             const struct fuse_operations_compat1 *op) 
    281 -{ 
    282 -       const char *opts = NULL; 
    283 -       if (flags & FUSE_DEBUG_COMPAT1) 
    284 -               opts = "debug"; 
    285 -       return fuse_new_common_compat(fd, opts, (struct fuse_operations *) op, 
    286 -                                     sizeof(struct fuse_operations_compat1), 
    287 -                                     11); 
    288 -} 
    289 - 
    290 -FUSE_SYMVER(".symver fuse_exited,__fuse_exited@"); 
    291 -FUSE_SYMVER(".symver fuse_process_cmd,__fuse_process_cmd@"); 
    292 -FUSE_SYMVER(".symver fuse_read_cmd,__fuse_read_cmd@"); 
    293 -FUSE_SYMVER(".symver fuse_set_getcontext_func,__fuse_set_getcontext_func@"); 
    294 -FUSE_SYMVER(".symver fuse_new_compat2,fuse_new@"); 
    295 -FUSE_SYMVER(".symver fuse_new_compat22,fuse_new@FUSE_2.2"); 
    296 - 
    297 -#endif /* __FreeBSD__ */ 
    298 - 
    299 -struct fuse *fuse_new_compat25(int fd, struct fuse_args *args, 
    300 -                              const struct fuse_operations_compat25 *op, 
    301 -                              size_t op_size) 
    302 -{ 
    303 -       return fuse_new_common_compat25(fd, args, (struct fuse_operations *) op, 
    304 -                                       op_size, 25); 
    305 -} 
    306 - 
    307 -FUSE_SYMVER(".symver fuse_new_compat25,fuse_new@FUSE_2.5"); 
    308 diff -Nru fuse-2.7.3.orig/lib/fuse_lowlevel.c fuse-2.7.3/lib/fuse_lowlevel.c 
    309 --- fuse-2.7.3.orig/lib/fuse_lowlevel.c 2008-02-19 14:51:26.000000000 -0500 
    310 +++ fuse-2.7.3/lib/fuse_lowlevel.c      2008-03-17 15:07:40.000000000 -0400 
    311 @@ -11,8 +11,6 @@ 
    312  #include "fuse_opt.h" 
    313  #include "fuse_i.h" 
    314  #include "fuse_misc.h" 
    315 -#include "fuse_common_compat.h" 
    316 -#include "fuse_lowlevel_compat.h" 
    317   
    318  #include <stdio.h> 
    319  #include <stdlib.h> 
    320 @@ -1319,130 +1317,3 @@ 
    321  { 
    322         return fuse_lowlevel_new_common(args, op, op_size, userdata); 
    323  } 
    324 - 
    325 - 
    326 -#ifndef __FreeBSD__ 
    327 - 
    328 -static void fill_open_compat(struct fuse_open_out *arg, 
    329 -                            const struct fuse_file_info_compat *f) 
    330 -{ 
    331 -       arg->fh = f->fh; 
    332 -       if (f->direct_io) 
    333 -               arg->open_flags |= FOPEN_DIRECT_IO; 
    334 -       if (f->keep_cache) 
    335 -               arg->open_flags |= FOPEN_KEEP_CACHE; 
    336 -} 
    337 - 
    338 -static void convert_statfs_compat(const struct statfs *compatbuf, 
    339 -                                 struct statvfs *buf) 
    340 -{ 
    341 -       buf->f_bsize    = compatbuf->f_bsize; 
    342 -       buf->f_blocks   = compatbuf->f_blocks; 
    343 -       buf->f_bfree    = compatbuf->f_bfree; 
    344 -       buf->f_bavail   = compatbuf->f_bavail; 
    345 -       buf->f_files    = compatbuf->f_files; 
    346 -       buf->f_ffree    = compatbuf->f_ffree; 
    347 -       buf->f_namemax  = compatbuf->f_namelen; 
    348 -} 
    349 - 
    350 -int fuse_reply_open_compat(fuse_req_t req, 
    351 -                          const struct fuse_file_info_compat *f) 
    352 -{ 
    353 -       struct fuse_open_out arg; 
    354 - 
    355 -       memset(&arg, 0, sizeof(arg)); 
    356 -       fill_open_compat(&arg, f); 
    357 -       return send_reply_ok(req, &arg, sizeof(arg)); 
    358 -} 
    359 - 
    360 -int fuse_reply_statfs_compat(fuse_req_t req, const struct statfs *stbuf) 
    361 -{ 
    362 -       struct statvfs newbuf; 
    363 - 
    364 -       memset(&newbuf, 0, sizeof(newbuf)); 
    365 -       convert_statfs_compat(stbuf, &newbuf); 
    366 - 
    367 -       return fuse_reply_statfs(req, &newbuf); 
    368 -} 
    369 - 
    370 -struct fuse_session *fuse_lowlevel_new_compat(const char *opts, 
    371 -                               const struct fuse_lowlevel_ops_compat *op, 
    372 -                               size_t op_size, void *userdata) 
    373 -{ 
    374 -       struct fuse_session *se; 
    375 -       struct fuse_args args = FUSE_ARGS_INIT(0, NULL); 
    376 - 
    377 -       if (opts && 
    378 -           (fuse_opt_add_arg(&args, "") == -1 || 
    379 -            fuse_opt_add_arg(&args, "-o") == -1 || 
    380 -            fuse_opt_add_arg(&args, opts) == -1)) { 
    381 -               fuse_opt_free_args(&args); 
    382 -               return NULL; 
    383 -       } 
    384 -       se = fuse_lowlevel_new(&args, (const struct fuse_lowlevel_ops *) op, 
    385 -                              op_size, userdata); 
    386 -       fuse_opt_free_args(&args); 
    387 - 
    388 -       return se; 
    389 -} 
    390 - 
    391 -struct fuse_ll_compat_conf { 
    392 -       unsigned max_read; 
    393 -       int set_max_read; 
    394 -}; 
    395 - 
    396 -static const struct fuse_opt fuse_ll_opts_compat[] = { 
    397 -       { "max_read=", offsetof(struct fuse_ll_compat_conf, set_max_read), 1 }, 
    398 -       { "max_read=%u", offsetof(struct fuse_ll_compat_conf, max_read), 0 }, 
    399 -       FUSE_OPT_KEY("max_read=", FUSE_OPT_KEY_KEEP), 
    400 -       FUSE_OPT_END 
    401 -}; 
    402 - 
    403 -int fuse_sync_compat_args(struct fuse_args *args) 
    404 -{ 
    405 -       struct fuse_ll_compat_conf conf; 
    406 - 
    407 -       memset(&conf, 0, sizeof(conf)); 
    408 -       if (fuse_opt_parse(args, &conf, fuse_ll_opts_compat, NULL) == -1) 
    409 -               return -1; 
    410 - 
    411 -       if (fuse_opt_insert_arg(args, 1, "-osync_read")) 
    412 -               return -1; 
    413 - 
    414 -       if (conf.set_max_read) { 
    415 -               char tmpbuf[64]; 
    416 - 
    417 -               sprintf(tmpbuf, "-omax_readahead=%u", conf.max_read); 
    418 -               if (fuse_opt_insert_arg(args, 1, tmpbuf) == -1) 
    419 -                       return -1; 
    420 -       } 
    421 -       return 0; 
    422 -} 
    423 - 
    424 -FUSE_SYMVER(".symver fuse_reply_statfs_compat,fuse_reply_statfs@FUSE_2.4"); 
    425 -FUSE_SYMVER(".symver fuse_reply_open_compat,fuse_reply_open@FUSE_2.4"); 
    426 -FUSE_SYMVER(".symver fuse_lowlevel_new_compat,fuse_lowlevel_new@FUSE_2.4"); 
    427 - 
    428 -#else /* __FreeBSD__ */ 
    429 - 
    430 -int fuse_sync_compat_args(struct fuse_args *args) 
    431 -{ 
    432 -       (void) args; 
    433 -       return 0; 
    434 -} 
    435 - 
    436 -#endif /* __FreeBSD__ */ 
    437 - 
    438 -struct fuse_session *fuse_lowlevel_new_compat25(struct fuse_args *args, 
    439 -                               const struct fuse_lowlevel_ops_compat25 *op, 
    440 -                               size_t op_size, void *userdata) 
    441 -{ 
    442 -       if (fuse_sync_compat_args(args) == -1) 
    443 -               return NULL; 
    444 - 
    445 -       return fuse_lowlevel_new_common(args, 
    446 -                                       (const struct fuse_lowlevel_ops *) op, 
    447 -                                       op_size, userdata); 
    448 -} 
    449 - 
    450 -FUSE_SYMVER(".symver fuse_lowlevel_new_compat25,fuse_lowlevel_new@FUSE_2.5"); 
    451 diff -Nru fuse-2.7.3.orig/lib/helper.c fuse-2.7.3/lib/helper.c 
    452 --- fuse-2.7.3.orig/lib/helper.c        2008-02-19 14:51:27.000000000 -0500 
    453 +++ fuse-2.7.3/lib/helper.c     2008-03-17 15:10:18.000000000 -0400 
    454 @@ -11,7 +11,6 @@ 
    455  #include "fuse_misc.h" 
    456  #include "fuse_opt.h" 
    457  #include "fuse_lowlevel.h" 
    458 -#include "fuse_common_compat.h" 
    459   
    460  #include <stdio.h> 
    461  #include <stdlib.h> 
    462 @@ -206,7 +205,7 @@ 
    463                         close(fd); 
    464         } while (fd >= 0 && fd <= 2); 
    465   
    466 -       fd = fuse_mount_compat25(mountpoint, args); 
    467 +       fd = fuse_kern_mount(mountpoint, args); 
    468         if (fd == -1) 
    469                 return NULL; 
    470   
    471 @@ -353,100 +352,3 @@ 
    472  { 
    473         return FUSE_VERSION; 
    474  } 
    475 - 
    476 -#include "fuse_compat.h" 
    477 - 
    478 -#ifndef __FreeBSD__ 
    479 - 
    480 -struct fuse *fuse_setup_compat22(int argc, char *argv[], 
    481 -                                const struct fuse_operations_compat22 *op, 
    482 -                                size_t op_size, char **mountpoint, 
    483 -                                int *multithreaded, int *fd) 
    484 -{ 
    485 -       return fuse_setup_common(argc, argv, (struct fuse_operations *) op, 
    486 -                                op_size, mountpoint, multithreaded, fd, NULL, 
    487 -                                22); 
    488 -} 
    489 - 
    490 -struct fuse *fuse_setup_compat2(int argc, char *argv[], 
    491 -                               const struct fuse_operations_compat2 *op, 
    492 -                               char **mountpoint, int *multithreaded, 
    493 -                               int *fd) 
    494 -{ 
    495 -       return fuse_setup_common(argc, argv, (struct fuse_operations *) op, 
    496 -                                sizeof(struct fuse_operations_compat2), 
    497 -                                mountpoint, multithreaded, fd, NULL, 21); 
    498 -} 
    499 - 
    500 -int fuse_main_real_compat22(int argc, char *argv[], 
    501 -                           const struct fuse_operations_compat22 *op, 
    502 -                           size_t op_size) 
    503 -{ 
    504 -       return fuse_main_common(argc, argv, (struct fuse_operations *) op, 
    505 -                               op_size, NULL, 22); 
    506 -} 
    507 - 
    508 -void fuse_main_compat1(int argc, char *argv[], 
    509 -                      const struct fuse_operations_compat1 *op) 
    510 -{ 
    511 -       fuse_main_common(argc, argv, (struct fuse_operations *) op, 
    512 -                        sizeof(struct fuse_operations_compat1), NULL, 11); 
    513 -} 
    514 - 
    515 -int fuse_main_compat2(int argc, char *argv[], 
    516 -                     const struct fuse_operations_compat2 *op) 
    517 -{ 
    518 -       return fuse_main_common(argc, argv, (struct fuse_operations *) op, 
    519 -                               sizeof(struct fuse_operations_compat2), NULL, 
    520 -                               21); 
    521 -} 
    522 - 
    523 -int fuse_mount_compat1(const char *mountpoint, const char *args[]) 
    524 -{ 
    525 -       /* just ignore mount args for now */ 
    526 -       (void) args; 
    527 -       return fuse_mount_compat22(mountpoint, NULL); 
    528 -} 
    529 - 
    530 -FUSE_SYMVER(".symver fuse_setup_compat2,__fuse_setup@"); 
    531 -FUSE_SYMVER(".symver fuse_setup_compat22,fuse_setup@FUSE_2.2"); 
    532 -FUSE_SYMVER(".symver fuse_teardown,__fuse_teardown@"); 
    533 -FUSE_SYMVER(".symver fuse_main_compat2,fuse_main@"); 
    534 -FUSE_SYMVER(".symver fuse_main_real_compat22,fuse_main_real@FUSE_2.2"); 
    535 - 
    536 -#endif /* __FreeBSD__ */ 
    537 - 
    538 - 
    539 -struct fuse *fuse_setup_compat25(int argc, char *argv[], 
    540 -                                const struct fuse_operations_compat25 *op, 
    541 -                                size_t op_size, char **mountpoint, 
    542 -                                int *multithreaded, int *fd) 
    543 -{ 
    544 -       return fuse_setup_common(argc, argv, (struct fuse_operations *) op, 
    545 -                                op_size, mountpoint, multithreaded, fd, NULL, 
    546 -                                25); 
    547 -} 
    548 - 
    549 -int fuse_main_real_compat25(int argc, char *argv[], 
    550 -                           const struct fuse_operations_compat25 *op, 
    551 -                           size_t op_size) 
    552 -{ 
    553 -       return fuse_main_common(argc, argv, (struct fuse_operations *) op, 
    554 -                               op_size, NULL, 25); 
    555 -} 
    556 - 
    557 -void fuse_teardown_compat22(struct fuse *fuse, int fd, char *mountpoint) 
    558 -{ 
    559 -       (void) fd; 
    560 -       fuse_teardown_common(fuse, mountpoint); 
    561 -} 
    562 - 
    563 -int fuse_mount_compat25(const char *mountpoint, struct fuse_args *args) 
    564 -{ 
    565 -       return fuse_kern_mount(mountpoint, args); 
    566 -} 
    567 - 
    568 -FUSE_SYMVER(".symver fuse_setup_compat25,fuse_setup@FUSE_2.5"); 
    569 -FUSE_SYMVER(".symver fuse_teardown_compat22,fuse_teardown@FUSE_2.2"); 
    570 -FUSE_SYMVER(".symver fuse_main_real_compat25,fuse_main_real@FUSE_2.5"); 
    571 -FUSE_SYMVER(".symver fuse_mount_compat25,fuse_mount@FUSE_2.5"); 
    572 diff -Nru fuse-2.7.3.orig/lib/mount.c fuse-2.7.3/lib/mount.c 
    573 --- fuse-2.7.3.orig/lib/mount.c 2008-02-19 14:51:27.000000000 -0500 
    574 +++ fuse-2.7.3/lib/mount.c      2008-03-17 15:11:02.000000000 -0400 
    575 @@ -10,7 +10,6 @@ 
    576  #include "fuse_i.h" 
    577  #include "fuse_misc.h" 
    578  #include "fuse_opt.h" 
    579 -#include "fuse_common_compat.h" 
    580  #include "mount_util.h" 
    581   
    582  #include <stdio.h> 
    583 @@ -312,11 +311,6 @@ 
    584         waitpid(pid, NULL, 0); 
    585  } 
    586   
    587 -void fuse_unmount_compat22(const char *mountpoint) 
    588 -{ 
    589 -       fuse_kern_unmount(mountpoint, -1); 
    590 -} 
    591 - 
    592  static int fuse_mount_fusermount(const char *mountpoint, const char *opts, 
    593                                  int quiet) 
    594  { 
    595 @@ -380,11 +374,6 @@ 
    596         return rv; 
    597  } 
    598   
    599 -int fuse_mount_compat22(const char *mountpoint, const char *opts) 
    600 -{ 
    601 -       return fuse_mount_fusermount(mountpoint, opts, 0); 
    602 -} 
    603 - 
    604  static int fuse_mount_sys(const char *mnt, struct mount_opts *mo, 
    605                           const char *mnt_opts) 
    606  { 
    607 @@ -587,6 +576,3 @@ 
    608         free(mo.mtab_opts); 
    609         return res; 
    610  } 
    611 - 
    612 -FUSE_SYMVER(".symver fuse_mount_compat22,fuse_mount@FUSE_2.2"); 
    613 -FUSE_SYMVER(".symver fuse_unmount_compat22,fuse_unmount@FUSE_2.2"); 
  • trunk/package/fuse/patches/300-workaround-uclibc-pthread-breakage.patch

    r13312 r20190  
    1 --- fuse-2.7.3.orig/lib/helper.c        2008-11-22 03:25:11.000000000 +0100 
    2 +++ fuse-2.7.3/lib/helper.c     2008-11-22 04:06:35.000000000 +0100 
    3 @@ -178,13 +178,41 @@ 
     1diff -Nurp fuse-2.8.1.orig/lib/helper.c fuse-2.8.1/lib/helper.c 
     2--- fuse-2.8.1.orig/lib/helper.c        2009-06-18 13:14:09.000000000 +0200 
     3+++ fuse-2.8.1/lib/helper.c     2009-12-17 01:11:32.773356000 +0100 
     4@@ -180,13 +180,41 @@ err: 
    45 int fuse_daemonize(int foreground) 
    56 { 
Note: See TracChangeset for help on using the changeset viewer.