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