Output is from: test-groff -b -mandoc -T utf8 -rF0 -t -w w -z
[ "test-groff" is a developmental version of "groff" ]
Input file is ././find/find.1
<./find/find.1>:365 (macro BR): only 1 argument, but more are expected
<./find/find.1>:380 (macro BR): only 1 argument, but more are expected
<./find/find.1>:1494 (macro BR): only 1 argument, but more are expected
<./find/find.1>:1496 (macro BR): only 1 argument, but more are expected
<./find/find.1>:1513 (macro BR): only 1 argument, but more are expected
[...]
Input file is ././locate/locate.1
troff: <./locate/locate.1>:167: warning: trailing space
* find/find.1: Use a one-font (single letter) macro for a single argument.
* locate/locate.1: Remove a trailing space in a "string".
* doc/find.texi (Hard links): Clarify that 'find -L -samefile FILE'
returns both hard links and symbolic links to FILE, and why.
Further attempt to improve the wording of the whole section by
avoiding wording like "you can ...", and instead describing more
how find works and behaves for the -samefile, -inum and -links
options. Especially mention that -inum potentially returns files
with the given inode number but yet are no hard links per definition:
this happens if they are on a different file system, i.e., if they
have a different device number.
Fixes https://sv.gnu.org/bugs/?58458
Since the previous gnulib update, bootstrap outputs this warning:
Notice from module fdl:
Don't use this module! Instead, copy the referenced license file \
into your version control repository.
See gnulib commit:
https://git.sv.gnu.org/cgit/gnulib.git/commit/?id=88fc5afbccc9
* bootstrap.conf (gnulib_modules): Remove 'fdl'.
* doc/fdl.texi: Add file as a copy of 'gnulib/doc/fdl.texi'.
* doc/.gitignore (/fdl.texi): Remove to no longer ignore that file.
* Makefile.am (update-gnulib-to-latest): Add command to sync the file.
While at it, add the command to show the git status for
'tests/init.sh' as well.
Run 'make update-gnulib-to-latest', mainly for some performance
improvement for FTS with -L:
> Tune fts for FTS_LOGICAL+FTS_NOSTAT
* gnulib: Update to latest.
* find/pred.c (pred_used): Reverse the check for the delta between
the atime and ctime of the file to accomodate to how pred_timewindow
is working.
Also return false if atime < ctime.
Bug introduced in FINDUTILS_4_3_3-1 in commit a4718831e1.
* tests/find/used.sh: Add test.
* tests/local.mk (all_tests): Reference the test.
* NEWS (Bug Fixes): Mention the fix.
Reported by Martin Schulte in
<https://lists.gnu.org/r/bug-findutils/2019-11/msg00010.html>
Run 'make update-gnulib-to-latest', mainly to pull in a fix for FTS
to avoid a crash when traversing a heavily changed XFS file system:
> fts: remove NOSTAT_LEAF_OPTIMIZATION
* NEWS (Bug fixes): Mention the fix.
* gnulib: Update to latest.
* bootstrap: Sync from gnulib/build-aux/bootstrap.
Discussed at:
<https://lists.gnu.org/r/bug-gnulib/2020-04/msg00068.html>
'make clean' removed the file 'doc/find.texi' which is version controlled.
* doc/Makefile.am (CLEANFILES): Remove 'find.texi' to avoid that the
'clean' target removes that file.
Bug introduced in commit v4.6.0-228-g755a22b9.
Trying to use this option lead to this error since v4.5.17-6-gfc260795:
configure: error: Using --without-fts is not longer supported
* configure.ac (FIND_WITH_FTS): Remove.
* m4/withfts.m4: Remove file.
* NEWS: Document this build-related change.
Use HTTPS for GNU, FSF, OpenGroup and Google URLs.
* build-aux/update-online-manual.sh: Switch to HTTPS.
* doc/find.texi (node Further Reading on Security): Likewise.
* lib/buildcmd.c: Likewise in a comment.
* NEWS: Likewise, and shorten a debbugs URL.
The shell tests should use `cmd ... || fail=1` for detecting errors.
Add a syntax-check to ensure they don't use `cmd ... || fail` which
is a noop.
* cfg.mk (sc_prohibit_or_fail): Add syntax-check, borrowed from coreutils.
Test 'sv-bug-54171' produced a false-positive error as 'find' would
not fail for an unreadable directory when run as root.
Migrate the test to the newer shell-based tests, and add the
'skip_if_root_' guard to avoid a false-positive.
* find/testsuite/find.posix/sv-bug-54171.exp: Remove.
* find/testsuite/find.posix/sv-bug-54171.xo: Remove.
* find/testsuite/Makefile.am (EXTRA_DIST_XO, EXTRA_DIST_EXP): Remove the
above deleted test.
* tests/find/depth-unreadable-dir.sh: Add test.
* tests/local.mk (all_tests): Reference it.
Test FP introduced in commit v4.6.0-178-gdf4610d0.
Fixes https://savannah.gnu.org/bugs/?57762
and https://bugzilla.redhat.com/1799064
Run 'make update-gnulib-to-latest', mainly to avoid a gnulib test failure.
> tests: Avoid GCC over-optimization caused by _GL_ARG_NONNULL attributes.
* gnulib: Update to latest.
Fixes: https://sv.gnu.org/bugs/index.php?57277
Since last gnulib update, the above syntax-check rule fails:
Error: doc/Makefile: $< in a non implicit rule
find_mono.html: find.texi
...
make: *** [maint.mk:439: sc_prohibit_gnu_make_extensions] Error 1
* doc/Makefile.am (find_mono.html): Avoid $< in plain rules.
(findutils.texi_html_node.tar.gz): Likewise.
See also: <https://lists.gnu.org/r/bison-patches/2019-05/msg00017.html>
Run 'make update-gnulib-to-latest', mainly to update the copyright
year numbers with:
> maint: update copyright notices
* bootstrap: Sync from gnulib/build-aux/bootstrap.
* gnulib: Update to latest.
* tests/init.sh: Sync from 'gnulib/tests/init.sh'.
Run 'make update-copyright'.
* lib/regexprops.c (copying): Update the year number manually.
* tests/sample-test: Likewise, here to avoid starting a year number range.
* All other files: Update copyright years via the above make run.
* doc/.gitignore (/find.html/, /find-maint.html/): Add entries for
HTML output directories.
(/find.pdf, /find-maint.pdf): Add entries for PDF files.
(/find-maint.dvi, /find-maint.ps): Add entries for other formats.
* cfg.mk (exclude_file_name_regexp--sc_trailing_blank): Remove the
regex part for 'find/testsuite/test_escapechars.golden' as that file
was removed in commit v4.6.0-214-g3f6b28c4.
'xargs -t' had a trailing blank in the output, e.g.:
$ echo a b | xargs -t 2>&1 | cat -e
echo a b $
a b$
POSIX mandates that the constructed command line "shall be written
to standard error, as it will be invoked", so avoid outputting the
trailing blank.
FWIW: This change still plays well with -p,--interactive, because
POSIX says to just output "?..." as a prompt after the -t output.
* xargs/xargs.c (print_args): Instead of outputting a blank after each
cmd_argv[i], output a blank before each item unless for the first one.
* tests/xargs/verbose-quote.sh: Remove trailing blanks from expected
stderr.
* xargs/testsuite/xargs.gnu/space-t-0.xe: Likewise.
* xargs/testsuite/xargs.sysv/empty-t.xe: Likewise.
* xargs/testsuite/xargs.sysv/empty_def-t.xe: Likewise.
* xargs/testsuite/xargs.sysv/s25-t.xe: Likewise.
* xargs/testsuite/xargs.sysv/space-t.xe: Likewise.
* xargs/testsuite/xargs.sysv/trace.xe: Likewise.
* NEWS: Mention the change.
Reported by 積丹尼 Dan Jacobson <jidanni@jidanni.org> in:
https://bugs.gnu.org/?57291
* doc/find-maint.texi (Making Releases): When pushing the tag, refer to
the remote name 'origin'. Also avoid the --tags option because that
would publish all local tags, i.e., not only the given one. Use RELTAG
instead of 'the-tag-name'.
Adjust the PATH variable for the test setup a bit later, i.e., after
'tests/init.sh' has turned on 'set -x', so that the PATH value appears
in the test logfiles.
* init.cfg (fu_path_prepend_): Wrap immediate path_prepend_ call into
this new function.
* tests/find/debug-missing-arg.sh: Use it - right after sourcing in
'tests/init.sh'.
* tests/find/exec-plus-last-file.sh: Likewise.
* tests/find/execdir-fd-leak.sh: Likewise.
* tests/find/many-dir-entries-vs-OOM.sh: Likewise.
* tests/find/name-lbracket-literal.sh: Likewise.
* tests/find/printf_escape_c.sh: Likewise.
* tests/find/printf_escapechars.sh: Likewise.
* tests/find/printf_inode.sh: Likewise.
* tests/find/refuse-noop.sh: Likewise.
* tests/find/type_list.sh: Likewise.
* tests/misc/help-version.sh: Likewise.
* tests/sample-test: Likewise.
* tests/xargs/verbose-quote.sh: Likewise.
* doc/find.texi (-quit): add another example.
* find/find.1 (-quit): add another example.
(-exec): Point out that -exec my-command {} + -quit
may not result in my-command being run.
(EXAMPLES): add an example for -quit.
* NEWS: mention this change.
* find/testsuite/find.gnu/samefile-p-brokenlink.exp: Pass "-P" option to
enforce generation of hard link to symlink. link() behavior is
"implementation-defined" by POSIX and BSD/hurd chose a different behavior
than Linux.
This fixes http://bugs.debian.org/826357, https://savannah.gnu.org/bugs/index.php?48135
Also fix ln -s invocation to generate a valid symlink.
* NEWS: Mention that Savannah bug #48135 is fixed.
Some additions to the release instructions:
- Run bootstrap to update .po files
- Enable fatal compiler warnings when performing the final build
- Set RUN_EXPENSIVE_TESTS when running tests
- Point out that configure.ac no longer contains the version.
- Add a new Savannah "Release" value for the new release.
When sharefile_fopen fails to open the given file, e.g. due to the lack
of permissions, then the name of the file is not freed.
$ valgrind -v --leak-check=full find/find . -maxdepth 0 -fprint /
...
==28139== 2 bytes in 1 blocks are definitely lost in loss record 2 of 11
==28139== at 0x483677F: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==28139== by 0x4923DBA: strdup (strdup.c:42)
==28139== by 0x409E80: sharefile_fopen (sharefile.c:150)
==28139== by 0x40CCA0: open_output_file (parser.c:3390)
==28139== by 0x40CFA8: parse_fprint (parser.c:1010)
==28139== by 0x408341: build_expression_tree (tree.c:1295)
==28139== by 0x403AF7: main (ftsfind.c:712)
This memory leak is a trivial issue because find will terminate anyway
due to the error.
* find/sharefile.c (sharefile_open): Call entry_free instead of simple
free to also free the strdup-ed filename.
Global options like -maxdepth should be specified before other arguments
like tests, operators, etc. The corresponding warning diagnostic was
obviously misleading, so that at least the French and the German
translations - and maybe even the English original - were not well
understood by users.
* find/parser.c (found_parser): Improve diagnostic, thus hopefully
also avoiding translation issues. Remove extra newline.
Fixes https://sv.gnu.org/bugs/?56820
doc/find-maint.texi: point out that the version number in
configure.ac also needs to be updated. Point out that if you did the
release update on a branch it needs to be merged and in any case that
these changes need to be pushed to origin/master. Also prompt the
maintainer to check that the FTP upload actually worked.
To improve readability for the user, xargs(1) shall quote each part
of the command to be executed when printing it to stderr, i.e. for
the -t (--verbose) and -p (--interactive) options. Example:
$ echo "some file" | ../xargs -p -I'{}' rm '{}.c' '{}.o'
rm 'some file.c' 'some file.o' ?...
* xargs/xargs.c (print_args): Apply "shell-escape" quoting.
* xargs/testsuite/xargs.gnu/space-t-0.xe: Adjust test.
* tests/xargs/verbose-quote.sh: Add test.
* tests/local.mk: Reference it.
* README (Improvements): Mention the change.