1
0
mirror of git://git.sv.gnu.org/coreutils.git synced 2026-02-15 11:52:15 +02:00
Commit Graph

28389 Commits

Author SHA1 Message Date
Pádraig Brady
cfdac06196 maint: post-release administrivia
* NEWS: Add header line for next release.
* .prev-version: Record previous version.
* cfg.mk (old_NEWS_hash): Auto-update.
2016-01-20 10:56:02 +00:00
Pádraig Brady
68f73f2386 version 8.25
* NEWS: Record release date.
v8.25
2016-01-20 10:31:56 +00:00
Pádraig Brady
f967d5bf05 tests: avoid false failure in tail inotify test
* tests/tail-2/wait.sh: Restrict inotify specific test portion
to local file systems and also not with ---disable-inotify specified.
Failure noticed on NFS.
2016-01-19 18:50:11 +00:00
Pádraig Brady
7c2e423409 tests: avoid false failure due to remove() ignoring u-w on NFS
* tests/rm/rm1.sh: Also remove the group write bit which
was required on one NFS setup at least.  Note u-w was
enough to deny file creation, g-w was also required to
deny file removal.
* tests/rm/cycle.sh: Likewise.
* tests/mv/perm-1.sh: Likewise.
2016-01-19 18:27:43 +00:00
Pádraig Brady
b4f10133bf tests: avoid false failure in preserve-slink-time.sh on GPFS
* tests/cp/preserve-slink-time.sh: Add a delay between the
ln and the cp so that there is enough difference between
the timestamps so GPFS won't discard the update.
Reported by Assaf Gordon.
2016-01-19 16:09:09 +00:00
Pádraig Brady
f0dc5ec6f9 tests: avoid false failure in shred-passes.sh
* tests/misc/shred-passes.sh: Specify an exact amount to shred,
to avoid running out of simulated random data on file systems
with a large st_blksize like GPFS for example.
Reported by Assaf Gordon.
2016-01-19 16:08:59 +00:00
Pádraig Brady
dbff2508b8 tail: disable inotify with only non existent files
tests/tail-2/F-headers.sh and test/tail-2/retry.sh fail on
on remote file systems due to tail going into inotify mode
due to not being able to determine the remoteness of the
non existent files.

* src/tail.c (any_non_remote_file): A new function used
to disable inotify when there are no open files, as
we can't determine remoteness in that case.
* NEWS: Mention the bug fix.
2016-01-19 14:07:10 +00:00
Pádraig Brady
6e2208e07a all: don't unconditionally use leaf optimization for NFS
* gnulib: Update to latest where the only change is to
not unconditionally enable leaf optimization for fts on NFS,
as it was seen to abort() with some NFS servers as per:
https://bugzilla.redhat.com/1299169
This affects utilities that traverse directories like
cp, rm, chmod etc.
* NEWS: Adjust the improvement message to leave only XFS.
2016-01-18 18:39:16 +00:00
Assaf Gordon
4e96050b76 tests: adjust memory limits in head-c.sh
* tests/misc/head-c.sh: Further increase the limit to 8MB over
the base test command.  5.1MB was seen as minimum extra needed
on FreeBSD 9.3 x86_64.
2016-01-18 18:29:47 +00:00
Pádraig Brady
3f02d93be2 tests: adjust delays to avoid false positives
* tests/rm/dangling-symlink.sh: The effective delay was only
1.5s.  So delay before the operation, and increase the iteration
count by 1 to increase the delay to 6.3s.  This failure was
noticed once on a FreeBSD 10.2 x86_64 virtual machine.
* tests/dd/stats.sh: Remove quotes on sleep argument
to ensure arguments are accumulated appropriately.
* tests/du/move-dir-while-traversing.sh: sleep before operation,
to increase the effective delay from 1.6s to 3.2s.
* tests/tail-2/flush-initial.sh: Likewise.
* tests/tail-2/pipe-f2.sh: Sleep first so that the effective delay
matches the commented value.
2016-01-18 15:32:17 +00:00
Pádraig Brady
cc05c3c16d test: skip test rather than fail with Solaris 10 sed
* tests/rm/r-root.sh: This test was seen to ERROR due to
sed input not having a terminating '\n'.  Therefore just skip
with diagnostics upon failure to adjust the error output with sed.
Reported by Assaf Gordon.
2016-01-18 13:07:27 +00:00
Pádraig Brady
1204da74e3 tests: fix false failure with spaces in absolute $PWD
* tests/install/create-leading.sh: Ensure $PWD is quoted.
Reported by `make dist-check`.
2016-01-16 17:45:57 +00:00
Pádraig Brady
b304e4ece8 build: update gnulib submodule to latest
Mainly for:

* dce117a sig2str: list all signals on FreeBSD >= 7
* cff4b38 acl-permissions: port to USE_ACL==0 platforms
2016-01-16 17:13:44 +00:00
Pádraig Brady
fa9ae62a9e tests: show mount list on failure for df tests
* init.cfg (dump_mount_list_): A new function to output the
system mount list.
* tests/df/df-symlink.sh: Call dump_mount_list_ upon failure.
* tests/df/over-mount-device.sh: Likewise.
* tests/df/problematic-chars.sh: Likewise.
* tests/df/skip-rootfs.sh: Likewise.
* tests/df/total-verify.sh: Likewise.
* tests/df/unreadable.sh: Likewise.
2016-01-16 13:53:48 +00:00
Pádraig Brady
2a5494271c tests: avoid false failure with BTRFS subvolumes
* tests/df/df-symlink.sh: Only check the symmetry of
the source <-> target lookup, when the source is only mounted once,
which isn't the case if '.' is a BTRFS subvolume for example.
Reported by Assaf Gordon on a default OpenSUSE 42.1 install.
2016-01-16 13:36:57 +00:00
Pádraig Brady
0d60653001 mv: consistently warn about multiply specified source dirs
* src/copy.c (copy internal): Remember directories irrespective
of their link count, because on some file systems like BTRFS,
directories always have a link count of 1.
2016-01-16 11:40:54 +00:00
Pádraig Brady
3aa84d02dd tests: remove a non portable localtime test
* tests/misc/date.pl: This test was dependent on perl
unconditionally calling the system localtime() as date(1) does.
However perl has its own configure checks in place to avoid buggy
localtime implementations.  Therefore comment out this test
as a FIXME for now.  This test was seen to fail on FreeBSD 10
where localtime() returns nonsense values instead of failing
for arguments >= 2^56.
2016-01-15 16:00:27 +00:00
Pádraig Brady
7648870f39 tests: adjust memory limits in head-c.sh
* tests/misc/head-c.sh: Further increase the limit, to account
for the fact that head(1) needs at least 1.576MB over the base test
command on FreeBSD 10.  4MB should be enough headroom while
still providing over allocation protection.
Reported by Assaf Gordon.
2016-01-15 14:19:48 +00:00
Pádraig Brady
4c7d82f1f1 tests: simplify invalid signal determination for kill -l
* src/operand2sig.c (operand2sig): Add a detailed comment explaining
why we validate even very large shell exit status values.
* tests/misc/kill.sh: Add a test case for the ksh scheme.
Simplify the INVALID signal number determination which also avoids
a false failure on systems like FreeBSD 10 with incomplete
signal list (caused by inaccurate NSIG).
2016-01-15 14:14:06 +00:00
Pádraig Brady
b955a4fb6d tests: support older fallocate number formats
* tests/cp/fiemap-extents.sh: Support RHEL6 fallocate
which doesn't support IEC suffixes like "MiB" on numbers.
Also add some extra framework_failure_ protections.
Reported by Assaf Gordon.
2016-01-15 14:14:05 +00:00
Pádraig Brady
89f7adb158 tests: avoid coredumps when determining memory limits
* init.cfg (get_min_ulimit_v_): Refactor ulimit call to...
(ulimit_supported_): ...here, and add calls to avoid coredumps.
2016-01-15 14:14:02 +00:00
Pádraig Brady
611e7e02bf sort: with --debug, flag setlocale() failures on OpenBSD
Locale categories are not equivalent on OpenBSD,
and LC_COLLATE only supports "C" for example.
Now LC_ALL is supported to set multiple other categories
on OpenBSD, so setlocale(LC_ALL, "") returns a string
indicating which categories were updated and which ignored.
Therefore...

* src/sort.c (main): ...Call setlocale(LC_COLLATE, "")
to explicitly check whether a specified LC_ALL or
LC_COLLATE environment variable value is supported
for the LC_COLLATE category.  Also use !! to explicitly
convert to bool to support c89 systems where bool is an int,
and thus would get values > 1.
Reported by Assaf Gordon.
2016-01-14 01:26:00 +00:00
Pádraig Brady
4ab8704dc0 maint: remove temporary doc/constants.texi-t during build
* doc/local.mk (constants.texi): Remove temp file.
2016-01-13 12:11:39 +00:00
Pádraig Brady
7ebc4d84c2 maint: fix old spelling mistakes in NEWS
* NEWS: s/descendent/descendant/; s/indiscriminite/indiscriminate/.
* cfg.mk (old_NEWS_hash): Update via `make update-NEWS-hash`.
2016-01-13 11:28:45 +00:00
Pádraig Brady
6ceb7ef87f doc: suggest dd "sync" flag to maximize "nocache" effectiveness
doc/coreutils.texi (dd invocation): Add oflag=sync to the streaming
example.  Also reference the "direct" flag.  Mention this is only
a request to the system.
* src/dd.c (usage): Mention the "sync" flag along with "nocache".
Also mention that it's only a request to drop the cache.
* THANKS.in: Add reporter Francois Rigault.
2016-01-13 11:16:39 +00:00
Pádraig Brady
a0c5313d60 doc: mention the '0#' printf flags with stat %a
* src/stat.c (usage): Mention the '#' and '0' flags are useful with %a.
* doc/coreutils.texi (stat invocation): Likewise.  Also give an example
printing unambiguous octal output.
Reported at http://bugs.debian.org/810539
2016-01-13 11:16:39 +00:00
Pádraig Brady
d506af44be mv: fix data loss with repeated source dir and same destination
commit v8.23-31-g90aa291 failed to consider this case,
where the previous rename has failed, thus causing the
following to remove the specified directory:

  mv dir dir dir

* src/copy.c (copy_internal): Assume this rename attempt has
succeeded, as a previous failure will already have been handled,
and we don't want to remove the source directory in this case.
* tests/cp/duplicate-sources.sh: Consolidate this test file to...
* tests/mv/dup-source.sh: ...here.  Add test cases for same
source and dest.
* tests/local.mk: Remove the consolidated test.
* NEWS: Mention the bug fix.

Reported at https://bugzilla.redhat.com/1297464
2016-01-13 11:16:37 +00:00
Pádraig Brady
2370c64a10 tests: include part of wc-files0.sh skipped by mistake
* tests/misc/wc-files0.sh: $fail is always set to 0,
so correct the test to include that part of the test case.
2016-01-13 11:11:36 +00:00
Pádraig Brady
3ed89ae932 wc: avoid ambiguous output with '\n' in file names
* src/wc.c (write_counts): Shell escape the file name
if it contains '\n' so only a single line per file is output.
* tests/misc/wc-files0.sh: Add a test case.
* NEWS: Mention the improvement.
2016-01-13 11:11:36 +00:00
Assaf Gordon
672663e1b0 numfmt: add the -z,--zero-terminated option
* doc/coreutils.texi (numfmt invocation): Reference the description.
* src/numfmt.c: Parameterize '\n' references.
* tests/misc/numfmt.pl: Add tests for character and field processing.
* NEWS: Mention the new feature.
2016-01-13 11:11:36 +00:00
Pádraig Brady
8297568ec6 paste: add the -z,--zero-terminated option
* doc/coreutils.texi (paste invocation): Reference -z description.
* src/paste.c (main): Parameterize the use of '\n'.
* tests/misc/paste.pl: Add test cases.
* NEWS: Mention the new feature.
2016-01-13 10:59:56 +00:00
Pádraig Brady
0e46753d7c comm: support NUL --output-delimiter for consistency
* src/comm.c (main): Track the output delimiter length,
so that it can be adjusted to 1 for the NUL delimiter.
Also rename the global variable from "delimiter" to
"col_sep" so its use is more obvious, and to distinguish
from the recently added "delim" global variable.
* tests/misc/comm.pl: Adjust accordingly.
2016-01-13 10:59:56 +00:00
Pádraig Brady
f3b4def577 comm: add the -z,--zero-terminated option
* doc/coreutils.texi (comm invocation): Reference option description.
* src/comm.c (main): Use readlinebuffer_delim() to support
a parameterized delimiter.
* tests/misc/comm.pl: Add test cases.
* NEWS: Mention the new feature.
2016-01-13 10:59:56 +00:00
Pádraig Brady
826c98b024 tac: support an empty (NUL) --separator
* doc/coreutils.texi (tac invocation): Mention the
NUL delineation with an empty --separator.
* src/tac.c (main): Allow an empty separator when -r not specified.
* tests/misc/tac.pl: Add test cases.
* NEWS: Mention the new feature.
Fixes http://bugs.gnu.org/8103
2016-01-13 10:59:56 +00:00
Pádraig Brady
a499a0ce58 cut: add the -z,--zero-terminated option
* doc/coreutils.texi (cut invocation): Reference the description.
* src/cut.c: Parameterize '\n' references.
* tests/misc/cut.pl: Add tests for character and field processing.
* NEWS: Mention the new feature.
2016-01-13 10:59:56 +00:00
Richard Russon
bc94551f63 head,tail: add the -z,--zero-terminated option
* doc/coreutils.texi: Reference the option description.
* src/head.c: Parameterize the delimiter character.
* src/tail.c: Likewise.
* tests/misc/head.pl: Add test case.
* tests/misc/tail.pl: Likewise.
* NEWS: Mention the new feature.
2016-01-13 10:59:55 +00:00
Pádraig Brady
b2eadd109c join,sort,uniq: with -z, treat '\n' as a field separator
* NEWS: Mention the change in behavior.
* doc/coreutils.texi (newlineFieldSeparator): A new description,
referenced from ({join,sort,uniq} invocation).
* src/system.h (field_sep): A new inline function to determine
if a character is a field separator.
* src/join.c (usage): s/whitespace/blank/ to be more accurate
wrt which characters are field separators.
(xfields): s/isblank/field_sep/.
* src/sort.c (inittables): Likewise.
* src/uniq.c (find_field): Likewise.
* tests/misc/join.pl: Adjust -z test, and add a test/example
for processing the whole record with field processing.
* tests/misc/sort.pl: Add -z test cases, including case with '\n'.
* tests/misc/uniq.pl: Add -z -f test case with \n.
2016-01-13 10:59:18 +00:00
Bernhard Voelker
d44ae88199 tests: fix races wrt output files of background processes
At least the false positive in tail-2/follow-stdin.sh could be seen
on a 4-core i5 system with -j8.  Fix similar cases. too.

* tests/tail-2/follow-stdin.sh: Empty the 'out' file in each iteration.
Otherwise, under heavy system load, 'check_tail_output' would see the
expected output from the previous round before tail would have the
chance to come up in the background.
While at it, move the creation of the 'exp' file out of the loop.
* tests/dd/stats.sh: Empty the output file of the background process
here, too.
* tests/misc/cat-buf.sh: Likewise.
* tests/misc/stdbuf.sh: Likewise.
* tests/tail-2/wait.sh: Likewise.
2016-01-10 01:51:27 +01:00
Pádraig Brady
3d7b822e4a stty: support "flusho" local setting
This is used to discard terminal output on FreeBSD based systems.

* src/stty.c (mode_info): Add FLUSHO where supported.
(usage): Document for "local" and "combination" settings.
* doc/coreutils.texi (local stty settings): Document,
mentioning that this option is supported but ignored on GNU/Linux.
2016-01-06 16:04:19 +00:00
Pádraig Brady
cb7d8b90a2 stty: support [-]drain setting to control waiting for pending Tx
Instead of commit v8.24-132-g5171bef which only provides
control to disable this behavior (with -I), provide
the symmetrical "[-]drain" special setting.

* src/stty.c (main): Parse the [-]drain setting instead of -I,
and treat like a global option.
(usage): Adjust accordingly.
* tests/misc/stty.sh: Test "drain" with and without options.
* NEWS: Mention the new feature.
2016-01-06 15:20:49 +00:00
Pádraig Brady
5171befcb1 stty: support -I, --immediate to not wait for pending transmission
In some cases an initial drain may block indefinitely as discussed at:
http://lists.gnu.org/archive/html/coreutils/2016-01/msg00007.html

* src/stty.c (main): Use TCSANOW rather than TCSADRAIN if -I specified.
(usage): Document the new option.
* doc/coreutils.texi (stty invocation): Likewise.
* tests/misc/stty.sh: Ensure -I is supported.
* NEWS: Mention the new feature.
2016-01-04 23:45:19 +00:00
Pádraig Brady
c6be0b3943 doc: avoid unwanted display of the 'coreutils' command info
* doc/coreutils.texi (coreutils): Remove this direntry
so that `info coreutils` will display the table of contents,
rather than the unlikely intended coreutils Multi-call invocation.
This also supports lookups like `info coreutils readlink`,
but note that only works with the standard info viewer,
and not with pinfo for example.
2016-01-03 12:58:39 +00:00
Pádraig Brady
1dd02b4f8c doc: mention in more places that -D will create --target-directory
* src/install.c (usage): Mention this commonly required functionality
in the -D option description.
* doc/coreutils.texi (install invocation): Likewise for the
--target-directory description.
2016-01-03 12:58:39 +00:00
Pádraig Brady
73055581c9 install: only attempt to create a target dir once
* src/install.c (main): As an optimization, when calling
install_file_in_dir() for each file, only attempt to create
the target directory once, as this is invariant over the loop.
2016-01-03 12:58:39 +00:00
Pádraig Brady
6c65ce4c64 install: fix relative copies to absolute directory with -D
* src/install.c (mkancesdirs_safe_wd): Unconditionally
restore the current working directory when possibly called
multiple times (from install_file_in_dir()).
* tests/install/create-leading.sh: Add a test case.
* NEWS: Mention the fix.
Fixes http://bugs.gnu.org/21497
2016-01-03 12:58:39 +00:00
Bernhard Voelker
50a950ba69 maint: fix sc_long_lines to warn about 100+ maximum line length again
Since commit v8.23-60-g414a8cf, the above check failed to find sources
where the length of the longest line is a 3 or more digit number.

* cfg.mk (sc_long_lines): Remove the '\' escape character before '{'
and '}', because this would mean literal '{' and '}' characters in
an extended regular expression in sed(1).
2016-01-03 00:18:58 +01:00
Pádraig Brady
aaf8d80f1d maint: avoid a sc_long_lines failure in recent commit
* src/dd.c (alloc_ibuf): Shorten line length.
2016-01-01 14:24:19 +00:00
Pádraig Brady
b16e999f55 maint: update all copyright year number ranges
Run "make update-copyright" and then...

* gnulib: Update to latest with copyright year adjusted.
* tests/init.sh: Sync with gnulib to pick up copyright year.
* bootstrap: Likewise.
* tests/sample-test: Adjust to use the single most recent year.
2016-01-01 14:10:41 +00:00
Paul Eggert
81dce30cba build: update gnulib submodule to latest 2015-12-31 14:13:45 -08:00
Paul Eggert
2dab6cd3c2 dd: append spaces to shorter status=progress line
Problem noted by Pádraig Brady in: http://bugs.gnu.org/22277#8
Also, make the output a bit more precise while we're at it.
* NEWS: Document this.
* src/dd.c (previous_time): Remove, replacing with ...
(next_time): New var.  All uses changed.
This avoids some rounding errors, and should be a bit faster.
(newline_pending): Remove, replacing with ...
(progress_len): New var.  All uses changed.
This lets us keep track of how many trailing spaces to append.
(print_xfer_stats): Get the time first thing, so that it's
closer to being correct.  Count the bytes output, and append
trailing spaces if needed.  Add remarks to translators about
translation lengths.
2015-12-31 14:09:36 -08:00