From 32ebc28b62cc81247e6f9a67dc2eca3fa33b1668 Mon Sep 17 00:00:00 2001 From: MSVSphere Packaging Team Date: Tue, 26 Nov 2024 15:30:35 +0300 Subject: [PATCH] import acl-2.3.2-3.el10 --- .acl.metadata | 2 + .gitignore | 2 + SOURCES/0001-acl-2.2.53-test-runwrapper.patch | 44 ++ ..._acl_get_uid-fix-memory-wasting-loop.patch | 46 ++ ....3.2-tests-fix-getpwnam-and-getgrnam.patch | 62 ++ SOURCES/vapier-key.gpg | 724 ++++++++++++++++++ SPECS/acl.spec | 544 +++++++++++++ 7 files changed, 1424 insertions(+) create mode 100644 .acl.metadata create mode 100644 .gitignore create mode 100644 SOURCES/0001-acl-2.2.53-test-runwrapper.patch create mode 100644 SOURCES/0001-acl-2.3.2-__acl_get_uid-fix-memory-wasting-loop.patch create mode 100644 SOURCES/0001-acl-2.3.2-tests-fix-getpwnam-and-getgrnam.patch create mode 100644 SOURCES/vapier-key.gpg create mode 100644 SPECS/acl.spec diff --git a/.acl.metadata b/.acl.metadata new file mode 100644 index 0000000..3af4537 --- /dev/null +++ b/.acl.metadata @@ -0,0 +1,2 @@ +5de165db26d8f03cebf26fd70cff294e0af925df SOURCES/acl-2.3.2.tar.gz +435fd1e3945356e9f5d75bcf97981bb82990da70 SOURCES/acl-2.3.2.tar.gz.sig diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..50f51f0 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +SOURCES/acl-2.3.2.tar.gz +SOURCES/acl-2.3.2.tar.gz.sig diff --git a/SOURCES/0001-acl-2.2.53-test-runwrapper.patch b/SOURCES/0001-acl-2.2.53-test-runwrapper.patch new file mode 100644 index 0000000..7c27c6c --- /dev/null +++ b/SOURCES/0001-acl-2.2.53-test-runwrapper.patch @@ -0,0 +1,44 @@ +From 085cc4ff56857d234e80f37d0316c13eb5718696 Mon Sep 17 00:00:00 2001 +From: Kamil Dudka +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 + diff --git a/SOURCES/0001-acl-2.3.2-__acl_get_uid-fix-memory-wasting-loop.patch b/SOURCES/0001-acl-2.3.2-__acl_get_uid-fix-memory-wasting-loop.patch new file mode 100644 index 0000000..a7267b7 --- /dev/null +++ b/SOURCES/0001-acl-2.3.2-__acl_get_uid-fix-memory-wasting-loop.patch @@ -0,0 +1,46 @@ +From 56abe432b65801f31277fb9a3bca0f9e31502315 Mon Sep 17 00:00:00 2001 +From: Matthias Gerstner +Date: Thu, 25 Apr 2024 12:43:49 +0200 +Subject: [PATCH] libmisc: __acl_get_uid(): fix memory wasting loop if user + does not exist + +I noticed that `acl_from_text()` unexpectedly returns ENOMEM for invalid +user names. The reason for this is a missing break statement in the for +loop in `__acl_get_uid()`, which causes the loop to act as if ERANGE was +returned from `getpwnam_r()`, thereby exponentially increasing the +buffer size to (in my case) multiple gigabytes, until `grow_buffer()` +reports ENOMEM, which terminates the `__acl_get_uid()` function. + +This is a pretty costly "no such user" lookup that can disturb a +process's heap memory management, but can also cause a process to fail +e.g. if it is multithreaded and other threads encounter an ENOMEM, +before `__acl_get_uid()` frees the gigantic heap buffer and returns. +The allocated memory isn't actually used. Therefore on Linux it should +not affect other processes by default, due to its overcommit memory +and lazy memory allocation strategy. + +Fix this by properly terminating the for loop on any conditions except +an ERANGE error being reported. The same break statement correctly +exists in `__acl_get_gid()` already. + +Fixes: 3737f00 ("use thread-safe getpwnam_r and getgrnam_r") +Signed-off-by: Andreas Gruenbacher +--- + libmisc/uid_gid_lookup.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/libmisc/uid_gid_lookup.c b/libmisc/uid_gid_lookup.c +index a4f21f6..74baab4 100644 +--- a/libmisc/uid_gid_lookup.c ++++ b/libmisc/uid_gid_lookup.c +@@ -91,6 +91,7 @@ __acl_get_uid(const char *token, uid_t *uid_p) + if (err == ERANGE) + continue; + errno = err ? err : EINVAL; ++ break; + } + free(buffer); + return result ? 0 : -1; +-- +2.45.2 + diff --git a/SOURCES/0001-acl-2.3.2-tests-fix-getpwnam-and-getgrnam.patch b/SOURCES/0001-acl-2.3.2-tests-fix-getpwnam-and-getgrnam.patch new file mode 100644 index 0000000..8073b7c --- /dev/null +++ b/SOURCES/0001-acl-2.3.2-tests-fix-getpwnam-and-getgrnam.patch @@ -0,0 +1,62 @@ +From 99ed23222f315d1a6efbc240db3ff4ed04db99c6 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Zaoral?= +Date: Mon, 10 Jun 2024 16:28:22 +0200 +Subject: [PATCH] tests: fix getpwnam and getgrnam +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The calls to these functions would always fail because the size of the buffer +was smaller than the minimum (170000) specified in the test implementations +of getgrnam_r and getpwnam_r. Use test_get*_match directly because getpwnam +and getgrnam should never fail on ERANGE. + +This commit fixes the following failure in the test/root/restore.test test: + +[21] $ chown bin passwd -- failed +chown: invalid user: ‘bin’ != ~ + +Fixes: 3737f000d3f17cd283f51eeacac21a71a3472053 ("use thread-safe getpwnam_r and getgrnam_r") +--- + test/test_group.c | 2 +- + test/test_passwd.c | 4 ++-- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/test/test_group.c b/test/test_group.c +index 96dd612..42d6b07 100644 +--- a/test/test_group.c ++++ b/test/test_group.c +@@ -136,7 +136,7 @@ struct group *getgrnam(const char *name) + static struct group grp; + struct group *result; + +- (void) getgrnam_r(name, &grp, buf, sizeof(buf), &result); ++ (void) test_getgr_match(&grp, buf, sizeof buf, &result, match_name, name); + return result; + } + +diff --git a/test/test_passwd.c b/test/test_passwd.c +index b88ea45..ebe9dce 100644 +--- a/test/test_passwd.c ++++ b/test/test_passwd.c +@@ -117,7 +117,7 @@ int getpwnam_r(const char *name, struct passwd *pwd, char *buf, size_t buflen, + *result = NULL; + return ERANGE; + } +- last_buflen =- 1; ++ last_buflen = -1; + + return test_getpw_match(pwd, buf, buflen, result, match_name, name); + } +@@ -129,7 +129,7 @@ struct passwd *getpwnam(const char *name) + static struct passwd pwd; + struct passwd *result; + +- (void) getpwnam_r(name, &pwd, buf, sizeof(buf), &result); ++ (void) test_getpw_match(&pwd, buf, sizeof(buf), &result, match_name, name); + return result; + } + +-- +2.45.2 + diff --git a/SOURCES/vapier-key.gpg b/SOURCES/vapier-key.gpg new file mode 100644 index 0000000..1beefff --- /dev/null +++ b/SOURCES/vapier-key.gpg @@ -0,0 +1,724 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v2.0.22 (GNU/Linux) + +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 +XkRSpu2IWY1HGR7q3i8hJf2o4Offzthpuc2ezw== +=BP++ +-----END PGP PUBLIC KEY BLOCK----- \ No newline at end of file diff --git a/SPECS/acl.spec b/SPECS/acl.spec new file mode 100644 index 0000000..f398ed8 --- /dev/null +++ b/SPECS/acl.spec @@ -0,0 +1,544 @@ +Summary: Access control list utilities +Name: acl +Version: 2.3.2 +Release: 3%{?dist} +BuildRequires: gawk +BuildRequires: gcc +BuildRequires: gettext +BuildRequires: libattr-devel +BuildRequires: libtool +BuildRequires: make +BuildRequires: perl(FileHandle) +BuildRequires: gnupg2 +Requires: libacl%{?_isa} = %{version}-%{release} +Source0: https://download-mirror.savannah.gnu.org/releases/acl/acl-%{version}.tar.gz +Source1: https://download-mirror.savannah.gnu.org/releases/acl/acl-%{version}.tar.gz.sig +# Retreived from https://savannah.nongnu.org/people/viewgpg.php?user_id=15000 +# Source2: agruen-key.gpg +# Retrieved from https://savannah.nongnu.org/people/viewgpg.php?user_id=42032 +Source2: vapier-key.gpg + +# avoid permission denied problem with LD_PRELOAD in the test-suite +Patch1: 0001-acl-2.2.53-test-runwrapper.patch + +# fix regressions introduced by the `libacl: use getpwnam_r and getgrnam_r in acl_from_text.c` patch +# https://git.savannah.nongnu.org/cgit/acl.git/commit/?id=56abe432b65801f31277fb9a3bca0f9e31502315 +Patch2: 0001-acl-2.3.2-__acl_get_uid-fix-memory-wasting-loop.patch +# https://lists.nongnu.org/archive/html/acl-devel/2024-06/msg00000.html +Patch3: 0001-acl-2.3.2-tests-fix-getpwnam-and-getgrnam.patch + +License: GPL-2.0-or-later AND LGPL-2.1-or-later +URL: https://savannah.nongnu.org/projects/acl + +%description +This package contains the getfacl and setfacl utilities needed for +manipulating access control lists. + +%package -n libacl +Summary: Dynamic library for access control list support +License: LGPL-2.1-or-later +Conflicts: filesystem < 3 + +%description -n libacl +This package contains the libacl.so dynamic library which contains +the POSIX 1003.1e draft standard 17 functions for manipulating access +control lists. + +%package -n libacl-devel +Summary: Files needed for building programs with libacl +License: LGPL-2.1-or-later +Requires: libacl%{?_isa} = %{version}-%{release}, libattr-devel + +%description -n libacl-devel +This package contains header files and documentation needed to develop +programs which make use of the access control list programming interface +defined in POSIX 1003.1e draft standard 17. + +%prep +%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}' +%autosetup -p1 + +%build +%configure + +# uncomment to turn on optimizations +# sed -i 's/-O2/-O0/' libtool include/builddefs +# unset CFLAGS + +%make_build + +%check +# make the test-suite use the just built library (instead of the system one) +export LD_LIBRARY_PATH="${RPM_BUILD_ROOT}%{_libdir}:${LD_LIBRARY_PATH}" + +if ./setfacl -m "u:$(id -u):rwx" .; then + if test 0 = "$(id -u)"; then + # test/root/permissions.test requires the 'daemon' user to be a member + # of the 'bin' group in order not to fail. Prevent the test from + # running if we detect that its requirements are not met (#1085389). + if id -nG daemon | { ! grep bin >/dev/null; }; then + sed -e 's|test/root/permissions.test||' \ + -i test/Makemodule.am Makefile.in Makefile + fi + + # test/root/setfacl.test fails if 'bin' user cannot access build dir + if ! runuser -u bin -- "${PWD}/setfacl" --version; then + sed -e 's|test/root/setfacl.test||' \ + -i test/Makemodule.am Makefile.in Makefile + fi + fi + + # run the upstream test-suite + %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 + +# get rid of libacl.a and libacl.la +rm -f $RPM_BUILD_ROOT%{_libdir}/libacl.a +rm -f $RPM_BUILD_ROOT%{_libdir}/libacl.la + +chmod 0755 $RPM_BUILD_ROOT/%{_libdir}/libacl.so.*.*.* + +# drop already installed documentation, we will use an RPM macro to install it +rm -rf $RPM_BUILD_ROOT%{_docdir}/%{name}* + +%find_lang %{name} + +%ldconfig_scriptlets -n libacl + +%files -f %{name}.lang +%license doc/COPYING* +%{_bindir}/chacl +%{_bindir}/getfacl +%{_bindir}/setfacl +%{_mandir}/man1/chacl.1* +%{_mandir}/man1/getfacl.1* +%{_mandir}/man1/setfacl.1* +%{_mandir}/man5/acl.5* + +%files -n libacl-devel +%{_libdir}/libacl.so +%{_libdir}/pkgconfig/*.pc +%{_includedir}/acl +%{_includedir}/sys/acl.h +%{_mandir}/man3/acl_* + +%files -n libacl +%{_libdir}/libacl.so.* + +%changelog +* Fri Jul 19 2024 Lukáš Zaoral - 2.3.2-3 +- fix regressions caused by the get{gr,pw}nam_r patch (RHEL-40603) + +* Mon Jun 24 2024 Troy Dawson - 2.3.2-2 +- Bump release for June 2024 mass rebuild + +* Wed Jan 24 2024 Lukáš Zaoral - 2.3.2-1 +- rebase to latest version (rhbz#2260000) + +* Mon Jan 22 2024 Fedora Release Engineering - 2.3.1-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Jan 19 2024 Fedora Release Engineering - 2.3.1-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Dec 01 2023 Lukáš Zaoral - 2.3.1-11 +- make acl compatible with -D_FORTIFY_SOURCE=3 (rhbz#2249839) + +* Fri Oct 06 2023 Lukáš Zaoral - 2.3.1-10 +- preserve failed setfacl return code (RHEL-3909) +- make the license tag more precise + +* Mon Sep 11 2023 Temuri Doghonadze - 2.3.1-9 +- Backport Georgian locale from git +- Note, it will not be needed after release of new version of acl + +* Wed Jul 19 2023 Fedora Release Engineering - 2.3.1-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Tue Mar 14 2023 Lukáš Zaoral - 2.3.1-7 +- migrated to SPDX license + +* Thu Jan 26 2023 Lukáš Zaoral - 2.3.1-6 +- acl is not yet compatible with -D_FORTIFY_SOURCE=3 + +* Wed Jan 18 2023 Fedora Release Engineering - 2.3.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Wed Jul 20 2022 Fedora Release Engineering - 2.3.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Wed Jan 19 2022 Fedora Release Engineering - 2.3.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Wed Jul 21 2021 Fedora Release Engineering - 2.3.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Tue Mar 16 2021 Kamil Dudka - 2.3.1-1 +- new upstream release + +* Fri Mar 12 2021 Kamil Dudka - 2.3.0-1 +- new upstream release + +* Mon Jan 25 2021 Fedora Release Engineering - 2.2.53-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Mon Aug 31 2020 Kamil Dudka 2.2.53-9 +- make __acl_create_entry_obj() work with LTO enabled (#1873975) + +* Fri Jul 31 2020 Fedora Release Engineering - 2.2.53-8 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Mon Jul 27 2020 Fedora Release Engineering - 2.2.53-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Jun 03 2020 Tom Stellard - 2.2.53-6 +- Spec file cleanups and build fix +- Add BuildRequires: perl-FileHandle to fix make check +- Add BuildRequres: gcc [1] +- Use make_build [2] and make_install[3] macros +- [1] https://docs.fedoraproject.org/en-US/packaging-guidelines/C_and_C++/#_buildrequires_and_requires +- [2] https://docs.fedoraproject.org/en-US/packaging-guidelines/#_parallel_make +- [3] https://docs.fedoraproject.org/en-US/packaging-guidelines/#_why_the_makeinstall_macro_should_not_be_used + +* Tue Jan 28 2020 Fedora Release Engineering - 2.2.53-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Wed Jul 24 2019 Fedora Release Engineering - 2.2.53-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Thu Jan 31 2019 Fedora Release Engineering - 2.2.53-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Thu Jul 12 2018 Fedora Release Engineering - 2.2.53-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Mon Jul 02 2018 Kamil Dudka 2.2.53-1 +- new upstream release + +* Tue Mar 13 2018 Kamil Dudka 2.2.52-21 +- update link to POSIX.1e draft in acl(5) man page (#1510527) + +* Wed Feb 07 2018 Fedora Release Engineering - 2.2.52-20 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Sun Feb 04 2018 Igor Gnatenko - 2.2.52-19 +- Switch to %%ldconfig_scriptlets + +* Wed Aug 02 2017 Fedora Release Engineering - 2.2.52-18 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 2.2.52-17 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Mon Jul 24 2017 Kamil Dudka 2.2.52-16 +- fix test-suite failure with perl-5.26.0 (#1473845) +- update URL of the upstream source tarball + +* Thu May 18 2017 Kamil Dudka 2.2.52-15 +- setfacl.1: document the meaning of '-' in perms (#1337039) +- avoid failure of %%check when building as root (#1085389) +- apply patches automatically to ease maintenance + +* Wed May 17 2017 Kamil Dudka 2.2.52-14 +- drop obsolete BuildRoot and Group tags +- fix spurious acl_check() failure on setfacl --restore (#1451826) + +* Fri Feb 10 2017 Fedora Release Engineering - 2.2.52-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Fri Feb 03 2017 Kamil Dudka 2.2.52-12 +- update project URL (#1418474) + +* Wed Feb 03 2016 Fedora Release Engineering - 2.2.52-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Fri Aug 14 2015 Adam Jackson 2.2.52-10 +- Remove bizarre 12 year old libtool invocation workaround that prevented + hardened cflags working + +* Tue Jun 16 2015 Fedora Release Engineering - 2.2.52-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Sat Feb 21 2015 Till Maas - 2.2.52-8 +- Rebuilt for + https://fedoraproject.org/wiki/Changes/Harden_all_packages_with_position-independent_code + +* Fri Aug 15 2014 Fedora Release Engineering - 2.2.52-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Fri Jul 11 2014 Tom Callaway - 2.2.52-6 +- tag licenses properly + +* Sat Jun 07 2014 Fedora Release Engineering - 2.2.52-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Fri Nov 01 2013 Kamil Dudka 2.2.52-4 +- fix SIGSEGV of getfacl -e on overly long group name + +* Fri Aug 09 2013 Kamil Dudka 2.2.52-3 +- drop a docdir-related patch to fix a packaging failure (#993659) + +* Sat Aug 03 2013 Fedora Release Engineering - 2.2.52-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Mon May 20 2013 Kamil Dudka 2.2.52-1 +- new upstream release, drop applied patches +- drop workarounds that are no longer necessary + +* Wed Feb 13 2013 Fedora Release Engineering - 2.2.51-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Tue Aug 28 2012 Kamil Dudka 2.2.51-8 +- fix specfile issues reported by the fedora-review script + +* Wed Jul 18 2012 Fedora Release Engineering - 2.2.51-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Wed May 02 2012 Kamil Dudka 2.2.51-6 +- do not mention static libraries in the summary of libacl{,-devel} (#817952) + +* Wed Jan 25 2012 Harald Hoyer 2.2.51-5 +- add filesystem guard + +* Wed Jan 25 2012 Harald Hoyer 2.2.51-4 +- install everything in /usr + https://fedoraproject.org/wiki/Features/UsrMove + +* Thu Jan 12 2012 Fedora Release Engineering - 2.2.51-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Fri May 06 2011 Kamil Dudka 2.2.51-2 +- update project URL (#699058) + +* Thu Apr 21 2011 Kamil Dudka 2.2.51-1 +- new upstream release + +* Tue Apr 19 2011 Kamil Dudka 2.2.50-1 +- new upstream release + +* Wed Apr 06 2011 Kamil Dudka 2.2.49-11 +- add function acl_extended_file_nofollow() (#692982) + +* Tue Mar 29 2011 Kamil Dudka 2.2.49-10 +- fix typos in setfacl(1) man page (#675451) + +* Mon Feb 07 2011 Fedora Release Engineering - 2.2.49-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Thu Jul 08 2010 Kamil Dudka 2.2.49-8 +- remove dependency of libacl-devel on nfs-utils-lib and openldap + +* Tue May 25 2010 Kamil Dudka 2.2.49-7 +- let acl depend on the same version of libacl (#595674) + +* Wed Mar 24 2010 Kamil Dudka 2.2.49-6 +- prevent setfacl --restore from SIGSEGV on malformed restore file (#576550) + +* Wed Mar 10 2010 Kamil Dudka 2.2.49-5 +- run the test-suite if possible + +* Tue Jan 19 2010 Kamil Dudka 2.2.49-4 +- do not package a static library (#556036) +- remove multilib patch no longer useful +- cleanup in BuildRequires + +* Tue Jan 05 2010 Kamil Dudka 2.2.49-3 +- upstream patch for setfacl --restore SUID/SGID bits handling (#467936) + +* Sat Dec 26 2009 Kamil Dudka 2.2.49-2 +- tweaked setfacl tree walk flags (#488674), thanks to Markus Steinborn + +* Sun Dec 20 2009 Kamil Dudka 2.2.49-1 +- new upstream bugfix release +- big cleanup in patches + +* Fri Jul 24 2009 Fedora Release Engineering - 2.2.47-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Mon Feb 23 2009 Fedora Release Engineering - 2.2.47-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Thu Jul 31 2008 Jiri Moskovcak 2.2.47-3 +- little improvement to params patch +- Resolves: #457244 + +* Mon Jul 14 2008 Tom "spot" Callaway 2.2.47-2 +- rework params patch to apply with fuzz=0 +- fix license tag + +* Tue Feb 12 2008 Jiri Moskovcak 2.2.47-1 +- new upstream version + +* Mon Jan 28 2008 Jiri Moskovcak 2.2.45-3 +- Fixed segfault when using only "--" as parameter +- Resolves: #430458 + +* Wed Nov 7 2007 Jiri Moskovcak 2.2.45-2 +- Fixed setfacl exitcodes +- Resolves: #368451 + +* Wed Oct 31 2007 Jiri Moskovcak - 2.2.45-1 +- New version +- dropped walk patch + +* Thu Sep 20 2007 Jiri Moskovcak 2.2.39-10 +- Rewriten path_max patch to support long UTF8 names +- Resolves #287701, #183181 + +* Fri Aug 31 2007 Steve Dickson - 2.2.39-9 +- Removed NFS4 ACL patch since it was rejected by upstream. + +* Thu Aug 30 2007 Jeremy Katz - 2.2.39-8 +- disable nfs patch; linking libacl against libs in /usr will lead to breakage + +* Wed Aug 29 2007 Fedora Release Engineering - 2.2.39-7 +- Build Require gawk + +* Wed Aug 29 2007 Fedora Release Engineering - 2.2.39-6 +- Rebuild for selinux ppc32 issue. + +* Mon Aug 27 2007 Steve Dickson 2.2.39-5 +- Added NFS v4 ACL support + +* Thu Jul 26 2007 Jiri Moskovcak 2.2.39-4.1 +- Updated man page for getfacl + +* Wed Jul 25 2007 Jiri Moskovcak 2.2.39-4 +- Added support fort short params to getfacl +- Resolves: #204087 + +* Wed Mar 21 2007 Thomas Woerner 2.2.39-3.1 +- new improved walk patch with fixed getfacl exit code (rhbz#232884) + +* Fri Feb 23 2007 Karsten Hopp 2.2.39-3 +- fix buildroot +- remove trailing dot from summary +- -devel requires same version of libacl +- escape macro in changelog +- make .so symlink relative + +* Thu Feb 22 2007 Steve Grubb 2.2.39-2 +- Apply patch to make order consistent. + +* Wed Jul 12 2006 Jesse Keating - 2.2.39-1.1 +- rebuild + +* Wed Jul 5 2006 Thomas Woerner 2.2.39-1 +- new version 2.2.39 +- fixed usage of long UTF-8 filenames (#183181) + Thanks to Andrey for the initial patch. + +* Wed Jun 7 2006 Jeremy Katz - 2.2.34-2 +- rebuild for -devel deps + +* Fri Feb 10 2006 Jesse Keating - 2.2.34-1.2 +- bump again for double-long bug on ppc(64) + +* Tue Feb 07 2006 Jesse Keating - 2.2.34-1.1 +- rebuilt for new gcc4.1 snapshot and glibc changes + +* Fri Feb 3 2006 Thomas Woerner 2.2.34-1 +- new version 2.2.34 + +* Fri Dec 09 2005 Jesse Keating +- rebuilt + +* Tue Dec 6 2005 Thomas Woerner 2.2.32-2.1 +- fixed permissions of libacl + +* Tue Dec 6 2005 Thomas Woerner 2.2.32-2 +- spec file cleanup +- mark po files as lang specific + +* Sun Nov 06 2005 Florian La Roche +- 2.2.32 + +* Wed Sep 28 2005 Than Ngo 2.2.31-1 +- update to 2.2.31 + +* Wed Sep 28 2005 Than Ngo 2.2.23-9 +- get rid of *.la files +- remove duplicate doc files + +* Wed Feb 9 2005 Stephen C. Tweedie 2.2.23-6 +- Rebuild + +* Thu Sep 16 2004 Jeremy Katz - 2.2.23-5 +- make the libs executable so that we find their dependencies (#132696) + +* Fri Sep 10 2004 Stephen C. Tweedie 2.2.23-4 +- libacl-devel Requires: libattr-devel for libattr.la + +* Fri Sep 10 2004 Stephen C. Tweedie 2.2.23-3 +- Requires libtool >= 1.5 for building + +* Thu Aug 19 2004 Phil Knirsch 2.2.23-2 +- Make libacl.so.* executable. + +* Thu Aug 19 2004 Phil Knirsch 2.2.23-1 +- Update to latest upstream version. + +* Sun Aug 8 2004 Alan Cox 2.2.7-7 +- Close bug #125300 (Steve Grubb: build requires libtool,gettext) + +* Tue Jun 15 2004 Elliot Lee +- rebuilt + +* Wed Mar 31 2004 Stephen C. Tweedie 2.2.7-5 +- Add missing %%defattr + +* Tue Mar 30 2004 Stephen C. Tweedie 2.2.7-3 +- Add /usr/include/acl to files manifest +- Fix location of doc files, add main doc dir to files manifest + +* Tue Mar 02 2004 Elliot Lee +- rebuilt + +* Fri Feb 13 2004 Elliot Lee +- rebuilt + +* Tue Aug 5 2003 Elliot Lee 2.2.7-2 +- Fix libtool invocation + +* Tue Jun 3 2003 Stephen C. Tweedie 2.2.7-1 +- Update to acl-2.2.7 + +* Wed Mar 26 2003 Michael K. Johnson 2.2.3-2 +- include patch from Jay Berkenbilt to print better error messages + +* Tue Jan 28 2003 Michael K. Johnson 2.2.3-1 +- udpate/rebuild + +* Sat Jan 4 2003 Jeff Johnson 2.0.11-7 +- set execute bits on library so that requires are generated. + +* Tue Nov 19 2002 Elliot Lee 2.0.11-5 +- Correct patch in previous fix so that shared libraries go in /lib* + instead of /usr/lib* + +* Tue Nov 19 2002 Elliot Lee 2.0.11-4 +- Fix multilibbing + +* Wed Sep 11 2002 Than Ngo 2.0.11-3 +- Added fix to install libs in correct directory on 64bit machine + +* Thu Aug 08 2002 Michael K. Johnson 2.0.11-2 +- Made the package only own the one directory that is unique to it: + /usr/include/acl + +* Mon Jun 24 2002 Michael K. Johnson 2.0.11-1 +- Initial Red Hat package + Made as few changes as possible relative to upstream packaging to + make it easier to maintain long-term. This means that some of + the techniques used here are definitely not standard Red Hat + techniques. If you are looking for an example package to fit + into Red Hat Linux transparently, this would not be the one to + pick. +- acl-devel -> libacl-devel