[Buildroot] [PATCH 2/2] package/libfuse: common files from libfuse3 are prefered

Arnout Vandecappelle arnout at mind.be
Sun Mar 10 15:20:45 UTC 2019


 Hi Norbert,

On 06/03/2019 17:30, Norbert Lange wrote:
> if both libfuse and libfuse3 are installed,
> make sure libfuse3 will be build first and
> use the auxiliary files from the newer package.

 Which files are those?


 You could also verify if the packages that currently use libfuse can also use
libfuse3: curlftpfs e2fsprogs exfat gvfs libostree lua-flu ntfs-3g openvmtools
owfs sshfs unionfs xenomai. If many of them can also work with libfuse3, it
might be worth making a virtual package out of it.


> 
> Also fix the missing setuid bit for fusermount.

 This should be a separate patch, it's independent of the other changes. The
"Also" is a hint :-)

> 
> Signed-off-by: Norbert Lange <norbert.lange at andritz.com>
> ---
>  package/libfuse/libfuse.mk   | 10 ++++++++--
>  package/libfuse3/libfuse3.mk |  1 +
>  2 files changed, 9 insertions(+), 2 deletions(-)
> 
> diff --git a/package/libfuse/libfuse.mk b/package/libfuse/libfuse.mk
> index e8a79a3166..cf7bb2a8e0 100644
> --- a/package/libfuse/libfuse.mk
> +++ b/package/libfuse/libfuse.mk
> @@ -10,15 +10,21 @@ LIBFUSE_SITE = https://github.com/libfuse/libfuse/releases/download/fuse-$(LIBFU
>  LIBFUSE_LICENSE = GPL-2.0, LGPL-2.1
>  LIBFUSE_LICENSE_FILES = COPYING COPYING.LIB
>  LIBFUSE_INSTALL_STAGING = YES
> -LIBFUSE_DEPENDENCIES = $(if $(BR2_PACKAGE_LIBICONV),libiconv)
> +LIBFUSE_DEPENDENCIES = $(if $(BR2_PACKAGE_LIBICONV),libiconv) $(if $(BR2_PACKAGE_FUSE3),fuse3)

 libfuse3, not fuse3.

>  LIBFUSE_CONF_OPTS = \
>  	--disable-example \
>  	--enable-lib \
>  	--enable-util
>  
>  define LIBFUSE_INSTALL_TARGET_CMDS
> -	cp -dpf $(STAGING_DIR)/usr/bin/fusermount $(TARGET_DIR)/usr/bin/
> +	$(if $(BR2_PACKAGE_FUSE3),, \
> +		$(INSTALL) -D -m 0755 $(STAGING_DIR)/usr/bin/fusermount $(TARGET_DIR)/usr/bin/ )

 In the libfuse3 package it's called fusermount3, so what is the conflict?

>  	cp -dpf $(STAGING_DIR)/usr/lib/libfuse.so* $(TARGET_DIR)/usr/lib/
>  endef
>  
> +define LIBFUSE_PERMISSIONS
> +	$(if $(BR2_PACKAGE_FUSE3),, \
> +		/usr/bin/fusermount f 4755 0 0 - - - - -)
> +endef
> +
>  $(eval $(autotools-package))
> diff --git a/package/libfuse3/libfuse3.mk b/package/libfuse3/libfuse3.mk
> index eecdb248d3..be3bf4c746 100644
> --- a/package/libfuse3/libfuse3.mk
> +++ b/package/libfuse3/libfuse3.mk
> @@ -21,6 +21,7 @@ define LIBFUSE3_INSTALL_TARGET_CMDS
>  	$(if $(filter y,$(BR2_STATIC_LIBS)),,cp -dpf $(STAGING_DIR)/usr/lib/libfuse3.so* $(TARGET_DIR)/usr/lib/)
>  	mkdir -p $(TARGET_DIR)/lib/udev/rules.d
>  	$(INSTALL) -m 0644 $(STAGING_DIR)/lib/udev/rules.d/*-fuse3.rules $(TARGET_DIR)/lib/udev/rules.d
> +	ln -sf fusermount3 $(TARGET_DIR)/usr/bin/fusermount

 Ah, here it is :-)

 Why do you need to make this symlink?

 Regards,
 Arnout

>  endef
>  
>  define LIBFUSE3_PERMISSIONS
> 



More information about the buildroot mailing list