diff mbox series

[1/1] package/libfuse3: new package

Message ID 20200111102523.22026-1-asafka7@gmail.com
State Superseded
Headers show
Series [1/1] package/libfuse3: new package | expand

Commit Message

Asaf Kahlon Jan. 11, 2020, 10:25 a.m. UTC
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@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

Comments

Heiko Thiery April 17, 2020, 11:53 a.m. UTC | #1
Hi Asaf,

I have some comments below.

Am Sa., 11. Jan. 2020 um 11:26 Uhr schrieb Asaf Kahlon <asafka7@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@gmail.com>

Reviewed-by: Heiko Thiery <heiko.thiery@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@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@busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

--
BR,
Heiko
Asaf Kahlon April 17, 2020, 1:08 p.m. UTC | #2
Hello Heiko,

On Fri, Apr 17, 2020 at 2:53 PM Heiko Thiery <heiko.thiery@gmail.com> wrote:
>
> Hi Asaf,
>
> I have some comments below.

Thanks for reviewing this patch!
I'm really looking forward for this package.
>
> Am Sa., 11. Jan. 2020 um 11:26 Uhr schrieb Asaf Kahlon <asafka7@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@gmail.com>
>
> Reviewed-by: Heiko Thiery <heiko.thiery@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@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
That's right.
Unfortunately, it was a very long time ago and I really can't remember why I
chose to use the tar.xz format and not the default one supported by Buildroot.
Anyway, it seems to work and I'll update it on v2.

>
> Note: newer convention is to serparate the hashtype 2SPACE hashvalue
> 2xSPACE filename in the hashfile
You're right, will be fixed in v2.

>
>  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.
Correct, I'll bump it on v2.

>
> > +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@busybox.net
> > http://lists.busybox.net/mailman/listinfo/buildroot
>
> --
> BR,
> Heiko
Thanks,
Asaf.
diff mbox series

Patch

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@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
+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
+LIBFUSE3_SOURCE = fuse-$(LIBFUSE3_VERSION).tar.xz
+LIBFUSE3_SITE = https://github.com/libfuse/libfuse/releases/download/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))