Compare commits

...

No commits in common. "c8" and "c8-beta" have entirely different histories.
c8 ... c8-beta

3 changed files with 126 additions and 5 deletions

View File

@ -0,0 +1,60 @@
From 7ce89c695e76ec41fcebd83f8b728f63b0361a2d Mon Sep 17 00:00:00 2001
From: Renaud Metrich <rmetrich@redhat.com>
Date: Thu, 5 Oct 2023 11:17:51 +0200
Subject: [PATCH] setfacl: preserve the failed status when processing multiple
files
Resolves the following bug:
```
$ mkdir FOO
$ setfacl -m d:g:user:rwX -m g:user:rwX ./FOO/bar ./FOO
setfacl: ./FOO/bar: No such file or directory
$ echo $?
0
```
(Cleanup added while applying.)
Upstream-commit: 7ce89c695e76ec41fcebd83f8b728f63b0361a2d
---
tools/setfacl.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/tools/setfacl.c b/tools/setfacl.c
index fd0bf2e..4140276 100644
--- a/tools/setfacl.c
+++ b/tools/setfacl.c
@@ -332,7 +332,7 @@ int main(int argc, char *argv[])
{
int opt;
int saw_files = 0;
- int status = 0;
+ int status = 0, status2;
FILE *file;
int which;
int lineno;
@@ -555,7 +555,9 @@ int main(int argc, char *argv[])
goto synopsis;
saw_files = 1;
- status = next_file(optarg, seq);
+ status2 = next_file(optarg, seq);
+ if (status == 0)
+ status = status2;
break;
case 'B': /* restore ACL backup */
@@ -642,7 +644,9 @@ int main(int argc, char *argv[])
goto synopsis;
saw_files = 1;
- status = next_file(argv[optind++], seq);
+ status2 = next_file(argv[optind++], seq);
+ if (status == 0)
+ status = status2;
}
if (!saw_files)
goto synopsis;
--
2.41.0

View File

@ -0,0 +1,44 @@
From 085cc4ff56857d234e80f37d0316c13eb5718696 Mon Sep 17 00:00:00 2001
From: Kamil Dudka <kdudka@redhat.com>
Date: Tue, 3 Jul 2018 10:46:58 +0200
Subject: [PATCH] test/runwrapper: copy the preloaded library
... to a temporary directory because the original location might
not be accessible by other users.
---
test/runwrapper | 20 ++++++++++++++++++--
1 file changed, 18 insertions(+), 2 deletions(-)
diff --git a/test/runwrapper b/test/runwrapper
index 6e0e899..de4555a 100755
--- a/test/runwrapper
+++ b/test/runwrapper
@@ -1,7 +1,23 @@
#!/bin/bash
-if [ -e "$PWD/.libs/libtestlookup.so" ]; then
- export LD_PRELOAD="$PWD/.libs/libtestlookup.so"
+src="$PWD/.libs/libtestlookup.so"
+dst=
+if [ -e "$src" ]; then
+ # copy the preloaded library to a temporary directory because
+ # the original location might not be accessible by other users
+ tmp="$(mktemp -d)"
+ chmod 0755 "$tmp"
+ dst="${tmp}/libtestlookup.so"
+ cp -L "$src" "$dst"
+ export LD_PRELOAD="$dst"
fi
"${srcdir:-${PWD}}"/test/run "$@"
+ec="$?"
+
+if [ -n "$dst" ]; then
+ # remove the temporary location
+ rm -rf "$dst"
+fi
+
+exit "$ec"
--
2.14.4

View File

@ -1,9 +1,9 @@
Summary: Access control list utilities
Name: acl
Version: 2.2.53
Release: 1%{?dist}
Release: 3%{?dist}
BuildRequires: gawk
BuildRequires: gettext
BuildRequires: gettext-devel
BuildRequires: libattr-devel
BuildRequires: libtool
Requires: libacl = %{version}-%{release}
@ -12,6 +12,13 @@ Source: https://download-mirror.savannah.gnu.org/releases/acl/acl-%{version}.tar
License: GPLv2+
URL: https://savannah.nongnu.org/projects/acl
# avoid permission denied problem with LD_PRELOAD in the test-suite
Patch1: 0001-acl-2.2.53-test-runwrapper.patch
# preserve failed setfacl return code (RHEL-3909)
# https://git.savannah.nongnu.org/cgit/acl.git/commit/?id=7ce89c695e76ec41fcebd83f8b728f63b0361a2d
Patch2: 0001-acl-2.2.53-setfacl-preserve-failed-status.patch
%description
This package contains the getfacl and setfacl utilities needed for
manipulating access control lists.
@ -41,6 +48,9 @@ defined in POSIX 1003.1e draft standard 17.
%prep
%autosetup -p1
# newer autoconf fixes rpath warnings from rpminspect
autoreconf -fvi
%build
%configure
@ -48,7 +58,7 @@ defined in POSIX 1003.1e draft standard 17.
# sed -i 's/-O2/-O0/' libtool include/builddefs
# unset CFLAGS
make %{?_smp_mflags}
%make_build
%check
if ./setfacl -m "u:$(id -u):rwx" .; then
@ -69,14 +79,14 @@ if ./setfacl -m "u:$(id -u):rwx" .; then
fi
# run the upstream test-suite
make check || exit $?
%make_build check || exit $?
else
echo '*** ACLs are probably not supported by the file system,' \
'the test-suite will NOT run ***'
fi
%install
make install DESTDIR=$RPM_BUILD_ROOT
%make_install
# get rid of libacl.a and libacl.la
rm -f $RPM_BUILD_ROOT%{_libdir}/libacl.a
@ -113,6 +123,13 @@ rm -rf $RPM_BUILD_ROOT%{_docdir}/%{name}*
%{_libdir}/libacl.so.*
%changelog
* Fri Oct 06 2023 Lukáš Zaoral <lzaoral@redhat.com> - 2.2.53-3
- fix RPATH rpminspect reports
- actually apply an included patch
* Fri Oct 06 2023 Lukáš Zaoral <lzaoral@redhat.com> - 2.2.53-2
- preserve failed setfacl return code (RHEL-3909)
* Mon Jul 02 2018 Kamil Dudka <kdudka@redhat.com> 2.2.53-1
- new upstream release