From 627c12645aec842061f510eee1b6e23884988925 Mon Sep 17 00:00:00 2001 From: Kamil Dudka Date: Dec 25 2015 11:48:40 +0000 Subject: new upstream release: findutils-4.5.16 --- diff --git a/findutils-4.5.12-ppc-gnulib-tests.patch b/findutils-4.5.12-ppc-gnulib-tests.patch deleted file mode 100644 index a9801ab..0000000 --- a/findutils-4.5.12-ppc-gnulib-tests.patch +++ /dev/null @@ -1,84 +0,0 @@ -From de69fd334b77ec578c2232574fc76222808148b0 Mon Sep 17 00:00:00 2001 -From: Ulrich Weigand -Date: Fri, 30 May 2014 11:34:23 +0100 -Subject: [PATCH] isfinite, isinf, isnan tests: fix for little-endian PowerPC - -* tests/test-isfinite.c (test_isfinitel): Only manipulate the -first double of a PowerPC "double double" pair. -* tests/test-isinf.c (test_isinfl): Likewise. -* tests/test-isnan.c (test_long_double): Likewise. -* tests/test-isnanl.h (main): Likewise. -* tests/test-signbit.c (test_signbitl): Likewise. - -[upstream commit e962c07c0c8bb18f9a5969cbf1ddb01d0fe4f55c] - -Signed-off-by: Kamil Dudka ---- - tests/test-isfinite.c | 9 +++++++++ - tests/test-isinf.c | 9 +++++++++ - tests/test-isnanl.h | 9 +++++++++ - 3 files changed, 27 insertions(+) - -diff --git a/tests/test-isfinite.c b/tests/test-isfinite.c -index 828cd69..8e88b67 100644 ---- a/tests/test-isfinite.c -+++ b/tests/test-isfinite.c -@@ -152,6 +152,15 @@ test_isfinitel () - /* A bit pattern that is different from a Quiet NaN. With a bit of luck, - it's a Signalling NaN. */ - { -+#if defined __powerpc__ && LDBL_MANT_DIG == 106 -+ /* This is PowerPC "double double", a pair of two doubles. Inf and Nan are -+ represented as the corresponding 64-bit IEEE values in the first double; -+ the second is ignored. Manipulate only the first double. */ -+ #undef NWORDS -+ #define NWORDS \ -+ ((sizeof (double) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) -+#endif -+ - memory_long_double m; - m.value = zerol / zerol; - # if LDBL_EXPBIT0_BIT > 0 -diff --git a/tests/test-isinf.c b/tests/test-isinf.c -index 253f341..76c132e 100644 ---- a/tests/test-isinf.c -+++ b/tests/test-isinf.c -@@ -158,6 +158,15 @@ test_isinfl () - /* A bit pattern that is different from a Quiet NaN. With a bit of luck, - it's a Signalling NaN. */ - { -+#if defined __powerpc__ && LDBL_MANT_DIG == 106 -+ /* This is PowerPC "double double", a pair of two doubles. Inf and Nan are -+ represented as the corresponding 64-bit IEEE values in the first double; -+ the second is ignored. Manipulate only the first double. */ -+ #undef NWORDS -+ #define NWORDS \ -+ ((sizeof (double) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) -+#endif -+ - memory_long_double m; - m.value = zerol / zerol; - # if LDBL_EXPBIT0_BIT > 0 -diff --git a/tests/test-isnanl.h b/tests/test-isnanl.h -index 8a9e684..bf81630 100644 ---- a/tests/test-isnanl.h -+++ b/tests/test-isnanl.h -@@ -51,6 +51,15 @@ main () - /* A bit pattern that is different from a Quiet NaN. With a bit of luck, - it's a Signalling NaN. */ - { -+#if defined __powerpc__ && LDBL_MANT_DIG == 106 -+ /* This is PowerPC "double double", a pair of two doubles. Inf and Nan are -+ represented as the corresponding 64-bit IEEE values in the first double; -+ the second is ignored. Manipulate only the first double. */ -+ #undef NWORDS -+ #define NWORDS \ -+ ((sizeof (double) + sizeof (unsigned int) - 1) / sizeof (unsigned int)) -+#endif -+ - memory_long_double m; - m.value = NaNl (); - # if LDBL_EXPBIT0_BIT > 0 --- -1.9.3 - diff --git a/findutils-4.5.14-fts-cycle.patch b/findutils-4.5.14-fts-cycle.patch deleted file mode 100644 index 2eb73cd..0000000 --- a/findutils-4.5.14-fts-cycle.patch +++ /dev/null @@ -1,44 +0,0 @@ -From bf4d8abd7ae3624a13967275dcbaea19f6b6ceb5 Mon Sep 17 00:00:00 2001 -From: Kamil Dudka -Date: Wed, 11 Feb 2015 13:48:12 +0100 -Subject: [PATCH] fts: avoid crash when a cycle is added while traversing - -This could be triggered by auto-mounting a recursive bind mount. -Reported by Michael Chapman in: https://bugzilla.redhat.com/1188498 -* lib/fts.c (fts_read): Avoid removing the original hash table item -when leaving a directory that caused a cycle, and preserve the FTS_DC -flag. - -Bug: https://bugzilla.redhat.com/1188498 -Bug: http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/34867 ---- - gl/lib/fts.c | 13 ++++++++++--- - 1 file changed, 10 insertions(+), 3 deletions(-) - -diff --git a/gl/lib/fts.c b/gl/lib/fts.c -index 500e92c..f76c015 100644 ---- a/gl/lib/fts.c -+++ b/gl/lib/fts.c -@@ -1091,9 +1091,16 @@ cd_dot_dot: - p->fts_errno = errno; - SET(FTS_STOP); - } -- p->fts_info = p->fts_errno ? FTS_ERR : FTS_DP; -- if (p->fts_errno == 0) -- LEAVE_DIR (sp, p, "3"); -+ -+ /* If the directory causes a cycle, preserve the FTS_DC flag and keep -+ * the corresponding dev/ino pair in the hash table. It is going to be -+ * removed when leaving the original directory. -+ */ -+ if (p->fts_info != FTS_DC) { -+ p->fts_info = p->fts_errno ? FTS_ERR : FTS_DP; -+ if (p->fts_errno == 0) -+ LEAVE_DIR (sp, p, "3"); -+ } - return ISSET(FTS_STOP) ? NULL : p; - } - --- -2.1.0 - diff --git a/findutils-4.5.14-perl-5.22.patch b/findutils-4.5.14-perl-5.22.patch deleted file mode 100644 index 9000bc5..0000000 --- a/findutils-4.5.14-perl-5.22.patch +++ /dev/null @@ -1,73 +0,0 @@ -From 5f999d05c6df82ff6d27ee555b82dd4d7620ca67 Mon Sep 17 00:00:00 2001 -From: Jim Meyering -Date: Sun, 11 Jan 2015 16:44:35 -0800 -Subject: [PATCH 1/2] update-copyright: recognize groff's \(co marker - -* build-aux/update-copyright (circle_c_re): Also accept -uses of \(co, as found in gzip.1. - -Upstream-commit: 06c61ed439c29bf0ff6261462afef6f84e772643 -Signed-off-by: Kamil Dudka ---- - build-aux/update-copyright | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/build-aux/update-copyright b/build-aux/update-copyright -index 90624e9..b0a19bc 100755 ---- a/build-aux/update-copyright -+++ b/build-aux/update-copyright -@@ -3,9 +3,9 @@ eval '(exit $?0)' && eval 'exec perl -wS -0777 -pi "$0" ${1+"$@"}' - if 0; - # Update an FSF copyright year list to include the current year. - --my $VERSION = '2013-01-03.09:41'; # UTC -+my $VERSION = '2015-01-02.04:14'; # UTC - --# Copyright (C) 2009-2014 Free Software Foundation, Inc. -+# Copyright (C) 2009-2015 Free Software Foundation, Inc. - # - # This program is free software: you can redistribute it and/or modify - # it under the terms of the GNU General Public License as published by -@@ -124,7 +124,7 @@ use strict; - use warnings; - - my $copyright_re = 'Copyright'; --my $circle_c_re = '(?:\([cC]\)|@copyright{}|©)'; -+my $circle_c_re = '(?:\([cC]\)|@copyright{}|\\\\\(co|©)'; - my $holder = $ENV{UPDATE_COPYRIGHT_HOLDER}; - $holder ||= 'Free Software Foundation, Inc.'; - my $prefix_max = 5; --- -2.4.3 - - -From 807f0f0ebef70b463a4e49a5a0c9e968ea7d3461 Mon Sep 17 00:00:00 2001 -From: Friedrich Haubensak -Date: Thu, 2 Jul 2015 14:36:33 +0100 -Subject: [PATCH 2/2] update-copyright: fix test failure with perl >= 5.22 - -* build-aux/update-copyright: Escape a literal left curly bracket, -required with perl >= 5.22 - -Upstream-commit: 841d0dcfa8103235836a1aeb0c1ad657f43ade85 -Signed-off-by: Kamil Dudka ---- - build-aux/update-copyright | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/build-aux/update-copyright b/build-aux/update-copyright -index b0a19bc..b91248c 100755 ---- a/build-aux/update-copyright -+++ b/build-aux/update-copyright -@@ -124,7 +124,7 @@ use strict; - use warnings; - - my $copyright_re = 'Copyright'; --my $circle_c_re = '(?:\([cC]\)|@copyright{}|\\\\\(co|©)'; -+my $circle_c_re = '(?:\([cC]\)|@copyright\{}|\\\\\(co|©)'; - my $holder = $ENV{UPDATE_COPYRIGHT_HOLDER}; - $holder ||= 'Free Software Foundation, Inc.'; - my $prefix_max = 5; --- -2.4.3 - diff --git a/findutils-4.5.14.tar.gz.sig b/findutils-4.5.14.tar.gz.sig deleted file mode 100644 index 2837103..0000000 Binary files a/findutils-4.5.14.tar.gz.sig and /dev/null differ diff --git a/findutils-4.5.15-leaf-opt.patch b/findutils-4.5.15-leaf-opt.patch index 2ed898c..3aab9cc 100644 --- a/findutils-4.5.15-leaf-opt.patch +++ b/findutils-4.5.15-leaf-opt.patch @@ -1,93 +1,3 @@ -From 1fc080b7c1eac7fa8063273aaae6b80165c17fe0 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?P=C3=A1draig=20Brady?= -Date: Sun, 20 Dec 2015 23:46:05 +0000 -Subject: [PATCH 1/4] fts: enable leaf optimization for XFS - -XFS provides usable dirent.d_type only for DT_DIR, -but the noleaf optimization still applies, as confirmed with: - - test $(($(find . -maxdepth 1 -type d | wc -l) + 1)) = $(stat -c %h .) - -Enabling this gives significant traversal speedup. -Testing with find(1) gives: - - $ time find/find-before /usr/share >/dev/null - real 0m0.410s - user 0m0.145s - sys 0m0.266s - - $ time find/find-after /usr/share >/dev/null - real 0m0.278s - user 0m0.147s - sys 0m0.131s - -* lib/fts.c (leaf_optimization_applies): Add XFS to the white list. - -Upstream-commit: d459ec6a4f97001a57d9299143ea9a5f6b1f313b -Signed-off-by: Kamil Dudka ---- - gl/lib/fts.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/gl/lib/fts.c b/gl/lib/fts.c -index f76c015..fb720c0 100644 ---- a/gl/lib/fts.c -+++ b/gl/lib/fts.c -@@ -663,6 +663,7 @@ fts_close (FTS *sp) - # define S_MAGIC_TMPFS 0x1021994 - # define S_MAGIC_NFS 0x6969 - # define S_MAGIC_REISERFS 0x52654973 -+# define S_MAGIC_XFS 0x58465342 - # define S_MAGIC_PROC 0x9FA0 - - /* Return false if it is easy to determine the file system type of -@@ -718,6 +719,7 @@ leaf_optimization_applies (int dir_fd) - /* List here the file system types that lack usable dirent.d_type - info, yet for which the optimization does apply. */ - case S_MAGIC_REISERFS: -+ case S_MAGIC_XFS: - return true; - - case S_MAGIC_PROC: --- -2.5.0 - - -From 2f0dddbb01a70b2ae02797b315924de7e06c3d83 Mon Sep 17 00:00:00 2001 -From: Kamil Dudka -Date: Wed, 9 Dec 2015 07:34:56 +0100 -Subject: [PATCH 2/4] fts: ensure leaf optimization is used for NFS - -NFS provides usable dirent.d_type but not necessarily for all entries -of large directories. See -* lib/fts.c (leaf_optimization_applies): Append NFS on the white list. - -Upstream-commit: c97b8b9030de7c9a9f9f6d7dcdc3505c6b3f7f98 -Signed-off-by: Kamil Dudka ---- - gl/lib/fts.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/gl/lib/fts.c b/gl/lib/fts.c -index fb720c0..d2d404f 100644 ---- a/gl/lib/fts.c -+++ b/gl/lib/fts.c -@@ -716,6 +716,11 @@ leaf_optimization_applies (int dir_fd) - - switch (fs_buf.f_type) - { -+ case S_MAGIC_NFS: -+ /* NFS provides usable dirent.d_type but not necessarily for all entries -+ of large directories. See . */ -+ return true; -+ - /* List here the file system types that lack usable dirent.d_type - info, yet for which the optimization does apply. */ - case S_MAGIC_REISERFS: --- -2.5.0 - - From 1328926a705fdb4728c1f255dd368de928736d39 Mon Sep 17 00:00:00 2001 From: Kamil Dudka Date: Fri, 25 Sep 2015 16:09:39 +0200 @@ -105,7 +15,7 @@ diff --git a/gl/lib/fts.c b/gl/lib/fts.c index d2d404f..808466f 100644 --- a/gl/lib/fts.c +++ b/gl/lib/fts.c -@@ -786,6 +786,10 @@ link_count_optimize_ok (FTSENT const *p) +@@ -788,6 +788,10 @@ link_count_optimize_ok (FTSENT const *p) bool opt_ok; struct LCO_ent *t2; @@ -120,7 +30,7 @@ diff --git a/gl/lib/fts_.h b/gl/lib/fts_.h index 63d4b74..f1d519b 100644 --- a/gl/lib/fts_.h +++ b/gl/lib/fts_.h -@@ -149,10 +149,16 @@ typedef struct { +@@ -155,10 +155,16 @@ typedef struct { from input path names during fts_open initialization. */ # define FTS_VERBATIM 0x1000 diff --git a/findutils-4.5.16.tar.gz.sig b/findutils-4.5.16.tar.gz.sig new file mode 100644 index 0000000..3646e7b Binary files /dev/null and b/findutils-4.5.16.tar.gz.sig differ diff --git a/findutils.spec b/findutils.spec index 48a76bf..1b27d4c 100644 --- a/findutils.spec +++ b/findutils.spec @@ -1,7 +1,7 @@ Summary: The GNU versions of find utilities (find and xargs) Name: findutils -Version: 4.5.15 -Release: 2%{?dist} +Version: 4.5.16 +Release: 1%{?dist} Epoch: 1 License: GPLv3+ Group: Applications/File @@ -11,9 +11,6 @@ Source0: ftp://alpha.gnu.org/gnu/findutils/%{name}-%{version}.tar.gz # do not build locate Patch1: findutils-4.5.15-no-locate.patch -# fix a crash triggered by recursive bind mount (#1188498) -Patch2: findutils-4.5.14-fts-cycle.patch - # add a new option -xautofs to find to not descend into directories on autofs # file systems Patch3: findutils-4.4.2-xautofs.patch @@ -21,13 +18,7 @@ Patch3: findutils-4.4.2-xautofs.patch # eliminate compile-time warnings Patch4: findutils-4.5.13-warnings.patch -# eliminate failure of gnulib tests on little-endian PowerPC (#1083145) -Patch5: findutils-4.5.12-ppc-gnulib-tests.patch - -# make the test-suite ready for Perl 5.22 (#1239501) -Patch7: findutils-4.5.14-perl-5.22.patch - -# enable leaf optimization for XFS and NFS (#1252549) +# implement the -noleaf option of find (#1252549) Patch8: findutils-4.5.15-leaf-opt.patch Requires(post): /sbin/install-info @@ -57,11 +48,8 @@ useful for finding things on your system. %setup -q rm -rf locate %patch1 -p1 -%patch2 -p1 %patch3 -p1 %patch4 -p1 -%patch5 -p1 -%patch7 -p1 %patch8 -p1 # needed because of findutils-4.4.0-no-locate.patch @@ -111,6 +99,9 @@ fi %{_infodir}/find-maint.info.gz %changelog +* Fri Dec 25 2015 Kamil Dudka - 1:4.5.16-1 +- new upstream release + * Mon Dec 21 2015 Kamil Dudka - 1:4.5.15-2 - enable leaf optimization for XFS and NFS (#1252549) diff --git a/sources b/sources index 700a86a..465272f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -860bf907d1eaede36e86b6c2f419a343 findutils-4.5.15.tar.gz +63816db3644f6e30493007f854dcd6d0 findutils-4.5.16.tar.gz