aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRuslan Isaev <legale.legale@gmail.com>2021-05-10 14:56:59 +0000
committerHauke Mehrtens <hauke@hauke-m.de>2021-05-23 16:10:59 +0200
commita162fe9a96fc83cb890944d40dadaf1091084f98 (patch)
tree2d0c416d20d812a9bab10693acc2addae457a5c2
parent0b0e97853a1ba4544185afb030aad81b38321c56 (diff)
downloadupstream-a162fe9a96fc83cb890944d40dadaf1091084f98.tar.gz
upstream-a162fe9a96fc83cb890944d40dadaf1091084f98.tar.bz2
upstream-a162fe9a96fc83cb890944d40dadaf1091084f98.zip
fakeroot: Alpine linux libc.musl build error fix
Prevent build error on Alpine Linux host: libfakeroot.c error: conflicting types for 'id_t' Error relocating openwrt/staging_dir/host/lib/libfakeroot.so: SEND_GET_XATTR: symbol not found Signed-off-by: Ruslan Isaev <legale.legale@gmail.com> (cherry picked from commit 7a70f78fb7da4dc3e8c58e7662f4dc623274a78b)
-rw-r--r--tools/fakeroot/patches/400-alpine-libc.musl-fix.patch34
1 files changed, 34 insertions, 0 deletions
diff --git a/tools/fakeroot/patches/400-alpine-libc.musl-fix.patch b/tools/fakeroot/patches/400-alpine-libc.musl-fix.patch
new file mode 100644
index 0000000000..619b092ca9
--- /dev/null
+++ b/tools/fakeroot/patches/400-alpine-libc.musl-fix.patch
@@ -0,0 +1,34 @@
+Alpine linux libc.musl build error fix
+
+Prevent build error on Alpine Linux host:
+libfakeroot.c error: conflicting types for 'id_t'
+Error relocating openwrt/staging_dir/host/lib/libfakeroot.so: SEND_GET_XATTR: symbol not found
+
+--- a/libfakeroot.c
++++ b/libfakeroot.c
+@@ -81,12 +81,14 @@
+ #define SEND_STAT64(a,b,c) send_stat64(a,b,c)
+ #define SEND_GET_STAT(a,b) send_get_stat(a,b)
+ #define SEND_GET_STAT64(a,b) send_get_stat64(a,b)
++#define SEND_GET_XATTR(a,b,c) send_get_xattr(a,b,c)
+ #define SEND_GET_XATTR64(a,b,c) send_get_xattr64(a,b,c)
+ #else
+ #define SEND_STAT(a,b,c) send_stat(a,b)
+ #define SEND_STAT64(a,b,c) send_stat64(a,b)
+ #define SEND_GET_STAT(a,b) send_get_stat(a)
+ #define SEND_GET_STAT64(a,b) send_get_stat64(a)
++#define SEND_GET_XATTR(a,b,c) send_get_xattr(a,b)
+ #define SEND_GET_XATTR64(a,b,c) send_get_xattr64(a,b)
+ #endif
+
+@@ -125,8 +127,9 @@
+
+ /* 10.10 uses id_t in getpriority/setpriority calls, so pretend
+ id_t is used everywhere, just happens to be int on some OSes */
+-#ifndef _ID_T
++#if !defined(_ID_T) && !defined(__DEFINED_id_t)
+ #define _ID_T
++#define __DEFINED_id_t
+ typedef int id_t;
+ #endif
+ #endif