[ANNOUNCEMENT] Updated: findutils 4.8

Cygwin findutils co-Maintainer Brian.Inglis@SystematicSW.ab.ca
Fri Aug 6 08:04:38 GMT 2021


The following packages have been upgraded in the Cygwin distribution:

* findutils	4.8

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 filename pattern).
The xargs utility builds and executes command lines from standard input
arguments (usually lists of file names generated by the find command).
The locate utility scans a database of filenames and displays matches.
The updatedb utility builds the database for locate.

For more information see the project home page:

	https://www.gnu.org/software/findutils/

Please see below or read /usr/share/doc/findutils/NEWS after
installation for details of changes since the previous release:

	https://git.savannah.gnu.org/cgit/findutils.git/tree/NEWS

Noteworthy changes in release 4.8.0 (2020-01-09) [stable]

* Changes in xargs
  'xargs -t' no longer outputs a trailing blank to stderr after the last
  argument of each constructed command line to be executed.

  xargs now warns when more than one of the conflicting options
  --max-lines (-L, -l), --replace (-i/-I) and --max-args (-n) are
  specified on the command line.

* Bug Fixes
  find no longer crashes when an XFS filesystem is heavily changed
  during the run.

  find -used works again. This predicate was not working properly since
  adding the support for sub-second timestamp resolution for various
  predicates in FINDUTILS_4_3_3-1 back in 2007.

* Improvements
  'find -D exec' now diagnoses all -exec, -execdir, -ok and -okdir runs
  including the call arguments and the exit code of the launched
  process.

* Documentation Changes
  The documentation of 'find -printf %Ak' has been improved: it now
  refers to the strftime(3) documentation for a complete list of
  supported conversion specifiers, and documents the 'F' conversion
  specifier ('yyyy-mm-dd').

  The man pages (find.1, locate.1, locatedb.5, updatedb.1, and xargs.1)
  now consistently end with the sections "REPORTING BUGS", "COPYRIGHT"
  and "SEE ALSO", with the latter referring to the online page on the
  GNU web server.

  The "EXAMPLES" section in the find.1 man page now shows the examples
  in a better structure and uses consistent formatting.

  Various man page fixes - syntax issues and typos.

* Other documentation changes:
  doc: clarify that 'find -perm +MODE' is unrelated to umask

  doc: improve section 'Hard links', especially fix the description
  regarding 'find -L -samefile FILE'.

  find.1: clarify double dash '--' option

  'xargs --help' now mentions that --replace (-I, -i) splits the input
  at newline characters.

  doc: enhance description of tests accepting numeric arguments in find.1

  Add additional valuable example of find -quit

  Fix testsuite error on Hurd and BSD related to ln

  Clarify descriptions of -printf %f, %h.

* Changes to the build process
  The configure option --without-fts has been removed. The attempt to
  use it stopped configure with an error message since 4.5.18 (2015)
  anyway.


Major changes in release 4.7.0, 2019-08-29

* Changes to locate / updatedb
  Support for generating old-format databases (with updatedb
  --old-format or updatedb --dbformat=old) has been removed. The old
  database format was deprecated in 2007 (and updatedb has warned about
  this since that time). The locate program will will read old-format
  databases, though this support also will be removed.

  The updatedb script now operates in the C locale only. This means that
  character encoding issues are now not likely to cause sort to fail. It
  also honours the TMPDIR environment variable if that was set, and no
  longer sorts file names case-insensitively.

  The (unspecified) order in which filenames are stored in the locate
  database is now different to previous versions. However, you should
  not rely on locate's output appearing in any particular order in any
  case.

* Improvements
  All utilities now only show the full usage text when requested via the
  --help option. Previously, when the user passed invalid options or
  arguments, the user's attention to the corresponding error diagnostic
  was distracted by that lengthy text.

  find now accepts multiple file type arguments to the -type and -xtype
  options separated by comma ','. For example, to search for symbolic
  links and directories simply provide the shorter '-type l,d' instead
  of the - yet more portable - '( -type l -o -type d )'.

  find now diagnoses failures returned by readdir(). This bug was
  inherent in the use of FTS.

  find now exits in more cases immediately after the error diagnostic,
  i.e., without the following usage text, to make the former more
  eye-catching.

  find now outputs a better hint in case the user passed an unquoted
  shell- glob pattern to options like -name, i.e., when the offending
  argument is an existing file.

  find now supports the debug option '-D all' to include all of the
  other debug options at once.

  xargs now supports the -o, --open-tty option to reopen stdin as
  /dev/tty in the child process before executing the command; useful to
  run an interactive application. Added for compatibility with BSD.

  xargs now supports the GNU_FINDUTILS_FD_LEAK_CHECK environment
  variable to enable/disable fd leak check.

  'xargs -t' (--verbose) now properly quotes each part of the command to
  the executed if needed when printing it to stderr; likewise -p
  (--interactive).

* Documentation Changes
  Prefer https:// over http:// links where possible, e.g. for
  '*.gnu.org' servers.

  Both find.1 and the find texinfo manual now consistently document all
  of the 'N', 'L' and '?' possibilities in '-printf %Y' output when the
  determination of the type of a symlink target fails.

  find.1 now correctly states the -prune has no effect when the -depth
  option is given. Before, it wrongly stated that -prune would return
  false in that case.

  Some minor documentation improvements are listed in "Bug Fixes" below.

* Bug Fixes
  find: improve diagnostic when a global option like -maxdepth is
  specified after another argument like a test, thus hopefully avoiding
  translation issues (at least French, German).

  doc: fix bug #56142 by specifying which actions inhibit the default
  -print.

  find: improve diagnostic when -name or -iname is used with a pattern
  containing a directory separator ('/'), suggesting to use -wholename
  or -iwholename respectively.

  doc: fix typo in 'xargs -l' examples in texinfo manual. Change from
  'xargs -1' (minus one) to 'xargs -l' (minus El) in 3 places.

  doc: fix the examples of the -perm option in the texinfo
  documentation. The example '-perm -g+w,o+w' was misplaced. Bug present
  since FINDUTILS_4_2_27-1.

  'find -printf "%Y"' now correctly outputs 'N' for broken symlinks
  (ENOENT or ENOTDIR). Previously, it output 'l' in such a case. Bug
  introduced while attempting to fix #29460 in version v4.5.8.

  'find -depth' now outputs the name of unreadable directories.
  Previously, FTS-based find missed to output those entries. Bug present
  since the FTS implementation in FINDUTILS_4_3_0-1.

  find: the '-delete' action no longer complains about disappeared files
  when the '-ignore_readdir_race' option is given, too. That action will
  also returns true in such a case now.

  'find -D' without any further argument no longer crashes. Bug present
  since the implementation of -D in FINDUTILS_4_3_1-1.

  doc: use correct IEC unit prefixes in the documentation of 'find
  -size'. find(1) uses binary-based units for the suffixes 'k', 'M', and
  'G' of the argument of the '-size' option: 1024, 1024*1024 and 1024^3.
  Therefore, the documentation should use the correct IEC prefixes
  kibibyte, mebibyte and gibibyte respectively (or their abbreviations
  'KiB', 'MiB' and 'GiB').

  doc: fix the description of the -perm examples matching the permission
  mode "022" in find's texinfo manual: the match is for the file's group
  and 'other' mode bits instead of for user and group. Bug introduced
  when adding the -perm examples in FINDUTILS-4.2.11.

  find no longer leaks memory for a recently added member in gnulib's
  mount list structure.

  find -printf '%h' now outputs the correct path for arguments with one
  or more trailing slashes. Previously, it would e.g. output "foo"
  instead of "." when "foo/" was passed; likewise, it would output
  "/user/xxx/" instead of "/user" when "/user/xxx//" was passed. Bug
  introduced in FINDUTILS-4.2.19.

  find -noop (an internal option not intended to be exposed to the user)
  no longer crashes. Bug introduced in FINDUTILS-4.3.1.

  find -exec + does not pass all arguments for certain specific filename
  lengths. After the internal (usually 128k) buffer is full and find(1)
  executed the given command with these arguments, it would miss to run
  the command yet another time if only one other file argument has to be
  processed. Bug introduced in FINDUTILS-4.2.12.

  frcode drops last char if no final newline

* Changes to the build process
  The configure option --enable-id-cache has been removed. It has been a
  no-op since findnutils-4.5.15.

  The configure option --enable-debug has been removed. Debugging in
  find is now controlled by its -D option only.

  The configure option --enable-silent-rules is the default now. Use
  --disable-silent-rules or "make V=1" to get verbose build output.

  "make dist" no longer builds .tar.gz files. xz is portable enough and
  in wide-enough use that distributing only .tar.xz files is enough.

  Maintainer builds from the Git repository now derive the version
  string from the version control system instead of using a fixed string
  (changed after each release manually). As a result, the inter-release
  builds can now be distinguished: e.g. "4.6.0.152-fe9c" is the 152th
  commit after the tag "v4.6.0" and has the Git short hash "fe9c".
  Builds from an unclean tree are marked with the suffix "-dirty".

  The translation files in the PO directory are no longer version
  controlled; instead bootstrap auto-updates them from
  "translationproject.org" during a maintainer build.

  A shell-style test framework borrowed from GNU coreutils has been
  added. This allows better tests with more control over stdin, stdout,
  stderr, signals, preparatory steps, cleanup, return code verification,
  root-only tests, etc.



More information about the Cygwin mailing list