new upstream release: findutils-4.5.16

This commit is contained in:
Kamil Dudka 2015-12-25 12:41:35 +01:00
parent e81850d3c1
commit 627c12645a
8 changed files with 9 additions and 309 deletions

View File

@ -1,84 +0,0 @@
From de69fd334b77ec578c2232574fc76222808148b0 Mon Sep 17 00:00:00 2001
From: Ulrich Weigand <uweigand@de.ibm.com>
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 <kdudka@redhat.com>
---
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

View File

@ -1,44 +0,0 @@
From bf4d8abd7ae3624a13967275dcbaea19f6b6ceb5 Mon Sep 17 00:00:00 2001
From: Kamil Dudka <kdudka@redhat.com>
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

View File

@ -1,73 +0,0 @@
From 5f999d05c6df82ff6d27ee555b82dd4d7620ca67 Mon Sep 17 00:00:00 2001
From: Jim Meyering <meyering@fb.com>
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 <kdudka@redhat.com>
---
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{}|&copy;)';
+my $circle_c_re = '(?:\([cC]\)|@copyright{}|\\\\\(co|&copy;)';
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 <hsk@fli-leibniz.de>
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 <kdudka@redhat.com>
---
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|&copy;)';
+my $circle_c_re = '(?:\([cC]\)|@copyright\{}|\\\\\(co|&copy;)';
my $holder = $ENV{UPDATE_COPYRIGHT_HOLDER};
$holder ||= 'Free Software Foundation, Inc.';
my $prefix_max = 5;
--
2.4.3

Binary file not shown.

View File

@ -1,93 +1,3 @@
From 1fc080b7c1eac7fa8063273aaae6b80165c17fe0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?P=C3=A1draig=20Brady?= <P@draigBrady.com>
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 <kdudka@redhat.com>
---
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 <kdudka@redhat.com>
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 <https://bugzilla.redhat.com/1252549>
* lib/fts.c (leaf_optimization_applies): Append NFS on the white list.
Upstream-commit: c97b8b9030de7c9a9f9f6d7dcdc3505c6b3f7f98
Signed-off-by: Kamil Dudka <kdudka@redhat.com>
---
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 <https://bugzilla.redhat.com/1252549>. */
+ 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 <kdudka@redhat.com>
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

BIN
findutils-4.5.16.tar.gz.sig Normal file

Binary file not shown.

View File

@ -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 <kdudka@redhat.com> - 1:4.5.16-1
- new upstream release
* Mon Dec 21 2015 Kamil Dudka <kdudka@redhat.com> - 1:4.5.15-2
- enable leaf optimization for XFS and NFS (#1252549)

View File

@ -1 +1 @@
860bf907d1eaede36e86b6c2f419a343 findutils-4.5.15.tar.gz
63816db3644f6e30493007f854dcd6d0 findutils-4.5.16.tar.gz