Sat Oct 16 00:51:18 2021 UTC ()
findutils: Update to 4.8.0

Changelog:
* 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.  [#57291]

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.
[#52137]

** Bug Fixes

find no longer crashes when an XFS filesystem is heavily changed during the run.
Discussed at: <https://lists.gnu.org/r/bug-gnulib/2020-04/msg00068.html>

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.
Discussed at: <https://lists.gnu.org/r/bug-findutils/2019-11/msg00010.html>

** 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. [#59083]

** 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.
[#59745, #59330, #59012, #58193, #57807, #57775]

Other documentation changes:

#58654: doc: clarify that 'find -perm +MODE' is unrelated to umask

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

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

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

#57025: doc: enhance description of tests accepting numeric arguments in find.1
        [see also #49640].

#54730: Add additional valuable example of find -quit

#48135: Fix testsuite error on Hurd and BSD related to ln

#35253: 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

#56820: 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).

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

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

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

#54838: 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.

#54262: '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.

#54171: '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.

#52981: 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.

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

#51304: 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').

#50758: 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.

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

#50259: 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.

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

#48030: 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.

#46784: 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.


(ryoon)
diff -r1.39 -r1.40 pkgsrc/sysutils/findutils/Makefile
diff -r1.14 -r1.15 pkgsrc/sysutils/findutils/PLIST
diff -r1.20 -r1.21 pkgsrc/sysutils/findutils/distinfo
diff -r1.8 -r1.9 pkgsrc/sysutils/findutils/patches/patch-aa

cvs diff -r1.39 -r1.40 pkgsrc/sysutils/findutils/Makefile (expand / switch to unified diff)

--- pkgsrc/sysutils/findutils/Makefile 2020/01/18 23:35:16 1.39
+++ pkgsrc/sysutils/findutils/Makefile 2021/10/16 00:51:18 1.40
@@ -1,19 +1,19 @@ @@ -1,19 +1,19 @@
1# $NetBSD: Makefile,v 1.39 2020/01/18 23:35:16 rillig Exp $ 1# $NetBSD: Makefile,v 1.40 2021/10/16 00:51:18 ryoon Exp $
2 2
3DISTNAME= findutils-4.6.0 3DISTNAME= findutils-4.8.0
4PKGREVISION= 2 
5CATEGORIES= sysutils 4CATEGORIES= sysutils
6MASTER_SITES= ${MASTER_SITE_GNU:=findutils/} 5MASTER_SITES= ${MASTER_SITE_GNU:=findutils/}
 6EXTRACT_SUFX= .tar.xz
7 7
8MAINTAINER= bouyer@NetBSD.org 8MAINTAINER= bouyer@NetBSD.org
9HOMEPAGE= https://www.gnu.org/software/findutils/findutils.html 9HOMEPAGE= https://www.gnu.org/software/findutils/findutils.html
10COMMENT= The GNU find, locate, updatedb, and xargs utilities 10COMMENT= The GNU find, locate, updatedb, and xargs utilities
11LICENSE= gnu-gpl-v3 # or later 11LICENSE= gnu-gpl-v3 # or later
12 12
13GNU_CONFIGURE= yes 13GNU_CONFIGURE= yes
14INFO_FILES= yes 14INFO_FILES= yes
15USE_PKGLOCALEDIR= yes 15USE_PKGLOCALEDIR= yes
16USE_TOOLS+= gmake 16USE_TOOLS+= gmake
17 17
18LDFLAGS.IRIX+= -lgen 18LDFLAGS.IRIX+= -lgen
19 19

cvs diff -r1.14 -r1.15 pkgsrc/sysutils/findutils/PLIST (expand / switch to unified diff)

--- pkgsrc/sysutils/findutils/PLIST 2016/05/02 05:18:47 1.14
+++ pkgsrc/sysutils/findutils/PLIST 2021/10/16 00:51:18 1.15
@@ -1,31 +1,29 @@ @@ -1,31 +1,29 @@
1@comment $NetBSD: PLIST,v 1.14 2016/05/02 05:18:47 richard Exp $ 1@comment $NetBSD: PLIST,v 1.15 2021/10/16 00:51:18 ryoon Exp $
2bin/gfind 2bin/gfind
3bin/glocate 3bin/glocate
4bin/gupdatedb 4bin/gupdatedb
5bin/gxargs 5bin/gxargs
6gnu/bin/find 6gnu/bin/find
7gnu/bin/locate 7gnu/bin/locate
8gnu/bin/updatedb 8gnu/bin/updatedb
9gnu/bin/xargs 9gnu/bin/xargs
10gnu/man/man1/find.1 10gnu/man/man1/find.1
11gnu/man/man1/locate.1 11gnu/man/man1/locate.1
12gnu/man/man1/updatedb.1 12gnu/man/man1/updatedb.1
13gnu/man/man1/xargs.1 13gnu/man/man1/xargs.1
14gnu/man/man5/locatedb.5 14gnu/man/man5/locatedb.5
15info/find-maint.info 15info/find-maint.info
16info/find.info 16info/find.info
17libexec/gbigram 
18libexec/gcode 
19libexec/gfrcode 17libexec/gfrcode
20man/man1/gfind.1 18man/man1/gfind.1
21man/man1/glocate.1 19man/man1/glocate.1
22man/man1/gupdatedb.1 20man/man1/gupdatedb.1
23man/man1/gxargs.1 21man/man1/gxargs.1
24man/man5/glocatedb.5 22man/man5/glocatedb.5
25share/locale/be/LC_MESSAGES/findutils.mo 23share/locale/be/LC_MESSAGES/findutils.mo
26share/locale/bg/LC_MESSAGES/findutils.mo 24share/locale/bg/LC_MESSAGES/findutils.mo
27share/locale/ca/LC_MESSAGES/findutils.mo 25share/locale/ca/LC_MESSAGES/findutils.mo
28share/locale/cs/LC_MESSAGES/findutils.mo 26share/locale/cs/LC_MESSAGES/findutils.mo
29share/locale/da/LC_MESSAGES/findutils.mo 27share/locale/da/LC_MESSAGES/findutils.mo
30share/locale/de/LC_MESSAGES/findutils.mo 28share/locale/de/LC_MESSAGES/findutils.mo
31share/locale/el/LC_MESSAGES/findutils.mo 29share/locale/el/LC_MESSAGES/findutils.mo
@@ -42,23 +40,22 @@ share/locale/id/LC_MESSAGES/findutils.mo @@ -42,23 +40,22 @@ share/locale/id/LC_MESSAGES/findutils.mo
42share/locale/it/LC_MESSAGES/findutils.mo 40share/locale/it/LC_MESSAGES/findutils.mo
43share/locale/ja/LC_MESSAGES/findutils.mo 41share/locale/ja/LC_MESSAGES/findutils.mo
44share/locale/ko/LC_MESSAGES/findutils.mo 42share/locale/ko/LC_MESSAGES/findutils.mo
45share/locale/lg/LC_MESSAGES/findutils.mo 43share/locale/lg/LC_MESSAGES/findutils.mo
46share/locale/lt/LC_MESSAGES/findutils.mo 44share/locale/lt/LC_MESSAGES/findutils.mo
47share/locale/ms/LC_MESSAGES/findutils.mo 45share/locale/ms/LC_MESSAGES/findutils.mo
48share/locale/nb/LC_MESSAGES/findutils.mo 46share/locale/nb/LC_MESSAGES/findutils.mo
49share/locale/nl/LC_MESSAGES/findutils.mo 47share/locale/nl/LC_MESSAGES/findutils.mo
50share/locale/pl/LC_MESSAGES/findutils.mo 48share/locale/pl/LC_MESSAGES/findutils.mo
51share/locale/pt/LC_MESSAGES/findutils.mo 49share/locale/pt/LC_MESSAGES/findutils.mo
52share/locale/pt_BR/LC_MESSAGES/findutils.mo 50share/locale/pt_BR/LC_MESSAGES/findutils.mo
53share/locale/ro/LC_MESSAGES/findutils.mo 51share/locale/ro/LC_MESSAGES/findutils.mo
54share/locale/ru/LC_MESSAGES/findutils.mo 52share/locale/ru/LC_MESSAGES/findutils.mo
55share/locale/rw/LC_MESSAGES/findutils.mo 
56share/locale/sk/LC_MESSAGES/findutils.mo 53share/locale/sk/LC_MESSAGES/findutils.mo
57share/locale/sl/LC_MESSAGES/findutils.mo 54share/locale/sl/LC_MESSAGES/findutils.mo
58share/locale/sr/LC_MESSAGES/findutils.mo 55share/locale/sr/LC_MESSAGES/findutils.mo
59share/locale/sv/LC_MESSAGES/findutils.mo 56share/locale/sv/LC_MESSAGES/findutils.mo
60share/locale/tr/LC_MESSAGES/findutils.mo 57share/locale/tr/LC_MESSAGES/findutils.mo
61share/locale/uk/LC_MESSAGES/findutils.mo 58share/locale/uk/LC_MESSAGES/findutils.mo
62share/locale/vi/LC_MESSAGES/findutils.mo 59share/locale/vi/LC_MESSAGES/findutils.mo
63share/locale/zh_CN/LC_MESSAGES/findutils.mo 60share/locale/zh_CN/LC_MESSAGES/findutils.mo
64share/locale/zh_TW/LC_MESSAGES/findutils.mo 61share/locale/zh_TW/LC_MESSAGES/findutils.mo

cvs diff -r1.20 -r1.21 pkgsrc/sysutils/findutils/distinfo (expand / switch to unified diff)

--- pkgsrc/sysutils/findutils/distinfo 2021/10/07 14:57:50 1.20
+++ pkgsrc/sysutils/findutils/distinfo 2021/10/16 00:51:18 1.21
@@ -1,6 +1,6 @@ @@ -1,6 +1,6 @@
1$NetBSD: distinfo,v 1.20 2021/10/07 14:57:50 nia Exp $ 1$NetBSD: distinfo,v 1.21 2021/10/16 00:51:18 ryoon Exp $
2 2
3RMD160 (findutils-4.6.0.tar.gz) = 0745d081f4a53d7e8b6c17dc8235155492ff4d92 3RMD160 (findutils-4.8.0.tar.xz) = cc1cd923927d5acf7e6a9ec0e28d1723acbd4774
4SHA512 (findutils-4.6.0.tar.gz) = 41fcd4197c1efbd77f7420e5754e2cf9332dfef19f90c65a8fa1844bb4bc5d529c8393ee0ff979a054e9ac65ff71d7fe3921ea079f9960843412fc9a71f8afd4 4SHA512 (findutils-4.8.0.tar.xz) = eaa2da304dbeb2cd659b9210ac37da1bde4cd665c12a818eca98541c5ed5cba1050641fc0c39c0a446a5a7a87a8d654df0e0e6b0cee21752ea485188c9f1071e
5Size (findutils-4.6.0.tar.gz) = 3780154 bytes 5Size (findutils-4.8.0.tar.xz) = 1983096 bytes
6SHA1 (patch-aa) = 6e5a52ddb9764a533b7be56e7bd97c971f091cfe 6SHA1 (patch-aa) = c0cfed59ccff3a56d6621ac0669e14f8e3f7b9fb

cvs diff -r1.8 -r1.9 pkgsrc/sysutils/findutils/patches/patch-aa (expand / switch to unified diff)

--- pkgsrc/sysutils/findutils/patches/patch-aa 2016/01/03 17:00:48 1.8
+++ pkgsrc/sysutils/findutils/patches/patch-aa 2021/10/16 00:51:18 1.9
@@ -1,22 +1,22 @@ @@ -1,22 +1,22 @@
1$NetBSD: patch-aa,v 1.8 2016/01/03 17:00:48 wiz Exp $ 1$NetBSD: patch-aa,v 1.9 2021/10/16 00:51:18 ryoon Exp $
2 2
3--- locate/Makefile.in.orig 2016-01-03 16:55:46.000000000 +0000 3--- locate/Makefile.in.orig 2021-01-09 16:35:33.000000000 +0000
4+++ locate/Makefile.in 4+++ locate/Makefile.in
5@@ -1657,7 +1657,7 @@ libdir = @libdir@ 5@@ -1999,7 +1999,7 @@ install_sh = @install_sh@
 6 libdir = @libdir@
6 libexecdir = @libexecdir@ 7 libexecdir = @libexecdir@
7 lispdir = @lispdir@ 
8 localedir = $(datadir)/locale 8 localedir = $(datadir)/locale
9-localstatedir = @localstatedir@ 9-localstatedir = @localstatedir@
10+localstatedir = /var/run 10+localstatedir = /var/run
11 mandir = @mandir@ 11 mandir = @mandir@
12 mkdir_p = @mkdir_p@ 12 mkdir_p = @mkdir_p@
13 oldincludedir = @oldincludedir@ 13 oldincludedir = @oldincludedir@
14@@ -1682,7 +1682,7 @@ top_srcdir = @top_srcdir@ 14@@ -2021,7 +2021,7 @@ top_builddir = @top_builddir@
15 # The default database to build and search. 15 top_srcdir = @top_srcdir@
16 AUTOMAKE_OPTIONS = std-options 16 AUTOMAKE_OPTIONS = std-options
17 AM_CFLAGS = $(WARN_CFLAGS) 17 AM_CFLAGS = $(WARN_CFLAGS)
18-LOCATE_DB = $(localstatedir)/locatedb 18-LOCATE_DB = $(localstatedir)/locatedb
19+LOCATE_DB = /var/db/locate.database 19+LOCATE_DB = /var/db/locate.database
20 AM_INSTALLCHECK_STD_OPTIONS_EXEMPT = \ 20 AM_INSTALLCHECK_STD_OPTIONS_EXEMPT = frcode$(EXEEXT)
21 frcode$(EXEEXT) \ 21 bin_SCRIPTS = updatedb
22 code$(EXEEXT) \ 22 man_MANS = locate.1 updatedb.1 locatedb.5