Package: fakeroot Version: 1.27-1 Severity: important Tags: patch Hello,
When redirecting the xstat functions, fakeroot is passing _STAT_VER but it assumes it should pass the Linux values, making it unusable on non-Linux. The attached patch fixes it by checking for __linux__, and add the GNU/Hurd case. Samuel -- System Information: Debian Release: bookworm/sid APT prefers testing APT policy: (990, 'testing'), (500, 'unstable-debug'), (500, 'testing-debug'), (500, 'stable-security'), (500, 'stable-debug'), (500, 'proposed-updates-debug'), (500, 'proposed-updates'), (500, 'oldstable-proposed-updates-debug'), (500, 'oldstable-proposed-updates'), (500, 'oldoldstable'), (500, 'buildd-unstable'), (500, 'unstable'), (500, 'stable'), (500, 'oldstable'), (1, 'experimental-debug'), (1, 'buildd-experimental'), (1, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 5.16.0 (SMP w/8 CPU threads; PREEMPT) Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8), LANGUAGE not set Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages fakeroot depends on: ii libc6 2.33-6 ii libfakeroot 1.27-1 fakeroot recommends no packages. fakeroot suggests no packages. -- no debconf information
Index: fakeroot-1.27/libfakeroot.c =================================================================== --- fakeroot-1.27.orig/libfakeroot.c +++ fakeroot-1.27/libfakeroot.c @@ -96,18 +96,22 @@ #endif #ifndef _STAT_VER - #if defined (__aarch64__) - #define _STAT_VER 0 - #elif defined (__powerpc__) && __WORDSIZE == 64 - #define _STAT_VER 1 - #elif defined (__riscv) && __riscv_xlen==64 - #define _STAT_VER 0 - #elif defined (__s390x__) - #define _STAT_VER 1 - #elif defined (__x86_64__) - #define _STAT_VER 1 - #else - #define _STAT_VER 3 + #if defined __linux__ + #if defined (__aarch64__) + #define _STAT_VER 0 + #elif defined (__powerpc__) && __WORDSIZE == 64 + #define _STAT_VER 1 + #elif defined (__riscv) && __riscv_xlen==64 + #define _STAT_VER 0 + #elif defined (__s390x__) + #define _STAT_VER 1 + #elif defined (__x86_64__) + #define _STAT_VER 1 + #else + #define _STAT_VER 3 + #endif + #elif defined __GNU__ + #define _STAT_VER 0 #endif #endif