diff mbox series

package/file: fix musl compile issue

Message ID Zs1XglvC1GPvEr4K@waldemar-brodkorb.de
State Changes Requested
Headers show
Series package/file: fix musl compile issue | expand

Commit Message

Waldemar Brodkorb Aug. 27, 2024, 4:35 a.m. UTC
Since the update of musl to 1.2.5 in commit
f7f03445cf320adbbc41270a806b38c911d3454a find no longer compiles.

Add a patch from Gentoo people, also reported Upstream to fix the
issue.

Fixes:

 http://autobuild.buildroot.org/results/abf/abfe66cec3680d396c5774ba492f34599e513edc/

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
---
 .../0001-file-seccomp-fstatat64-musl.patch    | 32 +++++++++++++++++++
 1 file changed, 32 insertions(+)
 create mode 100644 package/file/0001-file-seccomp-fstatat64-musl.patch

Comments

Thomas Petazzoni Aug. 27, 2024, 4:17 p.m. UTC | #1
Hello,

On Tue, 27 Aug 2024 06:35:14 +0200
Waldemar Brodkorb <wbx@openadk.org> wrote:

> Since the update of musl to 1.2.5 in commit
> f7f03445cf320adbbc41270a806b38c911d3454a find no longer compiles.

Thanks a lot, but that explanation cannot be correct. The Gentoo issue
at https://bugs.gentoo.org/789336 is discussed since 2021, and the bug
report at https://bugs.astron.com/view.php?id=473 is from 2023... but
musl 1.2.5 was only tagged in February 2024.

In addition, if you look at:

  http://autobuild.buildroot.net/?reason=file%&libc=musl

(and click on "Next" to see the next results), you can see that the
issue has been occurring since 2022-01-25, with the first failure being:

  http://autobuild.buildroot.net/results/0ef/0ef268f01541c3ef40d5570a443fec9dbd61c62f/build-end.log

Is it the bump of file to version 5.41 in commit
d38b72bcd75392a88b5100839ac410859d0a6a79 that triggered the issue? This
change was committed on Jan 1, 2022, but the issue first occurred on
Jan 25, 2022. It feels a bit strange that it took 25 days for the issue
to show up in the autobuilders, with such a simple package with no
dependencies.

I also see no musl version bump around that time.

Conclusion: I don't know what started the breakage, but it's not the
bump to musl 1.2.5. In this kind of cases, I think it's fine to state
that the breakage has been occurring for as long as Jan 2022, which
provides enough information to allow us to know that the fix should be
backported to 2024.02.x.

Indeed, with your justification, we would have *NOT* backported the fix
to 2024.02.x, because 2024.02.x uses musl 1.2.4. Hopefully this
illustrates why the investigation of the root cause is an important
matter :-)

Thanks a lot!

Thomas
diff mbox series

Patch

diff --git a/package/file/0001-file-seccomp-fstatat64-musl.patch b/package/file/0001-file-seccomp-fstatat64-musl.patch
new file mode 100644
index 0000000000..ecb12fe44e
--- /dev/null
+++ b/package/file/0001-file-seccomp-fstatat64-musl.patch
@@ -0,0 +1,32 @@ 
+From 8c13923a8e17a02be0989649b2edc20124816729 Mon Sep 17 00:00:00 2001
+From: Mike Gilbert <floppym@gentoo.org>
+Date: Tue, 15 Jun 2021 16:08:22 -0400
+Subject: [PATCH] seccomp: undef fstatat64 to avoid build failure on musl
+
+sys/stat.h in musl does this:
+
+  #define fstatat64 fstatat
+
+Counteract this with an #undef.
+
+Bug: https://bugs.gentoo.org/789336
+Bug: https://bugs.astron.com/view.php?id=473
+Signed-off-by: Mike Gilbert <floppym@gentoo.org>
+Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
+Upstream: N/A under discussion
+---
+ src/seccomp.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/seccomp.c b/src/seccomp.c
+index 5a39ee45..d2a1139a 100644
+--- a/src/seccomp.c
++++ b/src/seccomp.c
+@@ -205,6 +205,7 @@ enable_sandbox_full(void)
+ #endif
+  	ALLOW_RULE(fstat64);
+ #ifdef __NR_fstatat64
++#undef fstatat64
+ 	ALLOW_RULE(fstatat64);
+ #endif
+ 	ALLOW_RULE(futex);