Update fakeroot to 1.27 (#2041663)

i9ce
Sérgio M. Basto 3 years ago
parent eeed18451b
commit 2c4c391890

@ -0,0 +1,63 @@
Subject: Also wrap the "stat" library call
Author: Christoph Biedl <debian.axhn@manchmal.in-ulm.de>
Date: 2021-12-20
Bug-Debian: https://bugs.debian.org/1001961
Forwarded: Yes
Seems changes in glibc 2.33 caused the stat() function to be mapped
into a stat() library call instead of __xstat() as it used to be.
However, fakeroot does not wrap this, causing files to be reported
with the real owner, not 0 as expected.
The fix for this got a bit ugly as the abstraction in configure.ac
would not allow wrapping both "stat" and "__xstat". So enhance the
search list capabilities with an optional symbol how the wrapped
function is named internally. Also hack the parser so "stat" gets
actually probed and not mistaken for __xstat.
Using "realstat" as a symbol is not the best choice as it might be
confusing, but "statstat" seemed even worse.
--- a/configure.ac
+++ b/configure.ac
@@ -353,9 +353,13 @@
:>fakerootconfig.h.tmp
-for SEARCH in %stat f%stat l%stat f%statat %stat64 f%stat64 l%stat64 f%statat64 %mknod %mknodat; do
- FUNC=`echo $SEARCH|sed -e 's/.*%//'`
+for SEARCH in %stat s%tat@realstat f%stat l%stat f%statat %stat64 f%stat64 l%stat64 f%statat64 %mknod %mknodat; do
+ FUNC=`echo $SEARCH|sed -e 's/.*%// ; s/@.*//'`
PRE=`echo $SEARCH|sed -e 's/%.*//'`
+ SYMBOL=`echo $SEARCH|sed -e 's/.*@//'`
+ if test "$SYMBOL" = "$SEARCH" ; then
+ SYMBOL="${PRE}${FUNC}"
+ fi
FOUND=
for WRAPPED in __${PRE}x${FUNC} _${PRE}x${FUNC} __${PRE}${FUNC}13 ${PRE}${FUNC}; do
AC_CHECK_FUNCS($WRAPPED,FOUND=$WRAPPED)
@@ -366,8 +370,8 @@
dnl for WRAPPED in _${PRE}${FUNC}; do
dnl FOUND=$WRAPPED
if test -n "$FOUND"; then
- PF=[`echo ${PRE}${FUNC}| tr '[a-z]' '[A-Z]'`]
- DEFINE_WRAP=[`echo wrap_${PRE}${FUNC}| tr '[a-z]' '[A-Z]'`]
+ PF=[`echo $SYMBOL | tr '[a-z]' '[A-Z]'`]
+ DEFINE_WRAP=[`echo wrap_${SYMBOL}| tr '[a-z]' '[A-Z]'`]
DEFINE_NEXT=[`echo wrap_${FOUND}| tr '[a-z]' '[A-Z]'`]
DEFINE_ARG=[`echo wrap_${FOUND}| tr '[a-z]' '[A-Z]'`]
AC_DEFINE_UNQUOTED(WRAP_${PF}, $FOUND)
@@ -509,6 +513,12 @@
#define TMP_STAT __astat
#define NEXT_STAT_NOARG next___astat
+#define WRAP_REALSTAT __astat
+#define WRAP_REALSTAT_QUOTE __astat
+#define WRAP_REALSTAT_RAW __astat
+#define TMP_REALSTAT __astat
+#define NEXT_REALSTAT_NOARG next___astat
+
#define WRAP_LSTAT_QUOTE __astat
#define WRAP_LSTAT __astat
#define WRAP_LSTAT_RAW __astat

@ -2,8 +2,8 @@
Summary: Gives a fake root environment
Name: fakeroot
Version: 1.26
Release: 5%{?dist}
Version: 1.27
Release: 1%{?dist}
# setenv.c: LGPLv2+
# contrib/Fakeroot-Stat-1.8.8: Perl (GPL+ or Artistic)
# the rest: GPLv3+
@ -19,6 +19,9 @@ Patch4: fakeroot-inttypes.patch
Patch5: fakeroot-multilib.patch
Patch6: relax_autoconf.patch
Patch7: relax_tartest.patch
Patch8: also-wrap-stat-library-call.patch
#Patch9: fix-prototype-generation.patch
Patch10: po4a
BuildRequires: make
@ -164,6 +167,9 @@ fi
%ghost %{_libdir}/libfakeroot/libfakeroot-0.so
%changelog
* Fri Jan 28 2022 Sérgio Basto <sergio@serjux.com> - 1.27-1
- Update fakeroot to 1.27 (#2041663)
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.26-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild

1198
po4a

File diff suppressed because it is too large Load Diff

@ -2,7 +2,7 @@
+++ ./configure.ac 2021-10-03 23:54:05.659945382 +0100
@@ -1,6 +1,6 @@
dnl Process this file with autoconf to produce a configure script.
AC_INIT([fakeroot],[1.26],[clint@debian.org],[fakeroot])
AC_INIT([fakeroot],[1.27],[clint@debian.org],[fakeroot])
-AC_PREREQ([2.71])
+AC_PREREQ([2.69])
AC_CONFIG_MACRO_DIR([build-aux])

Loading…
Cancel
Save