[Buildroot] [PATCH 1/1] package/libfuse3: new package

Heiko Thiery heiko.thiery at gmail.com
Fri Apr 17 11:53:12 UTC 2020


Hi Asaf,

I have some comments below.

Am Sa., 11. Jan. 2020 um 11:26 Uhr schrieb Asaf Kahlon <asafka7 at gmail.com>:
>
> The package is separated from the regular libfuse package, as it
> contains new API (and can co-exist with libfuse).
>
> Signed-off-by: Asaf Kahlon <asafka7 at gmail.com>

Reviewed-by: Heiko Thiery <heiko.thiery at gmail.com>

> ---
>  DEVELOPERS                     |  1 +
>  package/Config.in              |  1 +
>  package/libfuse3/Config.in     | 14 ++++++++++++++
>  package/libfuse3/libfuse3.hash |  3 +++
>  package/libfuse3/libfuse3.mk   | 27 +++++++++++++++++++++++++++
>  5 files changed, 46 insertions(+)
>  create mode 100644 package/libfuse3/Config.in
>  create mode 100644 package/libfuse3/libfuse3.hash
>  create mode 100644 package/libfuse3/libfuse3.mk
>
> diff --git a/DEVELOPERS b/DEVELOPERS
> index 80843dd1a1..00d38bb8e4 100644
> --- a/DEVELOPERS
> +++ b/DEVELOPERS
> @@ -248,6 +248,7 @@ F:  configs/raspberrypi4_64_defconfig
>
>  N:     Asaf Kahlon <asafka7 at gmail.com>
>  F:     package/collectd/
> +F:     package/libfuse3/
>  F:     package/libuv/
>  F:     package/python*
>  F:     package/snmpclitools/
> diff --git a/package/Config.in b/package/Config.in
> index 873a592d64..96ba677816 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -1328,6 +1328,7 @@ menu "Filesystem"
>         source "package/libconfig/Config.in"
>         source "package/libconfuse/Config.in"
>         source "package/libfuse/Config.in"
> +       source "package/libfuse3/Config.in"
>         source "package/liblockfile/Config.in"
>         source "package/libnfs/Config.in"
>         source "package/libsysfs/Config.in"
> diff --git a/package/libfuse3/Config.in b/package/libfuse3/Config.in
> new file mode 100644
> index 0000000000..584d3bf132
> --- /dev/null
> +++ b/package/libfuse3/Config.in
> @@ -0,0 +1,14 @@
> +config BR2_PACKAGE_LIBFUSE3
> +       bool "libfuse3"
> +       depends on !BR2_STATIC_LIBS
> +       depends on BR2_TOOLCHAIN_HAS_THREADS
> +       depends on BR2_USE_MMU # fork()
> +       help
> +         The reference implementation of the Linux FUSE
> +         (Filesystem in Userspace) interface.
> +
> +         https://github.com/libfuse/libfuse
> +
> +comment "libfuse3 needs a toolchain w/ threads, dynamic library"
> +       depends on BR2_USE_MMU
> +       depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
> diff --git a/package/libfuse3/libfuse3.hash b/package/libfuse3/libfuse3.hash
> new file mode 100644
> index 0000000000..5ce518e984
> --- /dev/null
> +++ b/package/libfuse3/libfuse3.hash
> @@ -0,0 +1,3 @@
> +# Locally calculated sha256 checksums
> +sha256 fcb7079a1bb4e510377b427d1c5c37c349281d498e249ae0c2379b4cf50059c2        fuse-3.9.0.tar.xz

When removing the LIBFUSE3_SOURCE variable in the mk file the download
file will be autocreated and be set to <PKG_NAME>-<PKG_VERSION>.tar.gz
here it will be: sha256
23ae036ce8beb5f2dec883ad20956adf0a3129ae55ead8ce4e246f3c1c10e4a4
libfuse3-3.9.0.tar.gz

Note: newer convention is to serparate the hashtype 2SPACE hashvalue
2xSPACE filename in the hashfile

 LIBFUSE3_SOURCE
> +sha256 b8832d9caaa075bbbd2aef24efa09f8b7ab66a832812d88c602da0c7b4397fad        LICENSE
> diff --git a/package/libfuse3/libfuse3.mk b/package/libfuse3/libfuse3.mk
> new file mode 100644
> index 0000000000..4345c16d8a
> --- /dev/null
> +++ b/package/libfuse3/libfuse3.mk
> @@ -0,0 +1,27 @@
> +################################################################################
> +#
> +# libfuse3
> +#
> +################################################################################
> +
> +LIBFUSE3_VERSION = 3.9.0

I the review is late but meanwhile version 3.9.1 is released.

> +LIBFUSE3_SOURCE = fuse-$(LIBFUSE3_VERSION).tar.xz

The <pkg>_SOURCE variable is not needed here.

> +LIBFUSE3_SITE = https://github.com/libfuse/libfuse/releases/download/fuse-$(LIBFUSE3_VERSION)

You can use the github macro here:
LIBFUSE3_SITE = $(call github,libfuse,libfuse,fuse-$(LIBFUSE3_VERSION))



> +LIBFUSE3_LICENSE = LGPL-2.1
> +LIBFUSE3_LICENSE_FILES = LICENSE
> +LIBFUSE3_INSTALL_STAGING = YES
> +LIBFUSE3_DEPENDENCIES = $(if $(BR2_PACKAGE_LIBICONV),libiconv)
> +LIBFUSE3_CONF_OPTS = \
> +       -Dexamples=false \
> +       -Dudevrulesdir=/lib/udev/rules.d \
> +       -Duseroot=false
> +
> +define LIBFUSE3_DEVICES
> +       /dev/fuse  c  666  0  0  10  229  0  0  -
> +endef
> +
> +define LIBFUSE3_PERMISSIONS
> +       /usr/bin/fusermount3 f 4755 0 0 - - - - -
> +endef
> +
> +$(eval $(meson-package))
> --
> 2.20.1
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

--
BR,
Heiko


More information about the buildroot mailing list