[2/2] fuse: Update to 3.10.1

Message ID 20210105142119.5139-1-ahb.ipfire@gmail.com
State Accepted
Headers
Series [1/2] sshfs: Update to 3.7.1 |

Commit Message

Adolf Belka Jan. 5, 2021, 2:21 p.m. UTC
  - Update fuse from 2.9.7 to 3.10.1
- Update also required by sshfs update
- Changelog is available at https://github.com/libfuse/libfuse/releases
- Build had to be changed from autools to meson/ninja
- Rootfiles changed
- namespace conflict fix patch no longer required. Fix now built into kernel.h

Signed-off-by: Adolf Belka <ahb.ipfire@gmail.com>
---
 config/rootfiles/common/fuse                  | 69 +++++++++++--------
 lfs/fuse                                      | 20 +++---
 .../fuse-2.9.2-namespace-conflict-fix.patch   | 21 ------
 3 files changed, 50 insertions(+), 60 deletions(-)
 delete mode 100644 src/patches/fuse-2.9.2-namespace-conflict-fix.patch
  

Comments

Michael Tremer Jan. 6, 2021, 3:30 p.m. UTC | #1
> On 5 Jan 2021, at 14:21, Adolf Belka <ahb.ipfire@gmail.com> wrote:
> 
> - Update fuse from 2.9.7 to 3.10.1
> - Update also required by sshfs update
> - Changelog is available at https://github.com/libfuse/libfuse/releases
> - Build had to be changed from autools to meson/ninja
> - Rootfiles changed
> - namespace conflict fix patch no longer required. Fix now built into kernel.h
> 
> Signed-off-by: Adolf Belka <ahb.ipfire@gmail.com>
> ---
> config/rootfiles/common/fuse                  | 69 +++++++++++--------
> lfs/fuse                                      | 20 +++---
> .../fuse-2.9.2-namespace-conflict-fix.patch   | 21 ------
> 3 files changed, 50 insertions(+), 60 deletions(-)
> delete mode 100644 src/patches/fuse-2.9.2-namespace-conflict-fix.patch
> 
> diff --git a/config/rootfiles/common/fuse b/config/rootfiles/common/fuse
> index 2cd91cb0c..ec5200a1c 100644
> --- a/config/rootfiles/common/fuse
> +++ b/config/rootfiles/common/fuse
> @@ -1,30 +1,39 @@
> -#etc/rc.d/init.d/fuse
> -etc/udev/rules.d/99-fuse.rules
> -sbin/mount.fuse
> -usr/bin/fusermount
> -usr/bin/ulockmgr_server
> -#usr/include/fuse
> -#usr/include/fuse.h
> -#usr/include/fuse/cuse_lowlevel.h
> -#usr/include/fuse/fuse.h
> -#usr/include/fuse/fuse_common.h
> -#usr/include/fuse/fuse_common_compat.h
> -#usr/include/fuse/fuse_compat.h
> -#usr/include/fuse/fuse_lowlevel.h
> -#usr/include/fuse/fuse_lowlevel_compat.h
> -#usr/include/fuse/fuse_opt.h
> -#usr/include/ulockmgr.h
> -#usr/lib/libfuse.a
> -#usr/lib/libfuse.la
> -usr/lib/libfuse.so
> -usr/lib/libfuse.so.2
> -usr/lib/libfuse.so.2.9.7
> -#usr/lib/libulockmgr.a
> -#usr/lib/libulockmgr.la
> -usr/lib/libulockmgr.so
> -usr/lib/libulockmgr.so.1
> -usr/lib/libulockmgr.so.1.0.1
> -#usr/lib/pkgconfig/fuse.pc
> -#usr/share/man/man1/fusermount.1
> -#usr/share/man/man1/ulockmgr_server.1
> -#usr/share/man/man8/mount.fuse.8
> +#etc/rc.d/init.d/fuse3
> +#lib/udev/rules.d/99-fuse3.rules
> +etc/udev/rules.d/99-fuse3.rules
> +sbin/mount.fuse3
> +usr/bin/fusermount3
> +#usr/local/bin/fusermount3
> +#usr/local/etc
> +#usr/local/etc/fuse.conf
> +#usr/local/include/fuse3
> +#usr/local/include/fuse3/cuse_lowlevel.h
> +#usr/local/include/fuse3/fuse.h
> +#usr/local/include/fuse3/fuse_common.h
> +#usr/local/include/fuse3/fuse_log.h
> +#usr/local/include/fuse3/fuse_lowlevel.h
> +#usr/local/include/fuse3/fuse_opt.h
> +#usr/local/lib/libfuse3.so
> +#usr/local/lib/libfuse3.so.3
> +#usr/local/lib/libfuse3.so.3.10.1
> +#usr/local/lib/pkgconfig
> +#usr/local/lib/pkgconfig/fuse3.pc
> +#usr/local/sbin/mount.fuse3
> +#usr/local/share/man/man1/fusermount3.1
> +#usr/local/share/man/man8/mount.fuse3.8
> +#etc/fuse.conf
> +#usr/include/fuse3
> +#usr/include/fuse3/cuse_lowlevel.h
> +#usr/include/fuse3/fuse.h
> +#usr/include/fuse3/fuse_common.h
> +#usr/include/fuse3/fuse_log.h
> +#usr/include/fuse3/fuse_lowlevel.h
> +#usr/include/fuse3/fuse_opt.h
> +#usr/lib/libfuse3.so
> +usr/lib/libfuse3.so.3
> +usr/lib/libfuse3.so.3.10.1
> +#usr/lib/pkgconfig/fuse3.pc
> +#usr/sbin/mount.fuse3
> +#usr/share/man/man1/fusermount3.1
> +#usr/share/man/man8/mount.fuse3.8
> +

There was an empty line at the end of the rootfile which I removed before merging the patch.

> diff --git a/lfs/fuse b/lfs/fuse
> index db649a880..167612f68 100644
> --- a/lfs/fuse
> +++ b/lfs/fuse
> @@ -24,10 +24,10 @@
> 
> include Config
> 
> -VER        = 2.9.7
> +VER        = 3.10.1
> 
> THISAPP    = fuse-$(VER)
> -DL_FILE    = $(THISAPP).tar.gz
> +DL_FILE    = $(THISAPP).tar.xz
> DL_FROM    = $(URL_IPFIRE)
> DIR_APP    = $(DIR_SRC)/$(THISAPP)
> TARGET     = $(DIR_INFO)/$(THISAPP)
> @@ -40,7 +40,7 @@ objects = $(DL_FILE)
> 
> $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
> 
> -$(DL_FILE)_MD5 = 9bd4ce8184745fd3d000ca2692adacdb
> +$(DL_FILE)_MD5 = e973012119e98b048307558271b5b296
> 
> install : $(TARGET)
> 
> @@ -72,12 +72,14 @@ $(subst %,%_MD5,$(objects)) :
> 
> $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
> 	@$(PREBUILD)
> -	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
> -	cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/fuse-2.9.2-namespace-conflict-fix.patch
> -	cd $(DIR_APP) && ./configure \
> -	--prefix=/usr
> +	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
> +	cd $(DIR_APP) && meson --prefix=/usr builddir && cd builddir && ninja && ninja install
> +
> +	# Move mount.fuse3 to same location as mount.fuse was in previous version
> +	mv -v /usr/sbin/mount.fuse3 /sbin
> +
> +	# Move 99-fuse3 rules to same udev location as in previous version of fuse
> +	mv -v /lib/udev/rules.d/99-fuse3.rules /etc/udev/rules.d
> 
> -	cd $(DIR_APP) && make $(MAKETUNING)
> -	cd $(DIR_APP) && make install
> 	@rm -rf $(DIR_APP)
> 	@$(POSTBUILD)
> diff --git a/src/patches/fuse-2.9.2-namespace-conflict-fix.patch b/src/patches/fuse-2.9.2-namespace-conflict-fix.patch
> deleted file mode 100644
> index ae67e7d45..000000000
> --- a/src/patches/fuse-2.9.2-namespace-conflict-fix.patch
> +++ /dev/null
> @@ -1,21 +0,0 @@
> -diff -up fuse-2.9.2/include/fuse_kernel.h.conflictfix fuse-2.9.2/include/fuse_kernel.h
> ---- fuse-2.9.2/include/fuse_kernel.h.conflictfix	2013-06-26 09:31:57.862198038 -0400
> -+++ fuse-2.9.2/include/fuse_kernel.h	2013-06-26 09:32:19.679198365 -0400
> -@@ -88,12 +88,16 @@
> - #ifndef _LINUX_FUSE_H
> - #define _LINUX_FUSE_H
> - 
> --#include <sys/types.h>
> -+#ifdef __linux__
> -+#include <linux/types.h>
> -+#else
> -+#include <stdint.h>
> - #define __u64 uint64_t
> - #define __s64 int64_t
> - #define __u32 uint32_t
> - #define __s32 int32_t
> - #define __u16 uint16_t
> -+#endif
> - 
> - /*
> -  * Version negotiation:
> -- 
> 2.30.0
>
  

Patch

diff --git a/config/rootfiles/common/fuse b/config/rootfiles/common/fuse
index 2cd91cb0c..ec5200a1c 100644
--- a/config/rootfiles/common/fuse
+++ b/config/rootfiles/common/fuse
@@ -1,30 +1,39 @@ 
-#etc/rc.d/init.d/fuse
-etc/udev/rules.d/99-fuse.rules
-sbin/mount.fuse
-usr/bin/fusermount
-usr/bin/ulockmgr_server
-#usr/include/fuse
-#usr/include/fuse.h
-#usr/include/fuse/cuse_lowlevel.h
-#usr/include/fuse/fuse.h
-#usr/include/fuse/fuse_common.h
-#usr/include/fuse/fuse_common_compat.h
-#usr/include/fuse/fuse_compat.h
-#usr/include/fuse/fuse_lowlevel.h
-#usr/include/fuse/fuse_lowlevel_compat.h
-#usr/include/fuse/fuse_opt.h
-#usr/include/ulockmgr.h
-#usr/lib/libfuse.a
-#usr/lib/libfuse.la
-usr/lib/libfuse.so
-usr/lib/libfuse.so.2
-usr/lib/libfuse.so.2.9.7
-#usr/lib/libulockmgr.a
-#usr/lib/libulockmgr.la
-usr/lib/libulockmgr.so
-usr/lib/libulockmgr.so.1
-usr/lib/libulockmgr.so.1.0.1
-#usr/lib/pkgconfig/fuse.pc
-#usr/share/man/man1/fusermount.1
-#usr/share/man/man1/ulockmgr_server.1
-#usr/share/man/man8/mount.fuse.8
+#etc/rc.d/init.d/fuse3
+#lib/udev/rules.d/99-fuse3.rules
+etc/udev/rules.d/99-fuse3.rules
+sbin/mount.fuse3
+usr/bin/fusermount3
+#usr/local/bin/fusermount3
+#usr/local/etc
+#usr/local/etc/fuse.conf
+#usr/local/include/fuse3
+#usr/local/include/fuse3/cuse_lowlevel.h
+#usr/local/include/fuse3/fuse.h
+#usr/local/include/fuse3/fuse_common.h
+#usr/local/include/fuse3/fuse_log.h
+#usr/local/include/fuse3/fuse_lowlevel.h
+#usr/local/include/fuse3/fuse_opt.h
+#usr/local/lib/libfuse3.so
+#usr/local/lib/libfuse3.so.3
+#usr/local/lib/libfuse3.so.3.10.1
+#usr/local/lib/pkgconfig
+#usr/local/lib/pkgconfig/fuse3.pc
+#usr/local/sbin/mount.fuse3
+#usr/local/share/man/man1/fusermount3.1
+#usr/local/share/man/man8/mount.fuse3.8
+#etc/fuse.conf
+#usr/include/fuse3
+#usr/include/fuse3/cuse_lowlevel.h
+#usr/include/fuse3/fuse.h
+#usr/include/fuse3/fuse_common.h
+#usr/include/fuse3/fuse_log.h
+#usr/include/fuse3/fuse_lowlevel.h
+#usr/include/fuse3/fuse_opt.h
+#usr/lib/libfuse3.so
+usr/lib/libfuse3.so.3
+usr/lib/libfuse3.so.3.10.1
+#usr/lib/pkgconfig/fuse3.pc
+#usr/sbin/mount.fuse3
+#usr/share/man/man1/fusermount3.1
+#usr/share/man/man8/mount.fuse3.8
+
diff --git a/lfs/fuse b/lfs/fuse
index db649a880..167612f68 100644
--- a/lfs/fuse
+++ b/lfs/fuse
@@ -24,10 +24,10 @@ 
 
 include Config
 
-VER        = 2.9.7
+VER        = 3.10.1
 
 THISAPP    = fuse-$(VER)
-DL_FILE    = $(THISAPP).tar.gz
+DL_FILE    = $(THISAPP).tar.xz
 DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
@@ -40,7 +40,7 @@  objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 9bd4ce8184745fd3d000ca2692adacdb
+$(DL_FILE)_MD5 = e973012119e98b048307558271b5b296
 
 install : $(TARGET)
 
@@ -72,12 +72,14 @@  $(subst %,%_MD5,$(objects)) :
 
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
 	@$(PREBUILD)
-	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
-	cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/fuse-2.9.2-namespace-conflict-fix.patch
-	cd $(DIR_APP) && ./configure \
-	--prefix=/usr
+	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
+	cd $(DIR_APP) && meson --prefix=/usr builddir && cd builddir && ninja && ninja install
+
+	# Move mount.fuse3 to same location as mount.fuse was in previous version
+	mv -v /usr/sbin/mount.fuse3 /sbin
+
+	# Move 99-fuse3 rules to same udev location as in previous version of fuse
+	mv -v /lib/udev/rules.d/99-fuse3.rules /etc/udev/rules.d
 
-	cd $(DIR_APP) && make $(MAKETUNING)
-	cd $(DIR_APP) && make install
 	@rm -rf $(DIR_APP)
 	@$(POSTBUILD)
diff --git a/src/patches/fuse-2.9.2-namespace-conflict-fix.patch b/src/patches/fuse-2.9.2-namespace-conflict-fix.patch
deleted file mode 100644
index ae67e7d45..000000000
--- a/src/patches/fuse-2.9.2-namespace-conflict-fix.patch
+++ /dev/null
@@ -1,21 +0,0 @@ 
-diff -up fuse-2.9.2/include/fuse_kernel.h.conflictfix fuse-2.9.2/include/fuse_kernel.h
---- fuse-2.9.2/include/fuse_kernel.h.conflictfix	2013-06-26 09:31:57.862198038 -0400
-+++ fuse-2.9.2/include/fuse_kernel.h	2013-06-26 09:32:19.679198365 -0400
-@@ -88,12 +88,16 @@
- #ifndef _LINUX_FUSE_H
- #define _LINUX_FUSE_H
- 
--#include <sys/types.h>
-+#ifdef __linux__
-+#include <linux/types.h>
-+#else
-+#include <stdint.h>
- #define __u64 uint64_t
- #define __s64 int64_t
- #define __u32 uint32_t
- #define __s32 int32_t
- #define __u16 uint16_t
-+#endif
- 
- /*
-  * Version negotiation: