f45925a951
Glibc 2.33 removed `_STAT_VER`. On host machines, which updated to glibc 2.33, building host-fakeroot breaks: ``` In file included from communicate.h:20, from libfakeroot.c:60: libfakeroot.c: In function ‘chown’: libfakeroot.c:99:40: error: ‘_STAT_VER’ undeclared (first use in this function) 99 | #define INT_NEXT_STAT(a,b) NEXT_STAT64(_STAT_VER,a,b) ``` The issue has been discussed on some package maintainer threads, e.g.: https://bugs.archlinux.org/task/69572 https://bugzilla.redhat.com/show_bug.cgi?id=1889862#c13 A patch series was prepared by Ilya Lipnitskiy which included two other patches not related to the glibc 2.33 compatibility issue and submitted as merge request for upstream: https://www.mail-archive.com/openwrt-devel@lists.openwrt.org/msg57280.html Upstream accepted the merge request: https://salsa.debian.org/clint/fakeroot/-/merge_requests/10 Note, that this patch series only contains the necessay patches for glibc 2.33 compatibility. Tested on my Arch Linux machine, building a UBIFS/OverlayFS-based root filesystem for an i.MX6ULL target board. Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks> Tested-by: Bartosz Bilas <b.bilas@grinn-global.com> [Peter: drop patch numbering (PATCH x/y) as pointed out by check-package] Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
46 lines
1.3 KiB
Diff
46 lines
1.3 KiB
Diff
From 03bc0ee07fb6e293d081ffd8af1654788b434f6a Mon Sep 17 00:00:00 2001
|
|
From: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
|
|
Date: Thu, 11 Feb 2021 20:59:25 -0800
|
|
Subject: [PATCH] libfakeroot.c: define _STAT_VER if not already defined
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
glibc 2.33 does does declare `_STAT_VER` anymore.
|
|
|
|
Based on patch from Jan Pazdziora:
|
|
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/SMQ3RYXEYTVZH6PLQMKNB3NM4XLPMNZO/
|
|
|
|
Backported from: feda578ca3608b7fc9a28a3a91293611c0ef47b7
|
|
|
|
Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
|
|
Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
|
|
---
|
|
libfakeroot.c | 10 ++++++++++
|
|
1 file changed, 10 insertions(+)
|
|
|
|
diff --git a/libfakeroot.c b/libfakeroot.c
|
|
index 3e80e38..14cdbc4 100644
|
|
--- a/libfakeroot.c
|
|
+++ b/libfakeroot.c
|
|
@@ -90,6 +90,16 @@
|
|
#define SEND_GET_XATTR64(a,b,c) send_get_xattr64(a,b)
|
|
#endif
|
|
|
|
+#ifndef _STAT_VER
|
|
+ #if defined (__aarch64__)
|
|
+ #define _STAT_VER 0
|
|
+ #elif defined (__x86_64__)
|
|
+ #define _STAT_VER 1
|
|
+ #else
|
|
+ #define _STAT_VER 3
|
|
+ #endif
|
|
+#endif
|
|
+
|
|
/*
|
|
These INT_* (which stands for internal) macros should always be used when
|
|
the fakeroot library owns the storage of the stat variable.
|
|
--
|
|
2.30.1
|
|
|