Signed-off-by: Khem Raj <[email protected]>
Cc: Armin Kuster <[email protected]>
---
 ...atat64-and-prlimit64-defines-on-musl.patch | 48 +++++++++++++++++++
 meta/recipes-devtools/apt/apt_2.2.2.bb        |  1 +
 2 files changed, 49 insertions(+)
 create mode 100644 
meta/recipes-devtools/apt/apt/0001-Hide-fstatat64-and-prlimit64-defines-on-musl.patch

diff --git 
a/meta/recipes-devtools/apt/apt/0001-Hide-fstatat64-and-prlimit64-defines-on-musl.patch
 
b/meta/recipes-devtools/apt/apt/0001-Hide-fstatat64-and-prlimit64-defines-on-musl.patch
new file mode 100644
index 0000000000..f1816836b5
--- /dev/null
+++ 
b/meta/recipes-devtools/apt/apt/0001-Hide-fstatat64-and-prlimit64-defines-on-musl.patch
@@ -0,0 +1,48 @@
+From e849b161ce1d87ab369b921438abcf5b3a03e186 Mon Sep 17 00:00:00 2001
+From: Khem Raj <[email protected]>
+Date: Sun, 25 Apr 2021 08:57:03 -0700
+Subject: [PATCH] Hide fstatat64 and prlimit64 defines on musl
+
+musl defines fstatat64 and prlimit64 as macros which confuses the
+seccomp sysall rewiring since there are syscalls with same names
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <[email protected]>
+---
+ methods/aptmethod.h | 12 ++++++++++--
+ 1 file changed, 10 insertions(+), 2 deletions(-)
+
+diff --git a/methods/aptmethod.h b/methods/aptmethod.h
+index bd50e80..3085aed 100644
+--- a/methods/aptmethod.h
++++ b/methods/aptmethod.h
+@@ -121,6 +121,12 @@ protected:
+       if (ctx == NULL)
+        return _error->FatalE("HttpMethod::Configuration", "Cannot init 
seccomp");
+ 
++#ifndef __GLIBC__
++#pragma push_macro("fstatat64")
++#pragma push_macro("prlimit64")
++#undef fstatat64
++#undef prlimit64
++#endif
+ #define ALLOW(what)                                                     \
+    if ((rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(what), 0))) \
+       return _error->FatalE("HttpMethod::Configuration", "Cannot allow %s: 
%s", #what, strerror(-rc));
+@@ -320,9 +326,11 @@ protected:
+        if ((rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, 
seccomp_syscall_resolve_name(custom.c_str()), 0)))
+           return _error->FatalE("aptMethod::Configuration", "Cannot allow %s: 
%s", custom.c_str(), strerror(-rc));
+       }
+-
+ #undef ALLOW
+-
++#ifndef __GLIBC__
++#pragma pop_macro("fstatat64")
++#pragma pop_macro("prlimit64")
++#endif
+       rc = seccomp_load(ctx);
+       if (rc == -EINVAL)
+       {
+-- 
+2.31.1
+
diff --git a/meta/recipes-devtools/apt/apt_2.2.2.bb 
b/meta/recipes-devtools/apt/apt_2.2.2.bb
index 7d1bce558d..27bc1c75fd 100644
--- a/meta/recipes-devtools/apt/apt_2.2.2.bb
+++ b/meta/recipes-devtools/apt/apt_2.2.2.bb
@@ -12,6 +12,7 @@ SRC_URI = "${DEBIAN_MIRROR}/main/a/apt/${BPN}_${PV}.tar.xz \
            
file://0001-CMakeLists.txt-avoid-changing-install-paths-based-on.patch \
            file://0001-srvrec-Keep-support-for-older-resolver.patch \
            file://0001-cmake-Do-not-build-po-files.patch \
+           file://0001-Hide-fstatat64-and-prlimit64-defines-on-musl.patch \
            "
 
 SRC_URI_append_class-native = " \
-- 
2.31.1

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#150912): 
https://lists.openembedded.org/g/openembedded-core/message/150912
Mute This Topic: https://lists.openembedded.org/mt/82356921/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to