Accepting request 1178749 from devel:tools

OBS-URL: https://build.opensuse.org/request/show/1178749
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/fakeroot?expand=0&rev=15
This commit is contained in:
Ana Guerrero 2024-06-06 10:32:56 +00:00 committed by Git OBS Bridge
commit 97a4667f74
5 changed files with 39 additions and 72 deletions

View File

@ -1,63 +0,0 @@
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

View File

@ -1,3 +1,25 @@
-------------------------------------------------------------------
Wed Jun 5 08:01:21 UTC 2024 - Ana Guerrero <ana.guerrero@suse.com>
- Update to 1.34
* faked now ignores SIGWINCH.
- Update to 1.33
* Patch from Samuel Thibault to add renameat2 support.
- Update to 1.32
* Updated German translation from Chris Leick.
* Patch from John Paul Adrian Glaubitz to add build profile to
allow bootstrapping.
* Romanian man page translation from Remus-Gabriel Chelu.
* patch from Rudi Heitbaum to add missing wrapped.h dependency.
- Update to 1.31
* patch from Johannes Schauer Marin Rodrigues to not use
temporary file in chown test.
- Update to 1.30
* tries to cope with time64 on 32-bit architectures.
* Drop kludge for glibc 2.33.
* fixes and extends time64 support to fstatat64.
- Remove patch also-wrap-stat-library-call.patch
-------------------------------------------------------------------
Thu Sep 1 11:20:13 UTC 2022 - Thorsten Kukuk <kukuk@suse.com>

View File

@ -1,7 +1,7 @@
#
# spec file for package fakeroot
#
# Copyright (c) 2022 SUSE LLC
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -17,7 +17,7 @@
Name: fakeroot
Version: 1.29
Version: 1.34
Release: 0
Summary: Wrapper that gives a fake root environment
License: GPL-3.0-or-later
@ -27,8 +27,6 @@ Source0: http://ftp.debian.org/debian/pool/main/f/fakeroot/%{name}_%{vers
Source99: baselibs.conf
# PATCH-FIX-UPSTREAM fakeroot-1.21-fix-shell-in-fakeroot.patch (deb#828810)
Patch0: fakeroot-1.21-fix-shell-in-fakeroot
#PATCH-FIX-UPSTREAM also-wrap-stat-library-call.patch (deb#1001961)
Patch1: also-wrap-stat-library-call.patch
BuildRequires: autoconf >= 2.71
BuildRequires: automake
BuildRequires: fdupes
@ -43,7 +41,7 @@ BuildRequires: po4a
BuildRequires: sharutils
BuildRequires: user(daemon)
Requires(post): update-alternatives
Requires(preun):update-alternatives
Requires(preun): update-alternatives
%description
fakeroot runs a command in an environment wherein it appears to have
@ -94,7 +92,7 @@ ln -sf faked-sysv %{buildroot}%{_bindir}/faked
ln -sf fakeroot-sysv %{buildroot}%{_bindir}/fakeroot
ln -sf faked-sysv.1.gz %{buildroot}%{_mandir}/man1/faked.1.gz
ln -sf fakeroot-sysv.1.gz %{buildroot}%{_mandir}/man1/fakeroot.1.gz
for i in de es fr nl pt sv; do
for i in de es fr nl pt ro sv; do
ln -sf faked-sysv.1.gz %{buildroot}%{_mandir}/$i/man1/faked.1.gz
ln -sf fakeroot-sysv.1.gz %{buildroot}%{_mandir}/$i/man1/fakeroot.1.gz
done
@ -121,6 +119,8 @@ done
--slave %{_mandir}/nl/man1/faked.1.gz faked.nl.1.gz %{_mandir}/nl/man1/faked-sysv.1.gz \
--slave %{_mandir}/pt/man1/fakeroot.1.gz fakeroot.pt.1.gz %{_mandir}/pt/man1/fakeroot-sysv.1.gz \
--slave %{_mandir}/pt/man1/faked.1.gz faked.pt.1.gz %{_mandir}/pt/man1/faked-sysv.1.gz \
--slave %{_mandir}/ro/man1/fakeroot.1.gz fakeroot.ro.1.gz %{_mandir}/ro/man1/fakeroot-sysv.1.gz \
--slave %{_mandir}/ro/man1/faked.1.gz faked.ro.1.gz %{_mandir}/ro/man1/faked-sysv.1.gz \
--slave %{_mandir}/sv/man1/fakeroot.1.gz fakeroot.sv.1.gz %{_mandir}/sv/man1/fakeroot-sysv.1.gz \
--slave %{_mandir}/sv/man1/faked.1.gz faked.sv.1.gz %{_mandir}/sv/man1/faked-sysv.1.gz
@ -138,6 +138,8 @@ done
--slave %{_mandir}/nl/man1/faked.1.gz faked.nl.1.gz %{_mandir}/nl/man1/faked-tcp.1.gz \
--slave %{_mandir}/pt/man1/fakeroot.1.gz fakeroot.pt.1.gz %{_mandir}/pt/man1/fakeroot-tcp.1.gz \
--slave %{_mandir}/pt/man1/faked.1.gz faked.pt.1.gz %{_mandir}/pt/man1/faked-tcp.1.gz \
--slave %{_mandir}/ro/man1/fakeroot.1.gz fakeroot.ro.1.gz %{_mandir}/ro/man1/fakeroot-tcp.1.gz \
--slave %{_mandir}/ro/man1/faked.1.gz faked.ro.1.gz %{_mandir}/ro/man1/faked-tcp.1.gz \
--slave %{_mandir}/sv/man1/fakeroot.1.gz fakeroot.sv.1.gz %{_mandir}/sv/man1/fakeroot-tcp.1.gz \
--slave %{_mandir}/sv/man1/faked.1.gz faked.sv.1.gz %{_mandir}/sv/man1/faked-tcp.1.gz
@ -169,6 +171,8 @@ fi
%dir %{_mandir}/nl/man1/
%dir %{_mandir}/pt/
%dir %{_mandir}/pt/man1/
%dir %{_mandir}/ro/
%dir %{_mandir}/ro/man1/
%dir %{_mandir}/sv/
%dir %{_mandir}/sv/man1/
%ghost %lang(de) %{_mandir}/de/man1/faked.1%{ext_man}
@ -191,6 +195,10 @@ fi
%ghost %lang(pt) %{_mandir}/pt/man1/fakeroot.1%{ext_man}
%lang(pt) %{_mandir}/pt/man1/faked-*.1%{ext_man}
%lang(pt) %{_mandir}/pt/man1/fakeroot-*.1%{ext_man}
%ghost %lang(ro) %{_mandir}/ro/man1/faked.1%{ext_man}
%ghost %lang(ro) %{_mandir}/ro/man1/fakeroot.1%{ext_man}
%lang(ro) %{_mandir}/ro/man1/faked-*.1%{ext_man}
%lang(ro) %{_mandir}/ro/man1/fakeroot-*.1%{ext_man}
%ghost %lang(sv) %{_mandir}/sv/man1/faked.1%{ext_man}
%ghost %lang(sv) %{_mandir}/sv/man1/fakeroot.1%{ext_man}
%lang(sv) %{_mandir}/sv/man1/faked-*.1%{ext_man}

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8fbbafb780c9173e3ace4a04afbc1d900f337f3216883939f5c7db3431be7c20
size 549383

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5727f16d8903792588efa7a9f8ef8ce71f8756e746b62e45162e7735662e56bb
size 571338