diff mbox series

package/libfuse3: bump to version 3.10.5

Message ID 20210906213938.201161-1-giulio.benetti@benettiengineering.com
State Accepted
Headers show
Series package/libfuse3: bump to version 3.10.5 | expand

Commit Message

Giulio Benetti Sept. 6, 2021, 9:39 p.m. UTC
Bump libfuse3 to version 3.10.5 and remove local patch that has been
upstreamed.

Release notes:
Various improvements to make unit tests more robust.

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
---
 ...on.build-fix-wrong-.symver-detection.patch | 61 -------------------
 package/libfuse3/libfuse3.hash                |  2 +-
 package/libfuse3/libfuse3.mk                  |  2 +-
 3 files changed, 2 insertions(+), 63 deletions(-)
 delete mode 100644 package/libfuse3/0001-meson.build-fix-wrong-.symver-detection.patch

Comments

Yann E. MORIN Sept. 19, 2021, 7:15 a.m. UTC | #1
Giulio, All,

On 2021-09-06 23:39 +0200, Giulio Benetti spake thusly:
> Bump libfuse3 to version 3.10.5 and remove local patch that has been
> upstreamed.
> 
> Release notes:
> Various improvements to make unit tests more robust.
> 
> Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>

Applied to master, thanks.

It should also fix the same build failure that occurs with glibc 2.34 on
the old libfuse (pre-3).

Regards,
Yann E. MORIN.

> ---
>  ...on.build-fix-wrong-.symver-detection.patch | 61 -------------------
>  package/libfuse3/libfuse3.hash                |  2 +-
>  package/libfuse3/libfuse3.mk                  |  2 +-
>  3 files changed, 2 insertions(+), 63 deletions(-)
>  delete mode 100644 package/libfuse3/0001-meson.build-fix-wrong-.symver-detection.patch
> 
> diff --git a/package/libfuse3/0001-meson.build-fix-wrong-.symver-detection.patch b/package/libfuse3/0001-meson.build-fix-wrong-.symver-detection.patch
> deleted file mode 100644
> index da20c26f19..0000000000
> --- a/package/libfuse3/0001-meson.build-fix-wrong-.symver-detection.patch
> +++ /dev/null
> @@ -1,61 +0,0 @@
> -From 3aba09a5c56e017746c5c1652dbc845f4db7374a Mon Sep 17 00:00:00 2001
> -From: Giulio Benetti <giulio.benetti@benettiengineering.com>
> -Date: Tue, 3 Aug 2021 23:39:46 +0200
> -Subject: [PATCH] meson.build: fix wrong .symver detection
> -
> -As pointed here [1] __has_attribute() is broken for many attributes and
> -if it doesn't support the specific attribute it returns true, so we
> -can't really rely on that for this check. This lead to Buildroot
> -libfuse3 build failure [2] where that shows up with:
> -```
> -error: symver is only supported on ELF platforms
> -```
> -Indeed Microblaze doesn't support ELF since it doesn't include elfos.h,
> -but __has_attribute(symver) returns true.
> -
> -So let's substitute the #ifdef __has_attribute() with a stronger test on
> -a function foo() with __attribute__((symver ("test@TEST"))).
> -
> -[1]: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101766
> -[2]: http://autobuild.buildroot.net/results/d6c/d6cfaf2aafaeda3c12d127f6a2d2e175b25e654f/build-end.log
> -
> -Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
> ----
> - meson.build | 16 +++++++---------
> - 1 file changed, 7 insertions(+), 9 deletions(-)
> -
> -diff --git a/meson.build b/meson.build
> -index b0250ee..a7281f3 100644
> ---- a/meson.build
> -+++ b/meson.build
> -@@ -96,20 +96,18 @@ endif
> - # to have __has_attribute, then they are too old to support symver)
> - # other compilers might not have __has_attribute, but in those cases
> - # it is safe for this check to fail and for us to fallback to the old _asm_
> --# method for symver
> -+# method for symver. Anyway the attributes not supported by __has_attribute()
> -+# unfortunately return true giving a false positive. So let's try to build
> -+# using __attribute__ ((symver )) and see the result.
> - code = '''
> --#if defined __has_attribute
> --# if !__has_attribute (symver)
> --# error symver attribute not supported
> --# endif
> --#else
> --#error __has_attribute not defined, assume we do not have symver
> --#endif
> -+__attribute__ ((symver ("test@TEST")))
> -+void foo(void) {
> -+}
> - 
> - int main(void) {
> -     return 0;
> - }'''
> --if cc.compiles(code, args: [ '-O0', '-c'])
> -+if cc.compiles(code, args: [ '-O0', '-c', '-Werror'])
> -      message('Compiler supports symver attribute')
> -      add_project_arguments('-DHAVE_SYMVER_ATTRIBUTE', language: 'c')
> - else
> --- 
> -2.25.1
> -
> diff --git a/package/libfuse3/libfuse3.hash b/package/libfuse3/libfuse3.hash
> index 0414264bf8..cce2b11171 100644
> --- a/package/libfuse3/libfuse3.hash
> +++ b/package/libfuse3/libfuse3.hash
> @@ -1,3 +1,3 @@
>  # Locally calculated sha256 checksums
> -sha256  bfcb2520fd83db29e9fefd57d3abd5285f38ad484739aeee8e03fbec9b2d984a  libfuse3-3.10.4.tar.gz
> +sha256  e73f75e58da59a0e333d337c105093c496c0fd7356ef3a5a540f560697c9c4e6  libfuse3-3.10.5.tar.gz
>  sha256  b8832d9caaa075bbbd2aef24efa09f8b7ab66a832812d88c602da0c7b4397fad  LICENSE
> diff --git a/package/libfuse3/libfuse3.mk b/package/libfuse3/libfuse3.mk
> index fc747c5bfd..767382271e 100644
> --- a/package/libfuse3/libfuse3.mk
> +++ b/package/libfuse3/libfuse3.mk
> @@ -4,7 +4,7 @@
>  #
>  ################################################################################
>  
> -LIBFUSE3_VERSION = 3.10.4
> +LIBFUSE3_VERSION = 3.10.5
>  LIBFUSE3_SITE = $(call github,libfuse,libfuse,fuse-$(LIBFUSE3_VERSION))
>  LIBFUSE3_LICENSE = LGPL-2.1
>  LIBFUSE3_LICENSE_FILES = LICENSE
> -- 
> 2.25.1
> 
> _______________________________________________
> buildroot mailing list
> buildroot@lists.buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
Giulio Benetti Sept. 19, 2021, 3:13 p.m. UTC | #2
Hi Yann,

On 9/19/21 9:15 AM, Yann E. MORIN wrote:
> Giulio, All,
> 
> On 2021-09-06 23:39 +0200, Giulio Benetti spake thusly:
>> Bump libfuse3 to version 3.10.5 and remove local patch that has been
>> upstreamed.
>>
>> Release notes:
>> Various improvements to make unit tests more robust.
>>
>> Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
> 
> Applied to master, thanks.
> 
> It should also fix the same build failure that occurs with glibc 2.34 on
> the old libfuse (pre-3).

I don't understand here. There is a patch already applied for glibc 2.34 
on the old libfuse:
https://patchwork.ozlabs.org/project/buildroot/patch/20210912194057.2556882-1-fontaine.fabrice@gmail.com/

I don't understand how this version bump of libfuse3 can help. Have I 
missed something?

Kind regards
Yann E. MORIN Sept. 19, 2021, 4:25 p.m. UTC | #3
Giulio, All,

On 2021-09-19 17:13 +0200, Giulio Benetti spake thusly:
> On 9/19/21 9:15 AM, Yann E. MORIN wrote:
> >Giulio, All,
> >
> >On 2021-09-06 23:39 +0200, Giulio Benetti spake thusly:
> >>Bump libfuse3 to version 3.10.5 and remove local patch that has been
> >>upstreamed.
> >>
> >>Release notes:
> >>Various improvements to make unit tests more robust.
> >>
> >>Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
> >
> >Applied to master, thanks.
> >
> >It should also fix the same build failure that occurs with glibc 2.34 on
> >the old libfuse (pre-3).
> 
> I don't understand here. There is a patch already applied for glibc 2.34 on
> the old libfuse:
> https://patchwork.ozlabs.org/project/buildroot/patch/20210912194057.2556882-1-fontaine.fabrice@gmail.com/
> 
> I don't understand how this version bump of libfuse3 can help. Have I missed
> something?

libfuse and libfuse3 are really just the same upstream project.

The patch that Fabrice submitted on libfuse is a backport of an upstream
commit that was applied between libfuse 3.10.4 and 3.10.5.

So:

  - libfuse is fixed thanks to the backport of the upstream commit;

  - libfuse3 is fixed thanks to the version bump that includes the
    upstream commit.

But we so far had no such build failiure on libfuse3, probably because
the autobuilders have not had time yet to hit it.

Regards,
Yann E. MORIN.
Giulio Benetti Sept. 19, 2021, 7:11 p.m. UTC | #4
On 9/19/21 6:25 PM, Yann E. MORIN wrote:
> Giulio, All,
> 
> On 2021-09-19 17:13 +0200, Giulio Benetti spake thusly:
>> On 9/19/21 9:15 AM, Yann E. MORIN wrote:
>>> Giulio, All,
>>>
>>> On 2021-09-06 23:39 +0200, Giulio Benetti spake thusly:
>>>> Bump libfuse3 to version 3.10.5 and remove local patch that has been
>>>> upstreamed.
>>>>
>>>> Release notes:
>>>> Various improvements to make unit tests more robust.
>>>>
>>>> Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
>>>
>>> Applied to master, thanks.
>>>
>>> It should also fix the same build failure that occurs with glibc 2.34 on
>>> the old libfuse (pre-3).

Aaah, "It should also fix" you meant the actual patch

>>
>> I don't understand here. There is a patch already applied for glibc 2.34 on
>> the old libfuse:
>> https://patchwork.ozlabs.org/project/buildroot/patch/20210912194057.2556882-1-fontaine.fabrice@gmail.com/
>>
>> I don't understand how this version bump of libfuse3 can help. Have I missed
>> something?
> 
> libfuse and libfuse3 are really just the same upstream project.
> 
> The patch that Fabrice submitted on libfuse is a backport of an upstream
> commit that was applied between libfuse 3.10.4 and 3.10.5.
> 
> So:
> 
>    - libfuse is fixed thanks to the backport of the upstream commit;
> 
>    - libfuse3 is fixed thanks to the version bump that includes the
>      upstream commit.
> 
> But we so far had no such build failiure on libfuse3, probably because
> the autobuilders have not had time yet to hit it.

Ok, now everything is clear.

Thank you :-)

Best regards
diff mbox series

Patch

diff --git a/package/libfuse3/0001-meson.build-fix-wrong-.symver-detection.patch b/package/libfuse3/0001-meson.build-fix-wrong-.symver-detection.patch
deleted file mode 100644
index da20c26f19..0000000000
--- a/package/libfuse3/0001-meson.build-fix-wrong-.symver-detection.patch
+++ /dev/null
@@ -1,61 +0,0 @@ 
-From 3aba09a5c56e017746c5c1652dbc845f4db7374a Mon Sep 17 00:00:00 2001
-From: Giulio Benetti <giulio.benetti@benettiengineering.com>
-Date: Tue, 3 Aug 2021 23:39:46 +0200
-Subject: [PATCH] meson.build: fix wrong .symver detection
-
-As pointed here [1] __has_attribute() is broken for many attributes and
-if it doesn't support the specific attribute it returns true, so we
-can't really rely on that for this check. This lead to Buildroot
-libfuse3 build failure [2] where that shows up with:
-```
-error: symver is only supported on ELF platforms
-```
-Indeed Microblaze doesn't support ELF since it doesn't include elfos.h,
-but __has_attribute(symver) returns true.
-
-So let's substitute the #ifdef __has_attribute() with a stronger test on
-a function foo() with __attribute__((symver ("test@TEST"))).
-
-[1]: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101766
-[2]: http://autobuild.buildroot.net/results/d6c/d6cfaf2aafaeda3c12d127f6a2d2e175b25e654f/build-end.log
-
-Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
----
- meson.build | 16 +++++++---------
- 1 file changed, 7 insertions(+), 9 deletions(-)
-
-diff --git a/meson.build b/meson.build
-index b0250ee..a7281f3 100644
---- a/meson.build
-+++ b/meson.build
-@@ -96,20 +96,18 @@ endif
- # to have __has_attribute, then they are too old to support symver)
- # other compilers might not have __has_attribute, but in those cases
- # it is safe for this check to fail and for us to fallback to the old _asm_
--# method for symver
-+# method for symver. Anyway the attributes not supported by __has_attribute()
-+# unfortunately return true giving a false positive. So let's try to build
-+# using __attribute__ ((symver )) and see the result.
- code = '''
--#if defined __has_attribute
--# if !__has_attribute (symver)
--# error symver attribute not supported
--# endif
--#else
--#error __has_attribute not defined, assume we do not have symver
--#endif
-+__attribute__ ((symver ("test@TEST")))
-+void foo(void) {
-+}
- 
- int main(void) {
-     return 0;
- }'''
--if cc.compiles(code, args: [ '-O0', '-c'])
-+if cc.compiles(code, args: [ '-O0', '-c', '-Werror'])
-      message('Compiler supports symver attribute')
-      add_project_arguments('-DHAVE_SYMVER_ATTRIBUTE', language: 'c')
- else
--- 
-2.25.1
-
diff --git a/package/libfuse3/libfuse3.hash b/package/libfuse3/libfuse3.hash
index 0414264bf8..cce2b11171 100644
--- a/package/libfuse3/libfuse3.hash
+++ b/package/libfuse3/libfuse3.hash
@@ -1,3 +1,3 @@ 
 # Locally calculated sha256 checksums
-sha256  bfcb2520fd83db29e9fefd57d3abd5285f38ad484739aeee8e03fbec9b2d984a  libfuse3-3.10.4.tar.gz
+sha256  e73f75e58da59a0e333d337c105093c496c0fd7356ef3a5a540f560697c9c4e6  libfuse3-3.10.5.tar.gz
 sha256  b8832d9caaa075bbbd2aef24efa09f8b7ab66a832812d88c602da0c7b4397fad  LICENSE
diff --git a/package/libfuse3/libfuse3.mk b/package/libfuse3/libfuse3.mk
index fc747c5bfd..767382271e 100644
--- a/package/libfuse3/libfuse3.mk
+++ b/package/libfuse3/libfuse3.mk
@@ -4,7 +4,7 @@ 
 #
 ################################################################################
 
-LIBFUSE3_VERSION = 3.10.4
+LIBFUSE3_VERSION = 3.10.5
 LIBFUSE3_SITE = $(call github,libfuse,libfuse,fuse-$(LIBFUSE3_VERSION))
 LIBFUSE3_LICENSE = LGPL-2.1
 LIBFUSE3_LICENSE_FILES = LICENSE