diff options
Diffstat (limited to 'meta-filesystems/recipes-support')
3 files changed, 168 insertions, 0 deletions
diff --git a/meta-filesystems/recipes-support/fuse/files/aarch64.patch b/meta-filesystems/recipes-support/fuse/files/aarch64.patch new file mode 100644 index 0000000000..050d1146a9 --- /dev/null +++ b/meta-filesystems/recipes-support/fuse/files/aarch64.patch | |||
| @@ -0,0 +1,33 @@ | |||
| 1 | fuse: add aarch64 support | ||
| 2 | |||
| 3 | u64/u32 is not defined in sys/types.h, include linux/types.h like | ||
| 4 | the kernel version of fuse.h does. Patch sent to upstream mailing list. | ||
| 5 | |||
| 6 | Upstream-Status: Submitted | ||
| 7 | Signed-off-by: Riku Voipio <riku.voipio@linaro.org> | ||
| 8 | Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> | ||
| 9 | --- | ||
| 10 | include/fuse_kernel.h | 7 +------ | ||
| 11 | 1 file changed, 1 insertion(+), 6 deletions(-) | ||
| 12 | |||
| 13 | diff --git a/include/fuse_kernel.h b/include/fuse_kernel.h | ||
| 14 | index c632b58..e804278 100644 | ||
| 15 | --- a/include/fuse_kernel.h | ||
| 16 | +++ b/include/fuse_kernel.h | ||
| 17 | @@ -88,12 +88,7 @@ | ||
| 18 | #ifndef _LINUX_FUSE_H | ||
| 19 | #define _LINUX_FUSE_H | ||
| 20 | |||
| 21 | -#include <sys/types.h> | ||
| 22 | -#define __u64 uint64_t | ||
| 23 | -#define __s64 int64_t | ||
| 24 | -#define __u32 uint32_t | ||
| 25 | -#define __s32 int32_t | ||
| 26 | -#define __u16 uint16_t | ||
| 27 | +#include <linux/types.h> | ||
| 28 | |||
| 29 | /* | ||
| 30 | * Version negotiation: | ||
| 31 | -- | ||
| 32 | 1.8.1.2 | ||
| 33 | |||
diff --git a/meta-filesystems/recipes-support/fuse/files/gold-unversioned-symbol.patch b/meta-filesystems/recipes-support/fuse/files/gold-unversioned-symbol.patch new file mode 100644 index 0000000000..d47f692c0e --- /dev/null +++ b/meta-filesystems/recipes-support/fuse/files/gold-unversioned-symbol.patch | |||
| @@ -0,0 +1,92 @@ | |||
| 1 | fuse: Fix linking issues with gold linker | ||
| 2 | |||
| 3 | fuse has problems when linking with gold since it uses version | ||
| 4 | scripts in a way thats so perticular to bfd ld | ||
| 5 | |||
| 6 | /home/kraj/work/angstrom/build/tmp-angstrom_2010_x-eglibc/sysroots/x86_64-linux/usr/libexec/armv5te-angstrom-linux-gnueabi/gcc/arm-angstro | ||
| 7 | error: symbol __fuse_exited has undefined version | ||
| 8 | | collect2: ld returned 1 exit status | ||
| 9 | | make[1]: *** [libfuse.la] Error 1 | ||
| 10 | | make[1]: *** Waiting for unfinished jobs.... | ||
| 11 | |||
| 12 | For more details | ||
| 13 | |||
| 14 | http://blog.flameeyes.eu/2011/06/01/gold-readiness-obstacle-2-base-versioning | ||
| 15 | http://sources.redhat.com/bugzilla/show_bug.cgi?id=10861 | ||
| 16 | http://comments.gmane.org/gmane.comp.file-systems.fuse.devel/9524 | ||
| 17 | http://www.airs.com/blog/archives/300 | ||
| 18 | |||
| 19 | Upstream-Status: Pending | ||
| 20 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 21 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | ||
| 22 | Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> | ||
| 23 | --- | ||
| 24 | lib/fuse.c | 10 +++++----- | ||
| 25 | lib/fuse_mt.c | 2 +- | ||
| 26 | lib/fuse_versionscript | 3 +++ | ||
| 27 | lib/helper.c | 6 +++--- | ||
| 28 | 4 files changed, 12 insertions(+), 9 deletions(-) | ||
| 29 | |||
| 30 | diff --git a/lib/fuse.c b/lib/fuse.c | ||
| 31 | index 067d0dc..6d27711 100644 | ||
| 32 | --- a/lib/fuse.c | ||
| 33 | +++ b/lib/fuse.c | ||
| 34 | @@ -4873,11 +4873,11 @@ struct fuse *fuse_new_compat1(int fd, int flags, | ||
| 35 | 11); | ||
| 36 | } | ||
| 37 | |||
| 38 | -FUSE_SYMVER(".symver fuse_exited,__fuse_exited@"); | ||
| 39 | -FUSE_SYMVER(".symver fuse_process_cmd,__fuse_process_cmd@"); | ||
| 40 | -FUSE_SYMVER(".symver fuse_read_cmd,__fuse_read_cmd@"); | ||
| 41 | -FUSE_SYMVER(".symver fuse_set_getcontext_func,__fuse_set_getcontext_func@"); | ||
| 42 | -FUSE_SYMVER(".symver fuse_new_compat2,fuse_new@"); | ||
| 43 | +FUSE_SYMVER(".symver fuse_exited,__fuse_exited@FUSE_UNVERSIONED"); | ||
| 44 | +FUSE_SYMVER(".symver fuse_process_cmd,__fuse_process_cmd@FUSE_UNVERSIONED"); | ||
| 45 | +FUSE_SYMVER(".symver fuse_read_cmd,__fuse_read_cmd@FUSE_UNVERSIONED"); | ||
| 46 | +FUSE_SYMVER(".symver fuse_set_getcontext_func,__fuse_set_getcontext_func@FUSE_UNVERSIONED"); | ||
| 47 | +FUSE_SYMVER(".symver fuse_new_compat2,fuse_new@FUSE_UNVERSIONED"); | ||
| 48 | FUSE_SYMVER(".symver fuse_new_compat22,fuse_new@FUSE_2.2"); | ||
| 49 | |||
| 50 | #endif /* __FreeBSD__ || __NetBSD__ */ | ||
| 51 | diff --git a/lib/fuse_mt.c b/lib/fuse_mt.c | ||
| 52 | index f6dbe71..fd5ac23 100644 | ||
| 53 | --- a/lib/fuse_mt.c | ||
| 54 | +++ b/lib/fuse_mt.c | ||
| 55 | @@ -119,4 +119,4 @@ int fuse_loop_mt(struct fuse *f) | ||
| 56 | return res; | ||
| 57 | } | ||
| 58 | |||
| 59 | -FUSE_SYMVER(".symver fuse_loop_mt_proc,__fuse_loop_mt@"); | ||
| 60 | +FUSE_SYMVER(".symver fuse_loop_mt_proc,__fuse_loop_mt@FUSE_UNVERSIONED"); | ||
| 61 | diff --git a/lib/fuse_versionscript b/lib/fuse_versionscript | ||
| 62 | index 8d91887..de16ab2 100644 | ||
| 63 | --- a/lib/fuse_versionscript | ||
| 64 | +++ b/lib/fuse_versionscript | ||
| 65 | @@ -1,3 +1,6 @@ | ||
| 66 | +FUSE_UNVERSIONED { | ||
| 67 | +}; | ||
| 68 | + | ||
| 69 | FUSE_2.2 { | ||
| 70 | global: | ||
| 71 | fuse_destroy; | ||
| 72 | diff --git a/lib/helper.c b/lib/helper.c | ||
| 73 | index b644012..c5349bf 100644 | ||
| 74 | --- a/lib/helper.c | ||
| 75 | +++ b/lib/helper.c | ||
| 76 | @@ -436,10 +436,10 @@ int fuse_mount_compat1(const char *mountpoint, const char *args[]) | ||
| 77 | return fuse_mount_compat22(mountpoint, NULL); | ||
| 78 | } | ||
| 79 | |||
| 80 | -FUSE_SYMVER(".symver fuse_setup_compat2,__fuse_setup@"); | ||
| 81 | +FUSE_SYMVER(".symver fuse_setup_compat2,__fuse_setup@FUSE_UNVERSIONED"); | ||
| 82 | FUSE_SYMVER(".symver fuse_setup_compat22,fuse_setup@FUSE_2.2"); | ||
| 83 | -FUSE_SYMVER(".symver fuse_teardown,__fuse_teardown@"); | ||
| 84 | -FUSE_SYMVER(".symver fuse_main_compat2,fuse_main@"); | ||
| 85 | +FUSE_SYMVER(".symver fuse_teardown,__fuse_teardown@FUSE_UNVERSIONED"); | ||
| 86 | +FUSE_SYMVER(".symver fuse_main_compat2,fuse_main@FUSE_UNVERSIONED"); | ||
| 87 | FUSE_SYMVER(".symver fuse_main_real_compat22,fuse_main_real@FUSE_2.2"); | ||
| 88 | |||
| 89 | #endif /* __FreeBSD__ || __NetBSD__ */ | ||
| 90 | -- | ||
| 91 | 1.8.1.2 | ||
| 92 | |||
diff --git a/meta-filesystems/recipes-support/fuse/fuse_2.9.3.bb b/meta-filesystems/recipes-support/fuse/fuse_2.9.3.bb new file mode 100644 index 0000000000..358b58eb54 --- /dev/null +++ b/meta-filesystems/recipes-support/fuse/fuse_2.9.3.bb | |||
| @@ -0,0 +1,43 @@ | |||
| 1 | SUMMARY = "With FUSE it is possible to implement a fully functional filesystem in a userspace program" | ||
| 2 | DESCRIPTION = "FUSE (Filesystem in Userspace) is a simple interface for userspace \ | ||
| 3 | programs to export a virtual filesystem to the Linux kernel. FUSE \ | ||
| 4 | also aims to provide a secure method for non privileged users to \ | ||
| 5 | create and mount their own filesystem implementations. \ | ||
| 6 | " | ||
| 7 | HOMEPAGE = "http://fuse.sf.net" | ||
| 8 | SECTION = "libs" | ||
| 9 | LICENSE = "GPLv2 & LGPLv2" | ||
| 10 | LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ | ||
| 11 | file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c" | ||
| 12 | |||
| 13 | SRC_URI = "${SOURCEFORGE_MIRROR}/fuse/fuse-${PV}.tar.gz \ | ||
| 14 | file://gold-unversioned-symbol.patch \ | ||
| 15 | file://aarch64.patch \ | ||
| 16 | " | ||
| 17 | SRC_URI[md5sum] = "33cae22ca50311446400daf8a6255c6a" | ||
| 18 | SRC_URI[sha256sum] = "0beb83eaf2c5e50730fc553406ef124d77bc02c64854631bdfc86bfd6437391c" | ||
| 19 | |||
| 20 | inherit autotools pkgconfig | ||
| 21 | |||
| 22 | EXTRA_OECONF = "--disable-kernel-module" | ||
| 23 | |||
| 24 | PACKAGES =+ "fuse-utils-dbg fuse-utils libulockmgr libulockmgr-dev libulockmgr-dbg" | ||
| 25 | |||
| 26 | RRECOMMENDS_${PN} = "kernel-module-fuse" | ||
| 27 | |||
| 28 | FILES_${PN} += "${libdir}/libfuse.so.*" | ||
| 29 | FILES_${PN}-dev += "${libdir}/libfuse*.la" | ||
| 30 | |||
| 31 | FILES_libulockmgr = "${libdir}/libulockmgr.so.*" | ||
| 32 | FILES_libulockmgr-dev += "${libdir}/libulock*.la" | ||
| 33 | FILES_libulockmgr-dbg += "${libdir}/.debug/libulock*" | ||
| 34 | |||
| 35 | # Forbid auto-renaming to libfuse-utils | ||
| 36 | FILES_fuse-utils = "${bindir} ${base_sbindir}" | ||
| 37 | FILES_fuse-utils-dbg = "${bindir}/.debug ${base_sbindir}/.debug" | ||
| 38 | DEBIAN_NOAUTONAME_fuse-utils = "1" | ||
| 39 | DEBIAN_NOAUTONAME_fuse-utils-dbg = "1" | ||
| 40 | |||
| 41 | do_install_append() { | ||
| 42 | rm -rf ${D}${base_prefix}/dev | ||
| 43 | } | ||
