From 497cbeed4c40ba3f79bb39b8dbd09bd9a5e56b32 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Oct 30 2018 05:16:25 +0000 Subject: import findutils-4.5.11-6.el7 --- diff --git a/.findutils.metadata b/.findutils.metadata new file mode 100644 index 0000000..8899b10 --- /dev/null +++ b/.findutils.metadata @@ -0,0 +1 @@ +d56f9027dfbde529b15e53eee354ceb2ee91e524 SOURCES/findutils-4.5.11.tar.gz diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..10f0027 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/findutils-4.5.11.tar.gz diff --git a/README.md b/README.md deleted file mode 100644 index 0e7897f..0000000 --- a/README.md +++ /dev/null @@ -1,5 +0,0 @@ -The master branch has no content - -Look at the c7 branch if you are working with CentOS-7, or the c4/c5/c6 branch for CentOS-4, 5 or 6 - -If you find this file in a distro specific branch, it means that no content has been checked in yet diff --git a/SOURCES/findutils-4.4.0-no-locate.patch b/SOURCES/findutils-4.4.0-no-locate.patch new file mode 100644 index 0000000..75f8e85 --- /dev/null +++ b/SOURCES/findutils-4.4.0-no-locate.patch @@ -0,0 +1,117 @@ +From dc92679e2c363f8c0d659fa428c138684455a6bd Mon Sep 17 00:00:00 2001 +From: Kamil Dudka +Date: Wed, 11 May 2011 16:46:13 +0200 +Subject: [PATCH 1/4] findutils-4.4.0-no-locate.patch + +--- + Makefile.am | 2 +- + configure.ac | 2 -- + doc/find.texi | 24 ++++++++---------------- + 3 files changed, 9 insertions(+), 19 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index c7f8f39..0dacb93 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -9,7 +9,7 @@ DISTCLEANFILES = tool-versions.txt + + + # "tests" is the gnulib unit test dir. +-SUBDIRS = gl tests build-aux lib find xargs locate doc po m4 ++SUBDIRS = gl tests build-aux lib find xargs doc po m4 + + ACLOCAL_AMFLAGS = -I gl/m4 -I m4 + +diff --git a/configure.ac b/configure.ac +index f31dd37..431f0ce 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -244,8 +244,6 @@ find/testsuite/Makefile + gl/Makefile + gl/lib/Makefile + lib/Makefile +-locate/Makefile +-locate/testsuite/Makefile + m4/Makefile + po/Makefile.in + po/Makefile +diff --git a/doc/find.texi b/doc/find.texi +index 1f278de..c584298 100644 +--- a/doc/find.texi ++++ b/doc/find.texi +@@ -7,7 +7,6 @@ + @c %**end of header + + @include version.texi +-@include ../locate/dblocation.texi + + @iftex + @finalout +@@ -571,8 +570,7 @@ the databases are updated, and the directories for which they contain + entries. + + Here is how to select which file name databases @code{locate} +-searches. The default is system-dependent. At the time this document +-was generated, the default was @file{@value{LOCATE_DB}}. ++searches. The default is system-dependent. + + @table @code + @item --database=@var{path} +@@ -2840,13 +2838,9 @@ thrashing the network. + directories are indexed by each database file. + + The default location for the locate database depends on how findutils +-is built, but the findutils installation accompanying this manual uses +-the default location @file{@value{LOCATE_DB}}. +- +-If no database exists at @file{@value{LOCATE_DB}} but the user did not +-specify where to look (by using @samp{-d} or setting +-@code{LOCATE_PATH}), then @code{locate} will also check for a +-``secure'' database in @file{/var/lib/slocate/slocate.db}. ++is built. If user did not specify where to look (by using @samp{-d} ++or setting @code{LOCATE_PATH}), then @code{locate} will also check for ++a ``secure'' database in @file{/var/lib/slocate/slocate.db}. + + @node Database Formats + @section Database Formats +@@ -3389,8 +3383,7 @@ present. + + @item --database=@var{path} + @itemx -d @var{path} +-Instead of searching the default @code{locate} database +-@file{@value{LOCATE_DB}}, @code{locate} searches the file ++@code{locate} searches the file + name databases in @var{path}, which is a colon-separated list of + database file names. You can also use the environment variable + @code{LOCATE_PATH} to set the list of database files to search. The +@@ -3575,8 +3568,7 @@ The environment variable @code{PRUNEFS} also sets this value. Default + is @file{nfs NFS proc}. + + @item --output=@var{dbfile} +-The database file to build. The default is system-dependent, but +-when this document was formatted it was @file{@value{LOCATE_DB}}. ++The database file to build. + + @item --localuser=@var{user} + The user to search the non-network directories as, using @code{su}. +@@ -5583,7 +5575,7 @@ why @code{xargs} is confused by your operating system). + @section Error Messages From @code{locate} + + @table @samp +-@item warning: database @file{@value{LOCATE_DB}} is more than 8 days old ++@item warning: database @file{LOCATE_DB} is more than 8 days old + The @code{locate} program relies on a database which is periodically + built by the @code{updatedb} program. That hasn't happened in a long + time. To fix this problem, run @code{updatedb} manually. This can +@@ -5591,7 +5583,7 @@ often happen on systems that are generally not left on, so the + periodic ``cron'' task which normally does this doesn't get a chance + to run. + +-@item locate database @file{@value{LOCATE_DB}} is corrupt or invalid ++@item locate database @file{LOCATE_DB} is corrupt or invalid + This should not happen. Re-run @code{updatedb}. If that works, but + @code{locate} still produces this error, run @code{locate --version} + and @code{updatedb --version}. These should produce the same output. +-- +1.7.4.4 + diff --git a/SOURCES/findutils-4.4.2-autofs.patch b/SOURCES/findutils-4.4.2-autofs.patch new file mode 100644 index 0000000..3e4c1a2 --- /dev/null +++ b/SOURCES/findutils-4.4.2-autofs.patch @@ -0,0 +1,100 @@ +From 113d6b31623db33fbea65e586f5bfaf1ea1c8d30 Mon Sep 17 00:00:00 2001 +From: Kamil Dudka +Date: Wed, 11 May 2011 16:46:32 +0200 +Subject: [PATCH 2/4] findutils-4.4.2-autofs.patch + +--- + find/fstype.c | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 files changed, 69 insertions(+), 0 deletions(-) + +diff --git a/find/fstype.c b/find/fstype.c +index c6dbe8b..9cbf620 100644 +--- a/find/fstype.c ++++ b/find/fstype.c +@@ -187,7 +187,72 @@ must_read_fs_list (bool need_fs_type) + return entries; + } + ++/* Return the device number from MOUNT_OPTIONS, if possible. ++ Otherwise return (dev_t) -1. Taken from 'mountlist' module ++ from gnulib. */ ++static dev_t ++dev_from_mount_options (char const *mount_options) ++{ ++ /* GNU/Linux allows file system implementations to define their own ++ meaning for "dev=" mount options, so don't trust the meaning ++ here. */ ++# ifndef __linux__ ++ ++ static char const dev_pattern[] = ",dev="; ++ char const *devopt = strstr (mount_options, dev_pattern); ++ ++ if (devopt) ++ { ++ char const *optval = devopt + sizeof dev_pattern - 1; ++ char *optvalend; ++ unsigned long int dev; ++ errno = 0; ++ dev = strtoul (optval, &optvalend, 16); ++ if (optval != optvalend ++ && (*optvalend == '\0' || *optvalend == ',') ++ && ! (dev == ULONG_MAX && errno == ERANGE) ++ && dev == (dev_t) dev) ++ return dev; ++ } + ++# endif ++ (void) mount_options; ++ return -1; ++} ++ ++/* Return true if the file described by STATP is on autofs file system ++ and call set_fstype_devno () if the autofs file system is matched. */ ++static bool ++filesystem_check_autofs (const struct stat *statp) ++{ ++ FILE *fp; ++ struct mntent *mnt; ++ struct mount_entry entry; ++ bool match = false; ++ ++ /* open /proc/mounts because autofs is not listed in /etc/mtab */ ++ fp = setmntent ("/proc/mounts", "r"); ++ if (fp == NULL) ++ return false; ++ ++ while ((mnt = getmntent (fp))) ++ { ++ if (0 != strcmp ("autofs", mnt->mnt_type)) ++ continue; ++ ++ entry.me_mountdir = mnt->mnt_dir; ++ entry.me_dev = dev_from_mount_options (mnt->mnt_opts); ++ set_fstype_devno (&entry); ++ if (entry.me_dev == statp->st_dev) ++ { ++ match = true; ++ break; ++ } ++ } ++ ++ endmntent (fp); ++ return match; ++} + + /* Return a newly allocated string naming the type of file system that the + file PATH, described by STATP, is on. +@@ -238,6 +303,10 @@ file_system_type_uncached (const struct stat *statp, const char *path) + } + free_file_system_list (entries); + ++ /* check for autofs */ ++ if (type == NULL && filesystem_check_autofs (statp)) ++ type = xstrdup ("autofs"); ++ + /* Don't cache unknown values. */ + fstype_known = (type != NULL); + +-- +1.7.4.4 + diff --git a/SOURCES/findutils-4.4.2-xautofs.patch b/SOURCES/findutils-4.4.2-xautofs.patch new file mode 100644 index 0000000..1609ad3 --- /dev/null +++ b/SOURCES/findutils-4.4.2-xautofs.patch @@ -0,0 +1,132 @@ +From 17e470dc1acca4824b70328d733d5f99c12d0d65 Mon Sep 17 00:00:00 2001 +From: Kamil Dudka +Date: Wed, 11 May 2011 16:46:45 +0200 +Subject: [PATCH 3/4] findutils-4.4.2-xautofs.patch + +--- + doc/find.texi | 4 ++++ + find/defs.h | 3 +++ + find/find.1 | 3 +++ + find/ftsfind.c | 6 ++++++ + find/parser.c | 11 ++++++++++- + find/util.c | 1 + + 6 files changed, 27 insertions(+), 1 deletions(-) + +diff --git a/doc/find.texi b/doc/find.texi +index c584298..9731b71 100644 +--- a/doc/find.texi ++++ b/doc/find.texi +@@ -1439,6 +1439,10 @@ them. + There are two ways to avoid searching certain filesystems. One way is + to tell @code{find} to only search one filesystem: + ++@deffn Option -xautofs ++Don't descend directories on autofs filesystems. ++@end deffn ++ + @deffn Option -xdev + @deffnx Option -mount + Don't descend directories on other filesystems. These options are +diff --git a/find/defs.h b/find/defs.h +index 11d1d00..f95ce72 100644 +--- a/find/defs.h ++++ b/find/defs.h +@@ -557,6 +557,9 @@ struct options + /* If true, don't cross filesystem boundaries. */ + bool stay_on_filesystem; + ++ /* If true, don't descend directories on autofs filesystems. */ ++ bool bypass_autofs; ++ + /* If true, we ignore the problem where we find that a directory entry + * no longer exists by the time we get around to processing it. + */ +diff --git a/find/find.1 b/find/find.1 +index e851f82..a4799ff 100644 +--- a/find/find.1 ++++ b/find/find.1 +@@ -460,6 +460,9 @@ if standard input is a tty, and to + .B \-nowarn + otherwise. + ++.IP \-xautofs ++Don't descend directories on autofs filesystems. ++ + .IP \-xdev + Don't descend directories on other filesystems. + +diff --git a/find/ftsfind.c b/find/ftsfind.c +index 9fdb8ef..bd7cc37 100644 +--- a/find/ftsfind.c ++++ b/find/ftsfind.c +@@ -485,6 +485,12 @@ consider_visiting (FTS *p, FTSENT *ent) + } + } + ++ if (options.bypass_autofs && ++ 0 == strcmp ("autofs", filesystem_type (&statbuf, ent->fts_name))) ++ { ++ fts_set(p, ent, FTS_SKIP); /* descend no further */ ++ } ++ + if ( (ent->fts_info == FTS_D) && !options.do_dir_first ) + { + /* this is the preorder visit, but user said -depth */ +diff --git a/find/parser.c b/find/parser.c +index 52a1ef6..995aec3 100644 +--- a/find/parser.c ++++ b/find/parser.c +@@ -146,6 +146,7 @@ static bool parse_user (const struct parser_table*, char *argv[], int * + static bool parse_version (const struct parser_table*, char *argv[], int *arg_ptr); + static bool parse_wholename (const struct parser_table*, char *argv[], int *arg_ptr); + static bool parse_xdev (const struct parser_table*, char *argv[], int *arg_ptr); ++static bool parse_xautofs (const struct parser_table*, char *argv[], int *arg_ptr); + static bool parse_ignore_race (const struct parser_table*, char *argv[], int *arg_ptr); + static bool parse_noignore_race (const struct parser_table*, char *argv[], int *arg_ptr); + static bool parse_warn (const struct parser_table*, char *argv[], int *arg_ptr); +@@ -306,6 +307,7 @@ static struct parser_table const parse_table[] = + PARSE_TEST_NP ("wholename", wholename), /* GNU, replaced -path, but anyway -path will soon be in POSIX */ + {ARG_TEST, "writable", parse_accesscheck, pred_writable}, /* GNU, 4.3.0+ */ + PARSE_OPTION ("xdev", xdev), /* POSIX */ ++ PARSE_OPTION ("xautofs", xautofs), + PARSE_TEST ("xtype", xtype), /* GNU */ + #ifdef UNIMPLEMENTED_UNIX + /* It's pretty ugly for find to know about archive formats. +@@ -1230,7 +1232,7 @@ operators (decreasing precedence; -and is implicit where no others are given):\n + positional options (always true): -daystart -follow -regextype\n\n\ + normal options (always true, specified before other expressions):\n\ + -depth --help -maxdepth LEVELS -mindepth LEVELS -mount -noleaf\n\ +- --version -xdev -ignore_readdir_race -noignore_readdir_race\n")); ++ --version -xautofs -xdev -ignore_readdir_race -noignore_readdir_race\n")); + puts (_("\ + tests (N can be +N or -N or N): -amin N -anewer FILE -atime N -cmin N\n\ + -cnewer FILE -ctime N -empty -false -fstype TYPE -gid N -group NAME\n\ +@@ -2799,6 +2801,13 @@ parse_xdev (const struct parser_table* entry, char **argv, int *arg_ptr) + } + + static bool ++parse_xautofs (const struct parser_table* entry, char **argv, int *arg_ptr) ++{ ++ options.bypass_autofs = true; ++ return parse_noop (entry, argv, arg_ptr); ++} ++ ++static bool + parse_ignore_race (const struct parser_table* entry, char **argv, int *arg_ptr) + { + options.ignore_readdir_race = true; +diff --git a/find/util.c b/find/util.c +index 8577396..4d45f84 100644 +--- a/find/util.c ++++ b/find/util.c +@@ -1010,6 +1010,7 @@ set_option_defaults (struct options *p) + + p->full_days = false; + p->stay_on_filesystem = false; ++ p->bypass_autofs = false; + p->ignore_readdir_race = false; + + if (p->posixly_correct) +-- +1.7.4.4 + diff --git a/SOURCES/findutils-4.5.11-bz1116237.patch b/SOURCES/findutils-4.5.11-bz1116237.patch new file mode 100644 index 0000000..c457997 --- /dev/null +++ b/SOURCES/findutils-4.5.11-bz1116237.patch @@ -0,0 +1,124 @@ +From f5a43df0bd6481b407a6ec00a24679f521584e20 Mon Sep 17 00:00:00 2001 +From: Paul Eggert +Date: Mon, 22 Apr 2013 21:49:40 +0100 +Subject: [PATCH] Resolves: #1116237 - find -perm +numeric does not work as + expected + +Also, do not reject -perm /MODE merely because of POSIXLY_CORRECT. +Problem reported in . +* doc/find.texi (Mode Bits): Document this. +* find/parser.c (parse_help): Mention /MODE, not +MODE. +Do not reject -perm /MODE merely because POSIXLY_CORRECT is set; +POSIXLY_CORRECT is not supposed to be for pedantic checking. + +[upstream commit 90f0c5d24153ad3327edd6f2249fc95a5cfb72e0] + +Signed-off-by: Kamil Dudka +--- + doc/find.texi | 11 ++--------- + find/find.1 | 17 ++++++++++++----- + find/parser.c | 10 ++++++++-- + 3 files changed, 22 insertions(+), 16 deletions(-) + +diff --git a/doc/find.texi b/doc/find.texi +index a44e5d5..1ad3af5 100644 +--- a/doc/find.texi ++++ b/doc/find.texi +@@ -1180,11 +1180,8 @@ optionally prefixed by @samp{-} or @samp{/}. + + A @var{pmode} that starts with neither @samp{-} nor @samp{/} matches + if @var{mode} exactly matches the file mode bits. +- +-A @var{pmode} that starts with @samp{+} but which is not valid (for +-example @samp{+a+x}) is an error if the POSIXLY_CORRECT environment +-variable it set. Otherwise this is treated as if the initial +-@samp{+} were a @samp{/}, for backward compatibility. ++(To avoid confusion with an obsolete GNU extension, @var{mode} ++must not start with a @samp{+} immediately followed by an octal digit.) + + A @var{pmode} that starts with @samp{-} matches if + @emph{all} the file mode bits set in @var{mode} are set for the file; +@@ -3944,10 +3941,6 @@ Setting this variable also turns off warning messages (that is, implies + the output for @samp{-ok}, all messages printed on stderr are + diagnostics and must result in a non-zero exit status. + +-Arguments to @samp{-perm} beginning with @samp{+} are treated +-differently when POSIXLY_CORRECT is set. See +-@ref{Mode Bits,-perm,File Mode Bits}. +- + When POSIXLY_CORRECT is set, the response to the prompt made by the + @code{-ok} action is interpreted according to the system's message + catalogue, as opposed to according to @code{find}'s own message +diff --git a/find/find.1 b/find/find.1 +index 34a4cba..00e45e6 100644 +--- a/find/find.1 ++++ b/find/find.1 +@@ -2046,11 +2046,6 @@ As of findutils-4.2.2, shell metacharacters (`*', `?' or `[]' for + example) used in filename patterns will match a leading `.', because + IEEE POSIX interpretation 126 requires this. + .P +-The syntax +-\.B \-perm +MODE +-was deprecated in findutils-4.2.21, in favour of +-\.B \-perm +-.BR /MODE . + As of findutils-4.3.3, + .B \-perm /000 + now matches all files instead of none. +@@ -2098,6 +2093,18 @@ Feature Added in Also occurs in + \-ipath 3.8 + \-iregex 3.8 + .TE ++.P ++The syntax ++\.B \-perm +MODE ++does not work as expected in findutils-4.5.11 and it ++was removed in findutils-4.5.12, in favour of ++\.B \-perm ++.BR /MODE . ++The ++.B +MODE ++syntax had been deprecated since findutils-4.2.21 ++which was released in 2005. ++.P + .SH "NON-BUGS" + .nf + .B $ find . \-name *.c \-print +diff --git a/find/parser.c b/find/parser.c +index d15c0e0..e5f02b3 100644 +--- a/find/parser.c ++++ b/find/parser.c +@@ -1239,7 +1239,7 @@ tests (N can be +N or -N or N): -amin N -anewer FILE -atime N -cmin N\n\ + -ilname PATTERN -iname PATTERN -inum N -iwholename PATTERN -iregex PATTERN\n\ + -links N -lname PATTERN -mmin N -mtime N -name PATTERN -newer FILE")); + puts (_("\ +- -nouser -nogroup -path PATTERN -perm [+-]MODE -regex PATTERN\n\ ++ -nouser -nogroup -path PATTERN -perm [-/]MODE -regex PATTERN\n\ + -readable -writable -executable\n\ + -wholename PATTERN -size N[bcwkMG] -true -type [bcdpflsD] -uid N\n\ + -used N -user NAME -xtype [bcdpfls]")); +@@ -1981,6 +1981,13 @@ parse_perm (const struct parser_table* entry, char **argv, int *arg_ptr) + break; + + case '+': ++ if ('0' <= perm_expr[1] && perm_expr[1] < '8') ++ /* warn about using obsolete syntax (with unexpected behavior) */ ++ error(0, 0, "warning: you are using `-perm +MODE'. The " ++ "interpretation of `-perm +omode' changed in findutils-4.5.11. " ++ "The syntax `-perm +omode' was removed in findutils-4.5.12, in " ++ "favour of `-perm /omode'."); ++ + change = mode_compile (perm_expr); + if (NULL == change) + { +@@ -2011,7 +2018,6 @@ parse_perm (const struct parser_table* entry, char **argv, int *arg_ptr) + break; + + case '/': /* GNU extension */ +- non_posix_mode (perm_expr); + mode_start = 1; + kind = PERM_ANY; + havekind = true; +-- +1.9.3 + diff --git a/SOURCES/findutils-4.5.11-fd-leak.patch b/SOURCES/findutils-4.5.11-fd-leak.patch new file mode 100644 index 0000000..6959919 --- /dev/null +++ b/SOURCES/findutils-4.5.11-fd-leak.patch @@ -0,0 +1,134 @@ +From 08c5fbec81ff04a6fd307ed07eddccefa3b43d44 Mon Sep 17 00:00:00 2001 +From: Bernhard Voelker +Date: Fri, 2 Aug 2013 12:16:44 +0200 +Subject: [PATCH] find: fix fd leak with --execdir option (bug#34976) + +Prevent "Failed to save working dir[...]: Too many open files" +error by closing the file descriptor of the working directory. + +* find/exec.c (impl_pred_exec): Free the working directory if find +executes the command in the local dir, i.e. if it has been saved +by record_exec_dir(). +* find/testsuite/sv-34976-execdir-fd-leak.sh: Add test. +* find/testsuite/Makefile.am (test_shell_progs): Mention the test. + +Upstream-commit: 183115d0484816336f9c4d2a3198b5eae2ad4b92 +Signed-off-by: Kamil Dudka +--- + find/exec.c | 2 + + find/testsuite/Makefile.am | 2 +- + find/testsuite/sv-34976-execdir-fd-leak.sh | 76 ++++++++++++++++++++++++++++++ + 3 files changed, 79 insertions(+), 1 deletion(-) + create mode 100644 find/testsuite/sv-34976-execdir-fd-leak.sh + +diff --git a/find/exec.c b/find/exec.c +index f731d82..60d9109 100644 +--- a/find/exec.c ++++ b/find/exec.c +@@ -213,6 +213,8 @@ impl_pred_exec (const char *pathname, + { + result = false; + } ++ if (local) ++ free_cwd (execp->wd_for_exec); + } + if (buf) + { +diff --git a/find/testsuite/Makefile.am b/find/testsuite/Makefile.am +index a1e49b8..e8b1173 100644 +--- a/find/testsuite/Makefile.am ++++ b/find/testsuite/Makefile.am +@@ -247,7 +247,7 @@ EXTRA_DIST_GOLDEN = \ + test_escapechars.golden + + test_shell_progs = sv-bug-32043.sh test_escapechars.sh test_escape_c.sh \ +- test_inode.sh sv-34079.sh ++ test_inode.sh sv-34079.sh sv-34976-execdir-fd-leak.sh + + EXTRA_DIST = $(EXTRA_DIST_EXP) $(EXTRA_DIST_XO) $(EXTRA_DIST_GOLDEN) \ + $(test_shell_progs) binary_locations.sh +diff --git a/find/testsuite/sv-34976-execdir-fd-leak.sh b/find/testsuite/sv-34976-execdir-fd-leak.sh +new file mode 100644 +index 0000000..2d5dace +--- /dev/null ++++ b/find/testsuite/sv-34976-execdir-fd-leak.sh +@@ -0,0 +1,76 @@ ++#! /bin/sh ++# Copyright (C) 2013 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 ++# the Free Software Foundation, either version 3 of the License, or ++# (at your option) any later version. ++# ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License ++# along with this program. If not, see . ++# ++ ++# This test verifies that find does not leak a file descriptor for the working ++# directory specified by the -execdir option [Savannah bug #34976]. ++ ++testname="$(basename $0)" ++ ++. "${srcdir}"/binary_locations.sh ++ ++# Test if restricting the number of file descriptors via ulimit -n works. ++test_ulimit() { ++ n="$1" # number of files ++ l="$2" # limit to use ++ ( ++ ulimit -n "$l" || exit 1 ++ for i in $(seq $n) ; do ++ printf "exec %d> /dev/null || exit 1\n" $i ++ done | sh ; ++ ) 2>/dev/null ++} ++# Opening 30 files with a limit of 40 should work. ++test_ulimit 30 40 || { echo "SKIP: ulimit does not work" >&2; exit 0 ; } ++# Opening 30 files with a limit of 20 should fail. ++test_ulimit 30 20 && { echo "SKIP: ulimit does not work" >&2; exit 0 ; } ++ ++die() { ++ echo "$@" >&2 ++ exit 1 ++} ++ ++# Create test files, each 100 in the directories ".", "one" and "two". ++make_test_data() { ++ d="$1" ++ ( ++ cd "$1" || exit 1 ++ mkdir one two || exit 1 ++ for i in $(seq 0 100) ; do ++ printf "./%03d one/%03d two/%03d " $i $i $i ++ done \ ++ | xargs touch || exit 1 ++ ) \ ++ || die "failed to set up the test in ${outdir}" ++} ++ ++outdir="$(mktemp -d)" || die "FAIL: could not create a test files." ++ ++# Create some test files. ++make_test_data "${outdir}" || die "FAIL: failed to set up the test in ${outdir}" ++ ++fail=0 ++for exe in "${ftsfind}" "${oldfind}"; do ++ ( ulimit -n 30 && \ ++ ${exe} "${outdir}" -type f -execdir cat '{}' \; >/dev/null; ) \ ++ || { \ ++ echo "Option -execdir of ${exe} leaks file descriptors" >&2 ; \ ++ fail=1 ; \ ++ } ++done ++ ++rm -rf "${outdir}" || exit 1 ++exit $fail +-- +2.5.0 + diff --git a/SOURCES/findutils-4.5.11-ppc-gnulib-tests.patch b/SOURCES/findutils-4.5.11-ppc-gnulib-tests.patch new file mode 100644 index 0000000..a9801ab --- /dev/null +++ b/SOURCES/findutils-4.5.11-ppc-gnulib-tests.patch @@ -0,0 +1,84 @@ +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/SOURCES/findutils-4.5.7-warnings.patch b/SOURCES/findutils-4.5.7-warnings.patch new file mode 100644 index 0000000..1f65f23 --- /dev/null +++ b/SOURCES/findutils-4.5.7-warnings.patch @@ -0,0 +1,166 @@ +From 1b7065f25457fea9f9ee7100437b12815b92a38c Mon Sep 17 00:00:00 2001 +From: Kamil Dudka +Date: Wed, 11 May 2011 16:46:57 +0200 +Subject: [PATCH 4/4] findutils-4.5.7-warnings.patch + +--- + find/Makefile.am | 2 +- + find/defs.h | 2 +- + find/exec.c | 2 +- + find/find.c | 14 +------------- + find/pred.c | 2 +- + lib/Makefile.am | 2 +- + xargs/Makefile.am | 2 +- + xargs/xargs.c | 5 +++-- + 8 files changed, 10 insertions(+), 21 deletions(-) + +diff --git a/find/Makefile.am b/find/Makefile.am +index 0795b87..f1068bf 100644 +--- a/find/Makefile.am ++++ b/find/Makefile.am +@@ -36,7 +36,7 @@ endif + # We don't just include man_MANS in EXTRA_DIST because while the value of + # man_MANS is not always the same, we want to distribute all of those files. + EXTRA_DIST = defs.h sharefile.h print.h find.1 ftsfind.1 oldfind.1 +-INCLUDES = -I../gl/lib -I$(top_srcdir)/lib -I$(top_srcdir)/gl/lib -I../intl -DLOCALEDIR=\"$(localedir)\" ++AM_CPPFLAGS = -I../gl/lib -I$(top_srcdir)/lib -I$(top_srcdir)/gl/lib -I../intl -DLOCALEDIR=\"$(localedir)\" + LDADD = ./libfindtools.a ../lib/libfind.a ../gl/lib/libgnulib.a $(LIBINTL) $(LIB_CLOCK_GETTIME) $(LIB_EACCESS) $(LIB_SELINUX) $(LIB_CLOSE) $(MODF_LIBM) $(FINDLIBS) $(GETHOSTNAME_LIB) $(LIB_EACCESS) + # gnulib advises we link against because we use : + # $(GETHOSTNAME_LIB) uname +diff --git a/find/defs.h b/find/defs.h +index 366edab..f25b700 100644 +--- a/find/defs.h ++++ b/find/defs.h +@@ -258,7 +258,7 @@ struct predicate + + /* Only used for debugging, but defined unconditionally so individual + modules can be compiled with -DDEBUG. */ +- char *p_name; ++ const char *p_name; + + /* The type of this node. There are two kinds. The first is real + predicates ("primaries") such as -perm, -print, or -exec. The +diff --git a/find/exec.c b/find/exec.c +index aa69fe3..f731d82 100644 +--- a/find/exec.c ++++ b/find/exec.c +@@ -324,7 +324,7 @@ launch (struct buildcmd_control *ctl, void *usercontext, int argc, char **argv) + } + } + +- if (bc_args_exceed_testing_limit (argv)) ++ if (bc_args_exceed_testing_limit ((const char **) argv)) + errno = E2BIG; + else + execvp (argv[0], argv); +diff --git a/find/find.c b/find/find.c +index 5d287b5..00a2a6c 100644 +--- a/find/find.c ++++ b/find/find.c +@@ -528,6 +528,7 @@ wd_sanity_check (const char *thing_to_stat, + #ifdef STAT_MOUNTPOINTS + isfatal = dirchange_is_fatal (specific_what,isfatal,silent,newinfo); + #else ++ (void) silent; + isfatal = RETRY_IF_SANITY_CHECK_FAILS; + #endif + } +@@ -1302,7 +1303,6 @@ process_dir (char *pathname, char *name, int pathlen, const struct stat *statp, + { + int subdirs_left; /* Number of unexamined subdirs in PATHNAME. */ + bool subdirs_unreliable; /* if true, cannot use dir link count as subdir limif (if false, it may STILL be unreliable) */ +- unsigned int idx; /* Which entry are we on? */ + struct stat stat_buf; + size_t dircount = 0u; + DIR *dirp; +@@ -1519,7 +1519,6 @@ process_dir (char *pathname, char *name, int pathlen, const struct stat *statp, + if (strcmp (name, ".")) + { + enum SafeChdirStatus status; +- struct dir_id did; + + /* We could go back and do the next command-line arg + instead, maybe using longjmp. */ +@@ -1555,17 +1554,6 @@ process_dir (char *pathname, char *name, int pathlen, const struct stat *statp, + "%s", safely_quote_err_filename (0, pathname)); + return; + } +- +- if (dir_curr > 0) +- { +- did.dev = dir_ids[dir_curr-1].dev; +- did.ino = dir_ids[dir_curr-1].ino; +- } +- else +- { +- did.dev = starting_stat_buf.st_dev; +- did.ino = starting_stat_buf.st_ino; +- } + } + + free (cur_path); +diff --git a/find/pred.c b/find/pred.c +index 88dacd9..e9c9a49 100644 +--- a/find/pred.c ++++ b/find/pred.c +@@ -1216,7 +1216,7 @@ pred_context (const char *pathname, struct stat *stat_buf, + Return BUF. */ + + static char * +-blank_rtrim (char *str, char *buf) ++blank_rtrim (const char *str, char *buf) + { + int i; + +diff --git a/lib/Makefile.am b/lib/Makefile.am +index bbb4dc2..eba43d2 100644 +--- a/lib/Makefile.am ++++ b/lib/Makefile.am +@@ -28,7 +28,7 @@ DISTCLEANFILES = + MAINTAINERCLEANFILES = + + +-INCLUDES = -I../gl/lib -I$(top_srcdir)/gl/lib ++AM_CPPFLAGS = -I../gl/lib -I$(top_srcdir)/gl/lib + LDADD = ../gl/lib/libgnulib.a $(LIBINTL) + + libfind_a_SOURCES += printquoted.h listfile.h \ +diff --git a/xargs/Makefile.am b/xargs/Makefile.am +index d34f87a..1cfe3e4 100644 +--- a/xargs/Makefile.am ++++ b/xargs/Makefile.am +@@ -3,7 +3,7 @@ AM_CFLAGS = $(WARN_CFLAGS) + localedir = $(datadir)/locale + bin_PROGRAMS = xargs + man_MANS = xargs.1 +-INCLUDES = -I.. -I../gl/lib -I$(top_srcdir)/gl/lib -I$(top_srcdir)/lib -I../intl -DLOCALEDIR=\"$(localedir)\" ++AM_CPPFLAGS = -I.. -I../gl/lib -I$(top_srcdir)/gl/lib -I$(top_srcdir)/lib -I../intl -DLOCALEDIR=\"$(localedir)\" + LDADD = ../lib/libfind.a ../gl/lib/libgnulib.a $(LIB_CLOSE) $(LIBINTL) + EXTRA_DIST = $(man_MANS) + SUBDIRS = . testsuite +diff --git a/xargs/xargs.c b/xargs/xargs.c +index 3cc1832..35f6822 100644 +--- a/xargs/xargs.c ++++ b/xargs/xargs.c +@@ -1208,7 +1208,7 @@ xargs_do_exec (struct buildcmd_control *ctl, void *usercontext, int argc, char * + + prep_child_for_exec (); + +- if (bc_args_exceed_testing_limit (argv)) ++ if (bc_args_exceed_testing_limit ((const char **) argv)) + errno = E2BIG; + else + execvp (argv[0], argv); +@@ -1226,7 +1226,8 @@ xargs_do_exec (struct buildcmd_control *ctl, void *usercontext, int argc, char * + * utility if we run it, for POSIX compliance on the + * handling of exit values. + */ +- write (fd[1], &errno, sizeof (int)); ++ int sink = write (fd[1], &errno, sizeof (int)); ++ (void) sink; + } + + close (fd[1]); +-- +1.7.4.4 + diff --git a/SPECS/findutils.spec b/SPECS/findutils.spec new file mode 100644 index 0000000..f47e85a --- /dev/null +++ b/SPECS/findutils.spec @@ -0,0 +1,525 @@ +Summary: The GNU versions of find utilities (find and xargs) +Name: findutils +Version: 4.5.11 +Release: 6%{?dist} +Epoch: 1 +License: GPLv3+ +Group: Applications/File +URL: http://www.gnu.org/software/findutils/ +Source0: ftp://alpha.gnu.org/gnu/findutils/%{name}-%{version}.tar.gz + +# do not build locate +Patch1: findutils-4.4.0-no-locate.patch + +# learn find to recognize autofs file system by reading /proc/mounts +# as autofs mount points are not listed in /etc/mtab +Patch2: findutils-4.4.2-autofs.patch + +# add a new option -xautofs to find to not descend into directories on autofs +# file systems +Patch3: findutils-4.4.2-xautofs.patch + +# eliminate compile-time warnings +Patch4: findutils-4.5.7-warnings.patch + +# eliminate failure of gnulib tests on little-endian PowerPC (#1083145) +Patch5: findutils-4.5.11-ppc-gnulib-tests.patch + +# print a warning if find -perm +omode is used (#1116237) +Patch6: findutils-4.5.11-bz1116237.patch + +# fix file descriptor leak with --execdir option (#1309633) +Patch7: findutils-4.5.11-fd-leak.patch + +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info +Conflicts: filesystem < 3 +Provides: /bin/find +Provides: bundled(gnulib) + +Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildRequires: automake +BuildRequires: dejagnu +BuildRequires: gettext-devel +BuildRequires: libselinux-devel +BuildRequires: texinfo + +%description +The findutils package contains programs which will help you locate +files on your system. The find utility searches through a hierarchy +of directories looking for files which match a certain set of criteria +(such as a file name pattern). The xargs utility builds and executes +command lines from standard input arguments (usually lists of file +names generated by the find command). + +You should install findutils because it includes tools that are very +useful for finding things on your system. + +%prep +%setup -q +rm -rf locate +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 +%patch5 -p1 +%patch6 -p1 + +%patch7 -p1 +chmod 0755 "find/testsuite/sv-34976-execdir-fd-leak.sh" + +# needed because of findutils-4.4.0-no-locate.patch +autoreconf -iv + +%build +%configure + +# uncomment to turn off optimizations +#find -name Makefile | xargs sed -i 's/-O2/-O0/' + +make %{?_smp_mflags} + +%check +make check + +%install +make install DESTDIR=$RPM_BUILD_ROOT + +rm -f $RPM_BUILD_ROOT%{_infodir}/dir + +%find_lang %{name} + +%post +if [ -f %{_infodir}/find.info.gz ]; then + /sbin/install-info %{_infodir}/find.info.gz %{_infodir}/dir || : +fi + +%preun +if [ $1 = 0 ]; then + if [ -f %{_infodir}/find.info.gz ]; then + /sbin/install-info --delete %{_infodir}/find.info.gz %{_infodir}/dir || : + fi +fi + +%files -f %{name}.lang +%doc AUTHORS COPYING NEWS README THANKS TODO ChangeLog +%{_bindir}/find +%{_bindir}/oldfind +%{_bindir}/xargs +%{_mandir}/man1/find.1* +%{_mandir}/man1/oldfind.1* +%{_mandir}/man1/xargs.1* +%{_infodir}/find.info* +%{_infodir}/find-maint.info.gz + +%changelog +* Thu Feb 18 2016 Kamil Dudka - 1:4.5.11-6 +- fix file descriptor leak with --execdir option (#1309633) + +* Mon Jun 01 2015 Kamil Dudka - 1:4.5.11-5 +- print a warning if find -perm +omode is used (#1116237) + +* Fri Aug 01 2014 Kamil Dudka - 1:4.5.11-4 +- eliminate failure of gnulib tests on little-endian PowerPC (#1125504) + +* Fri Jan 24 2014 Daniel Mach - 1:4.5.11-3 +- Mass rebuild 2014-01-24 + +* Fri Dec 27 2013 Daniel Mach - 1:4.5.11-2 +- Mass rebuild 2013-12-27 + +* Sun Feb 03 2013 Kamil Dudka - 1:4.5.11-1 +- new upstream release + +* Tue Aug 28 2012 Kamil Dudka - 1:4.5.10-7 +- fix specfile issues reported by the fedora-review script +- do not use the AM_C_PROTOTYPES macro (removed in Automake 1.12) +- do not require gets() to be declared + +* Thu Jul 19 2012 Fedora Release Engineering - 1:4.5.10-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Wed May 16 2012 Kamil Dudka - 1:4.5.10-5 +- add virtual provides for bundled(gnulib) copylib (#821753) + +* Wed Jan 25 2012 Harald Hoyer 1:4.5.10-4 +- add filesystem guard + +* Wed Jan 25 2012 Harald Hoyer 1:4.5.10-3 +- install everything in /usr + https://fedoraproject.org/wiki/Features/UsrMove + +* Fri Jan 13 2012 Fedora Release Engineering - 1:4.5.10-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Wed May 11 2011 Kamil Dudka - 1:4.5.10-1 +- new upstream release + +* Tue Feb 08 2011 Fedora Release Engineering - 1:4.5.9-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Mon May 24 2010 Kamil Dudka - 1:4.5.9-2 +- fix some bugs in handling of -execdir (Savannah bug #29949) + +* Wed May 05 2010 Kamil Dudka - 1:4.5.9-1 +- new upstream release, dropped applied patches + +* Tue Apr 06 2010 Kamil Dudka - 1:4.5.7-4 +- avoid assertion failure due to access permissions (#579476) + +* Sun Apr 04 2010 Kamil Dudka - 1:4.5.7-3 +- upstream bugfix http://savannah.gnu.org/bugs/?29435 + +* Sat Apr 03 2010 Kamil Dudka - 1:4.5.7-2 +- avoid assertion failure on non-recognized O_CLOEXEC + +* Sat Apr 03 2010 Kamil Dudka - 1:4.5.7-1 +- new upstream release, dropped applied patches +- eliminated compile-time warnings + +* Thu Nov 26 2009 Kamil Dudka - 1:4.4.2-6 +- update SELinux patch to the latest upstream (gnulib based) version + +* Wed Nov 18 2009 Kamil Dudka - 1:4.4.2-5 +- do not fail silently on a remount during traverse (#538536) + +* Tue Oct 20 2009 Kamil Dudka - 1:4.4.2-4 +- make it possible to recognize an autofs filesystem by find +- add a new find's option -xautofs to not descend directories on autofs + filesystems + +* Mon Sep 14 2009 Kamil Dudka - 1:4.4.2-3 +- do process install-info only without --excludedocs(#515914) + +* Fri Jul 24 2009 Fedora Release Engineering - 1:4.4.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Wed Jul 1 2009 Vitezslav Crhonek - 1:4.4.2-1 +- Update to findutils-4.4.2 + +* Tue Feb 24 2009 Fedora Release Engineering - 1:4.4.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Wed Apr 30 2008 Vitezslav Crhonek - 1:4.4.0-1 +- Update to findutils-4.4.0 + Resolves: #437733 + +* Mon Apr 14 2008 Vitezslav Crhonek - 1:4.2.33-3 +- Move find to /bin + Resolves: #438183 + +* Fri Mar 28 2008 Vitezslav Crhonek - 1:4.2.33-2 +- Fix xargs ARG_MAX assert + Resolves: #439168 + +* Fri Feb 15 2008 Vitezslav Crhonek - 1:4.2.33-1 +- Update to findutils-4.2.33 +- Fix License + +* Wed Feb 13 2008 Vitezslav Crhonek - 1:4.2.32-1 +- Update to findutils-4.2.32 + +* Mon Feb 11 2008 Vitezslav Crhonek - 1:4.2.31-4 +- Rebuild + +* Fri Jan 18 2008 Vitezslav Crhonek - 1:4.2.31-3 +- Rebuild + +* Thu Aug 23 2007 Vitezslav Crhonek - 1:4.2.31-2 +- fix license +- rebuild + +* Tue Jun 12 2007 Vitezslav Crhonek - 1:4.2.31-1 +- Update to findutils-4.2.31 + Resolves: #243732 + +* Fri Jan 5 2007 Miloslav Trmac - 1:4.2.29-2 +- Ignore install-info errors in scriptlets + +* Sun Nov 26 2006 Miloslav Trmac - 1:4.2.29-1 +- Update to findutils-4.2.29 +- Fix some rpmlint warnings + +* Wed Jul 12 2006 Jesse Keating - 1:4.2.27-4.1 +- rebuild + +* Sun Feb 19 2006 Miloslav Trmac - 1:4.2.27-4 +- Report the correct directory when hard link count is inconsistent (#182001) + +* Fri Feb 10 2006 Jesse Keating - 1:4.2.27-3.2 +- bump again for double-long bug on ppc(64) + +* Tue Feb 07 2006 Jesse Keating - 1:4.2.27-3.1 +- rebuilt for new gcc4.1 snapshot and glibc changes + +* Mon Jan 30 2006 Miloslav Trmac - 1:4.2.27-3 +- Updated SELinux patch, --context is no longer valid (use -context) + +* Thu Jan 12 2006 Miloslav Trmac - 1:4.2.27-2 +- Don't use uninitialized memory in -printf %%Z (#174485) +- Ship more documentation files +- Clean up the spec file a bit + +* Fri Dec 09 2005 Jesse Keating +- rebuilt + +* Wed Dec 7 2005 Tim Waugh 1:4.2.27-1 +- 4.2.27. +- No longer need arg_max patch. + +* Mon Nov 21 2005 Tim Waugh 1:4.2.26-1 +- One further arg_max fix for PPC. +- Applied arg_max patch from upstream to fix test suite failures. +- 4.2.26 (fixes bug #173817). + +* Tue Oct 11 2005 Dan Walsh 1:4.2.25-3 +- Fix selinux patch + +* Mon Sep 5 2005 Tim Waugh 1:4.2.25-2 +- 4.2.25. + +* Mon Jun 20 2005 Tim Waugh 1:4.2.23-1 +- 4.2.23. + +* Thu Mar 17 2005 Tim Waugh 1:4.2.20-1 +- 4.2.20. + +* Mon Mar 14 2005 Tim Waugh 1:4.2.18-3 +- Applied patch from Robert Scheck to fix compilation with GCC 4 (bug #151031). + +* Wed Mar 2 2005 Tim Waugh 1:4.2.18-2 +- Rebuild for new GCC. + +* Mon Feb 21 2005 Tim Waugh 1:4.2.18-1 +- 4.2.18. + +* Mon Feb 14 2005 Tim Waugh 1:4.2.15-2 +- Added nofollow patch from upstream. + +* Mon Jan 31 2005 Tim Waugh 1:4.2.15-1 +- 4.2.15. Lots of patches removed due to upstream merge. + +* Tue Jan 4 2005 Dan Walsh 1:4.1.20-8 +- Change --context to use fnmatch instead of strcmp + +* Tue Dec 7 2004 Tim Waugh +- Removed "G" and "M" size qualifiers from man page, since support for + those is not in the stable branch (bug #141987). + +* Tue Oct 19 2004 Tim Waugh 1:4.1.20-7 +- Better xargs ARG_SIZE handling (bug #135129). + +* Fri Oct 15 2004 Tim Waugh +- Fixed d_type patch for underquoted m4 macro. + +* Fri Oct 8 2004 Tim Waugh +- Use upstream patch for find -size man page fix. + +* Wed Oct 6 2004 Tim Waugh 1:4.1.20-6 +- Fixed bug #126352. + +* Tue Oct 5 2004 Tim Waugh 1:4.1.20-5 +- Build requires gettext-devel, texinfo (bug #134692). + +* Thu Sep 30 2004 Tim Waugh 1:4.1.20-4 +- Set re->translate before re_compile_pattern (bug #134190). + +* Sun Aug 1 2004 Alan Cox 1:4.1.20-3 +- Fix build with current auto* tools (Steve Grubb) + +* Tue Jul 6 2004 Tim Waugh 1:4.1.20-2 +- Fix -iregex (bug #127297). + +* Fri Jun 25 2004 Tim Waugh 1:4.1.20-1 +- Clarify find man page (bug #126098). +- Apply changes by Robert Scheck (bug #126352): + - Upgrade to 4.1.20 and some specfile cleanup + +* Tue Jun 15 2004 Elliot Lee +- rebuilt + +* Thu May 20 2004 Tim Waugh 4.1.7-26 +- Fixed build requirements (bug #123746). + +* Sun Mar 14 2004 Tim Waugh 4.1.7-25 +- Apply Jakub Jelinek's patch for xargs -E/-I/-L options. + +* Thu Mar 11 2004 Tim Waugh 4.1.7-24 +- Apply selinux patch last so that it can be turned off (bug #118025). + +* Tue Mar 9 2004 Tim Waugh +- Jakub Jelinek's d_type patch improvement. + +* Sun Mar 7 2004 Tim Waugh 4.1.7-23 +- Run 'make check'. +- Apply Ulrich Drepper's improvement on the d_type patch. + +* Fri Mar 5 2004 Tim Waugh 4.1.7-22 +- Apply Jakub Jelinek's d_type patch for improved efficiency with + many common expressions. + +* Fri Feb 13 2004 Elliot Lee +- rebuilt + +* Tue Jan 27 2004 Dan Walsh 4.1.7-20 +- fix call to is_selinux_enabled + +* Thu Oct 30 2003 Dan Walsh 4.1.7-19 +- Turn off SELinux + +* Thu Oct 30 2003 Dan Walsh 4.1.7-18.sel +- Turn on selinux + +* Sat Oct 25 2003 Tim Waugh 4.1.7-17 +- Rebuilt. + +* Fri Oct 10 2003 Dan Walsh 4.1.7-16 +- Turn off selinux + +* Fri Oct 10 2003 Dan Walsh 4.1.7-15.sel +- Turn on selinux + +* Fri Sep 5 2003 Dan Walsh 4.1.7-15 +- Turn off selinux + +* Thu Aug 28 2003 Dan Walsh 4.1.7-14.sel +- Turn on selinux + +* Fri Jul 18 2003 Dan Walsh 4.1.7-13 +- Add SELinux patch + +* Wed Jun 04 2003 Elliot Lee +- rebuilt + +* Wed Apr 23 2003 Elliot Lee 4.1.7-11 +- Remove config.{sub,guess} to make ppc64 work + +* Mon Mar 17 2003 Tim Waugh 4.1.7-10 +- Make 'xargs -i -n1' behave as expected (bug #86191). + +* Wed Jan 22 2003 Tim Powers 4.1.7-9 +- rebuilt + +* Tue Oct 22 2002 Tim Waugh 4.1.7-8 +- Ship translations. +- Don't install files not packaged. + +* Wed Jul 3 2002 Tim Waugh 4.1.7-7 +- Fix usage message (bug #67828). + +* Fri Jun 21 2002 Tim Powers 4.1.7-6 +- automated rebuild + +* Thu May 23 2002 Tim Powers 4.1.7-5 +- automated rebuild + +* Tue Feb 26 2002 Tim Waugh 4.1.7-4 +- Rebuild in new environment. + +* Tue Feb 12 2002 Tim Waugh 4.1.7-3 +- s/Copyright/License/. +- Fix documentation (bug #53857). + +* Wed Jan 09 2002 Tim Powers +- automated rebuild + +* Sun Jun 03 2001 Florian La Roche +- update to 4.1.7, no additional patch needed anymore + +* Thu Feb 8 2001 Preston Brown +- remove extraneous linking to librt/libpthreads. + +* Tue Oct 17 2000 Florian La Roche +- update to 4.1.6 + +* Wed Jul 12 2000 Prospector +- automatic rebuild + +* Wed Jun 28 2000 Preston Brown +- revert to 4.1.5 ( :) ) on the advice of HJ Lu +- patch to fix finding w/ -perm flag + +* Tue Jun 27 2000 Preston Brown +- revert to 4.1.4 +- reapply numblks patch +- generate new nolocate patch, we don't ship it. + +* Mon Jun 12 2000 Preston Brown +- 4.1.5, FHS paths +- remove mktemp,getshort patches (don't ship locate) +- alpha, numblks patch no longer needed + +* Mon Apr 3 2000 Bernhard Rosenkraenzer +- 4.1.4 +- remove some obsolete patches, adapt others +- fix build on alpha + +* Wed Feb 02 2000 Cristian Gafton +- fix summary +- ma pages are compressed + +* Wed Jan 12 2000 Preston Brown +- new description. + +* Fri Aug 27 1999 Preston Brown +- fixed block count bug (# 2141) + +* Mon Mar 29 1999 Preston Brown +- patch to fix xargs out of bounds overflow (bug # 1279) + +* Sun Mar 21 1999 Cristian Gafton +- auto rebuild in the new build environment (release 30) + +* Fri Mar 19 1999 Jeff Johnson +- strip binaries. + +* Mon Feb 8 1999 Jeff Johnson +- remove further updatedb remnants (#1072). + +* Thu Dec 03 1998 Cristian Gafton +- added patch for glibc21 + +* Mon Nov 16 1998 Erik Troan +- removed locate stuff (as we now ship slocate) + +* Wed Jun 10 1998 Erik Troan +- updated updatedb cron script to not look for $TMPNAME.n (which was + a relic anyway) +- added -b parameters to all of the patches + +* Fri Apr 24 1998 Prospector System +- translations modified for de, fr, tr + +* Mon Mar 09 1998 Michael K. Johnson +- make updatedb.cron use mktemp correctly +- make updatedb use mktemp + +* Sun Nov 09 1997 Michael K. Johnson +- nobody should own tmpfile +- ignore /net + +* Wed Nov 05 1997 Michael K. Johnson +- made updatedb.cron do a better job of cleaning up after itself. + +* Tue Oct 28 1997 Donald Barnes +- fixed 64 bit-ism in getline.c, patch tacked on to end of glibc one + +* Thu Oct 23 1997 Erik Troan +- added patch for glibc 2.1 + +* Fri Oct 17 1997 Donnie Barnes +- added BuildRoot support + +* Tue Oct 14 1997 Michael K. Johnson +- made updatedb.cron work even if "nobody" can't read /root +- use mktemp in updatedb.cron + +* Sun Sep 14 1997 Erik Troan +- added missing info pages +- uses install-info + +* Mon Jun 02 1997 Erik Troan +- built with glibc + +* Mon Apr 21 1997 Michael K. Johnson +- fixed updatedb.cron