summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-03-24maint: apply basic styling to online manualPádraig Brady
* README-release: Reference http://www.gnu.org/s/coreutils/manual.css to apply basic styling to the online coreutils manual, consistent with the Emacs documentation.
2015-03-24doc: clarify the uniq -D man page descriptionPádraig Brady
* src/uniq.c (usage): The description was very confusing in the man page due to the stripped newlines. Add punctuation for clarification.
2015-03-24wc: use a more adaptive wc -l implementationPádraig Brady
* src/wc.c (wc): Allow any block to select the count implementation, rather than just using the first 10 lines. This also simplifies the code from 3 loops to 2.
2015-03-23doc: clarify default order for ls --sort=sizeDan Jacobson
* src/ls.c (usage): Mention that default order is largest first. Fixes http://bugs.gnu.org/20172
2015-03-20maint: really fix wildcard quoting in sc_tests_executablePádraig Brady
* cfg.mk (sc_tests_executable): The previous commit avoided the globbing, but also passed on the quoted wildcards to find(1). We could use eval to handle the quoting, though that's a bit awkward and dangerous, so instead explicitly disable globbing for the whole make target subshell. Note noglob is not available on solaris, where we fall back to set -f. Note also that zsh uses set -F for this, but that's moot here. Also correct the find(1) expression to include the -o between each wildcard.
2015-03-20maint: fix wildcard quoting in sc_tests_executablePádraig Brady
* cfg.mk (sc_tests_executable): If there are files with $TEST_EXTENSIONS in the current directory, then the lack of quoting of the $test_extensions_rx contents could result in globbing and an inconsequential run. find(1) produces warnings only with more than one expansion.
2015-03-20wc: speedup counting of short linesKristoffer Brånemyr
Using a test file generated with: yes | head -n100M > 2x100M.txt before> time wc -l 2x100M.txt real 0.842s user 0.810s sys 0.033s after> time wc -l 2x100M.txt real 0.142s user 0.111s sys 0.031s * src/wc.c (wc): Split the loop that deals with -l into 3. The first is used at the start of the input to determine if the average line length is < 15, and if so the second loop is used to look for '\n' internally to wc. For longer lines, memchr is used as before to take advantage of system specific optimizations which any outweigh function call overhead. Note the first 2 loops could be combined, though in testing, GCC 4.9.2 at least, wasn't sophisticated enough to separate the loops based on the "check_len" invariant. Note also __builtin_memchr() isn't significant here as GCC currently only applies constant folding with that. * NEWS: Mention the improvement.
2015-03-10yes: improve efficiency when all args aren't bufferedGiuseppe Scrivano
* src/yes.c (main): Even when the internal buffer isn't large enough, output what we've buffered already, and interate over the rest. This improves the performance in the edge case where there are many small arguments that overflow the buffer. * tests/misc/yes.sh: Add a test case for the many small arguments case.
2015-03-10yes: output data more efficientlyPádraig Brady
yes(1) may be used to generate repeating patterns of text for test inputs etc., so adjust to be more efficient. Profiling the case where yes(1) is outputting small items through stdio (which was the default case), shows the overhead of continuously processing small items in main() and in stdio: $ yes >/dev/null & perf top -p $! 31.02% yes [.] main 27.36% libc-2.20.so [.] _IO_file_xsputn@@GLIBC_2.2.5 14.51% libc-2.20.so [.] fputs_unlocked 13.50% libc-2.20.so [.] strlen 10.66% libc-2.20.so [.] __GI___mempcpy 1.98% yes [.] fputs_unlocked@plta Sending more data per stdio call improves the situation, but still, there is significant stdio overhead due to memory copies, and the repeated string length checking: $ yes "`echo {1..1000}`" >/dev/null & perf top -p $! 42.26% libc-2.20.so [.] __GI___mempcpy 17.38% libc-2.20.so [.] strlen 5.21% [kernel] [k] __srcu_read_lock 4.58% [kernel] [k] __srcu_read_unlock 4.27% libc-2.20.so [.] _IO_file_xsputn@@GLIBC_2.2.5 2.50% libc-2.20.so [.] __GI___libc_write 2.45% [kernel] [k] system_call 2.40% [kernel] [k] system_call_after_swapgs 2.27% [kernel] [k] vfs_write 2.09% libc-2.20.so [.] _IO_do_write@@GLIBC_2.2.5 2.01% [kernel] [k] fsnotify 1.95% libc-2.20.so [.] _IO_file_write@@GLIBC_2.2.5 1.44% yes [.] main We can avoid all stdio overhead by building up the buffer _once_ and outputting that, and the profile below shows the bottleneck moved to the kernel: $ src/yes >/dev/null & perf top -p $! 15.42% [kernel] [k] __srcu_read_lock 12.98% [kernel] [k] __srcu_read_unlock 9.41% libc-2.20.so [.] __GI___libc_write 9.11% [kernel] [k] vfs_write 8.35% [kernel] [k] fsnotify 8.02% [kernel] [k] system_call 5.84% [kernel] [k] system_call_after_swapgs 4.54% [kernel] [k] __fget_light 3.98% [kernel] [k] sys_write 3.65% [kernel] [k] selinux_file_permission 3.44% [kernel] [k] rw_verify_area 2.94% [kernel] [k] __fsnotify_parent 2.76% [kernel] [k] security_file_permission 2.39% yes [.] main 2.17% [kernel] [k] __fdget_pos 2.13% [kernel] [k] sysret_check 0.81% [kernel] [k] write_null 0.36% yes [.] write@plt Note this change also ensures that yes(1) will only write complete lines for lines shorter than BUFSIZ. * src/yes.c (main): Build up a BUFSIZ buffer of lines, and output that, rather than having stdio process each item. * tests/misc/yes.sh: Add a new test for various buffer sizes. * tests/local.mk: Reference the new test. Fixes http://bugs.gnu.org/20029
2015-03-07build: fix make dependencies for test.1Pádraig Brady
In certain parallel build situations this would give the error: help2man: can't get `--help' info from man/test.td/[ Makefile:14189: recipe for target 'man/test.1' failed * man/local.mk (test.1): Depend on `[` rather than `test`, as `test --help` outputs nothing. Also move dir.1 and vdir.1 back to the main list, as they're no more exceptions than sha1sum etc.
2015-03-05maint: be less strict about executable permissions of testsBernhard Voelker
With "umask 0027" or even "umask 0077", the git clone of coreutils does not have the executable bit set for 'other' (or 'group). Therefore, "make syntax-check" would fail. * cfg.mk (sc_tests_executable): Change the -perm argument of find(1) to only print the names of the files which are not executable by the user, rather than insisting on ugo+x (octal 111).
2015-03-05doc: mention persistence caveats in sync man pageStéphane Aulery
* man/sync.x ([BUGS]): Mention the caveats and reference the system call man pages for more details. Fixes http://bugs.gnu.org/19995 Debian bug #507085 reported by jidanni@jidanni.org
2015-03-04tee: generalize the --write-error option to --output-errorPádraig Brady
Adjust commit v8.23-140-gfdd6ebf to add the --output-error option instead of --write-error, and treat open() errors like write() errors. * doc/coreutils.texi (tee invocation): s/write-error/output-error/. * src/tee.c (main): Exit on open() error if appropriate. * tests/misc/tee.sh: Add a case to test open() errors. * NEWS: Adjust for the more general output error behavior. Suggested by Bernhard Voelker.
2015-03-04maint: update stale comment about ls color sequencesJarosław Gruca
* src/ls.c (color_indicator[C_END]): Comment with the correct sequence, which was used since commit v6.10-61-g483297d Fixes http://bugs.gnu.org/19992
2015-02-27tail,stat: improve support for the IBRIX file systemShane M Seymour
Note that IBRIX used to have a different magic number 0x013111A7 instead of the current 0x013111A8. However, the former is no longer used and the version of IBRIX it was used in is really ancient, so it's extremely unlikely anyone is still using it. Therefore, just add the newer magic number. Mark IBRIX as a 'remote' file system type as inotify support had never been officially tested with it. * src/stat.c (human_fstype): Add file system ID definition. * NEWS: Mention the improvement. Fixes http://bugs.gnu.org/19951
2015-02-24tee: add --write-error to control handling of closed pipesPádraig Brady
tee is very often used with pipes and this gives better control when writing to them. There are 3 classes of file descriptors that tee can write to: files(1), pipes(2), and early close pipes(3). Handling write errors to 1 & 2 is supported at present with the caveat that failure writing to any pipe will terminate tee immediately. Handling write errors to type 3 is not currently supported. To improve the supported combinations we add these options: --write-error=warn Warn if error writing any output including pipes. Allows continued writing to still open files/pipes. Exit status is failure if any output had error. --write-error=warn-nopipe, -p Warn if error writing any output except pipes. Allows continued writing to still open files/pipes. Exit status is failure if any non pipe output had error. --write-error=exit Exit if error writing any output including pipes. --write-error=exit-nopipe Exit if error writing any output except pipes. Use the "nopipe" variants when files are of types 1 and 3, otherwise use the standard variants with types 1 and 2. A caveat with the above scheme is that a combination of pipe types (2 & 3) is not supported robustly. I.e. if you use the "nopipe" variants when using both type 2 and 3 pipes, then any "real" errors on type 2 pipes will not be diagnosed. Note also a general issue with type 3 pipes that are not on tee's stdout, is that shell constructs don't allow to distinguish early close from real failures. For example `tee >(head -n1) | grep -m1 ..` can't distinguish between an error or an early close in "head" pipe, while the fail on the grep part of the pipe is distinguished independently from the resulting pipe errors. This is a general issue with the >() construct, rather than with tee itself. * NEWS: Mention the new feature. * doc/coreutils.texi (tee invocation): Describe the new option. * src/tee.c (usage): Likewise. (main): With --write-error ignore SIGPIPE, and handle the various exit, diagnostics combinations. * tests/misc/tee.sh: Tess all the new options. Fixes http://bugs.gnu.org/11540
2015-02-23tee: close "-" fileBernhard Voelker
This is a cleanup to the previous commit v8.23-138-g7ceaf1d. * src/tee.c (tee_files): Do not exempt the "-" file from being closed, as this is no longer stdout but a normal file.
2015-02-20tee: treat '-' operand as file name as mandated by POSIXBernhard Voelker
Since v5.2.1-1247-g8dafbe5, tee(1) treated '-' as stdout while POSIX explicitly requires to treat this as a file name. Revert this change, as the interleaved output - due to sending another copy of input to stdout - is not considered to be useful. Discussed in http://lists.gnu.org/archive/html/coreutils/2015-02/msg00085.html * src/tee.c (tee_files): Remove the special handling for "-" operands. (usage): Remove the corresponding sentence. * doc/coreutils.texi (common options): Remove the "tee -" example. (tee invocation): Document that tee(1) now treats "-" as a file name. * tests/misc/tee.sh: Add a test case for "tee -". While at it, re-indent the above multi-argument processing case and extend that to 13 operands, as POSIX mandates that, too. * tests/misc/tee-dash.sh: Remove now-obsolete test. * tests/local.mk (all_tests): Remove the above test. * NEWS (Changes in behavior): Mention the change.
2015-02-18tee: exit early if no more writable outputsPádraig Brady
* src/tee.c (main): Don't continue reading if we can't output anywhere. * tests/misc/tee.sh: Ensure we exit when no more outputs. * NEWS: Mention the change in behavior.
2015-02-18tests: support stderr verification with returns_()Pádraig Brady
* tests/init.sh (returns_): Disable tracing for this wrapper function, so that stderr of the wrapped command is unchanged, allowing for verification of the contents.
2015-02-17maint: prefer STREQ_LEN and STRPREFIX over strncmp in all casesBernhard Voelker
* cfg.mk (sc_prohibit_strncmp): Improve the search pattern: use _sc_search_regexp to find all invocations of strncmp except when used on a macro definition line; just match the function name with an opening parenthesis. Before, the expression missed places where the comparison against 0 was in a subsequent line. * src/system.h (STRNCMP_LIT): Shorten 'literal' to 'lit' to move the whole definition of the macro into one line - thus making sc_prohibit_strncmp pass. (STRPREFIX): Add space before parenthesis. * src/du.c (main): Prefer STREQ_LEN over strncmp. * src/pinky.c (scan_entries): Likewise. * src/tac.c (tac_seekable): Likewise. * src/who.c (scan_entries): Likewise.
2015-02-17stty: fix setting of 'extproc' on BSDPádraig Brady
This setting is unusual on BSD as it's read normally in the local flags returned by tcgetattr(), but can only be set with an ioctl. Setting with tcsetattr() is ignored. * src/stty.c (NO_SETATTR): A new flag to indicate the setting is read and displayed like a normal termios flag, but is set in some other manner. (main): Skip tcsetattr() for this setting when this flag is set. Also fixup the exiting 'extproc' processing to handle the '-extproc' case correctly. (sane_mode): Skip setting '-extproc' for 'sane' to avoid the error. This isn't ideal but matches the operation of the BSD native stty.
2015-02-13maint: enhance '.mailmap' mappings for THANKS generationBernhard Voelker
* .mailmap (jeff.liu@oracle.com): There are 3 different names in the 'git log' output for this email address; choose "Jeff Liu" as canonical form. (Алексей Шилин): Convert name to latin1 ("Aleksej Shilin") to improve the sort order of the generated 'THANKS' file.
2015-02-12maint: sort THANKS using our own gearBernhard Voelker
At least 'sort' on openSUSE/Fedora have a bug in the case-folding code of their I18N downstream patch which leads to wrong sort results, e.g. "Dániel" coming after "Dylan". * Makefile.am (THANKS): Sort the final contributor list using our own sort implementation - as others may result in a different order; add a FIXME comment to remove this again once common platforms have a functional 'sort -f'. Add '-k1,1' for a better sort order. While at it, save a grep and perl call to prepare the list from 'THANKS.in' by doing all in the first perl call.
2015-02-11maint: remove redundant diff filtering from sc_long_linesPádraig Brady
* cfg.mk (sc_long_lines): diff files are now completely excluded, so no need to filter portions of them. Reported by Bernhard Voelker.
2015-02-11build: update to latest gnulibPádraig Brady
This includes a change to require --with-libmount to be used with configure, due to the many libmount dependencies. * bootstrap: Sync with gnulib to exit early on gnulib-tool error. * gl/lib/tempname.c.diff: Adjust for gnulib changes. * gl/lib/tempname.h.diff: Likewise. * gl/modules/tempname: Likewise. * doc/.gitignore: Add new gendocs_template_min gnulib script.
2015-02-11maint: exclude diff files from long lines checkPádraig Brady
* cfg.mk: Add .diff files to the exclusion expression for sc_long_lines, since the gnulib code might be >= 80 chars. Note 80 char lines trigger due to the added +/- diff marks. Also normalize the $$ used in the other sc_long_lines exclusion expressions.
2015-02-11maint: avoid arbitrary memory access with buggy localtime()Pádraig Brady
* src/ls.c (align_nstrftime): Be defensive and validate the tm_mon index before using to access the abmon array. This was _not_ seen to be an issue any system. See https://bugzilla.redhat.com/1190454
2015-02-11doc: give an example of using a seed for random operationsPádraig Brady
* doc/coreutils.texi (Random sources): Give an example using openssl, generating a reproducible arbitrary amount of randomly distributed data, given a seed value.
2015-02-09maint: make sc_dd_O_FLAGS more robustBernhard Voelker
The construct "diff ... || diff=1 || diff=" does not set the variable in all cases. This could be triggered with: $ env make diff=1 make sc_dd_O_FLAGS dd_O_FLAGS maint.mk: ./src/dd.c has inconsistent O_ flag lists cfg.mk:59: recipe for target 'sc_dd_O_FLAGS' failed make: *** [sc_dd_O_FLAGS] Error 1 * cfg.mk (sc_dd_O_FLAGS): Remember $? of the diff command directly and check its value later rather than using the above mentioned mapping.
2015-02-09maint: make sc_THANKS_in_duplicates more robustBernhard Voelker
The previous commit v8.23-124-g7b1ca5f made the above syntax-check rule fail, because that took the whole content of THANKS.in for comparison. * cfg.mk (sc_THANKS_in_duplicates): Strip off the header (all before the first empty line) and the footer (all past the next empty line) from 'THANKS.in' for the check.
2015-02-09maint: sort contributors in THANKS.inBernhard Voelker
* THANKS.in: Document the preferred sort order as a comment at the top of the file. Change "Марк Коренберг" to latin1 ("Mark Korenberg"). Sort all entries. * cfg.mk (sc_THANKS_in_sorted): Add rule to ensure that 'THANKS.in' remains sorted.
2015-02-06maint: document a caveat in the tail inotify implementationPádraig Brady
* src/tail.c (main): Document another caveat with the inotify implementation wrt multiple hardlinked files.
2015-02-06tail: return inotify resources where possiblePádraig Brady
Each user has a maximum number of inotify watches, so handle the cases where we exhaust these resources. * src/tail.c (tail_forever_inotify): Ensure we inotify_rm_watch() the watch for an inode, when replacing with a new watch for a name. Return all used inotify resources when reverting to polling. Revert to polling upon first indication of inotify resource exhaustion. Revert to polling on any inotify resource exhaustion. Diagnose resource exhaustion correctly in all cases. Avoid redundant reinsertion in the hash for unchanged watches (where only attributes of the file are changed). * tests/tail-2/retry.sh: Avoid false failure when reverting to polling. * tests/tail-2/inotify-rotate.sh: Likewise. * tests/tail-2/symlink.sh: Likewise. * tests/tail-2/inotify-rotate-resources.sh: New test to check that we're calling inotify_rm_watch() for replaced files. * tests/local.mk: Reference the new test. * NEWS: Mention the bug fix. * THANKS.in: Thanks for reporting and problem identification.
2015-02-06tests: fix recent regression in tail inotify testPádraig Brady
* tests/tail-2/inotify-rotate.sh (cleanup_fail_): Set fail=1 so that failures are identified. Regression in v8.23-63-g111a2b9 Also use print_ver_ rather than open coding --verbose support. Also check for more than a single 'b' which seems brittle.
2015-02-05build: ensure make-prime-list doesn't access out of bounds memoryYury Usishchev
The -fsanitize=address run associated with v8.22-75-gf940fec failed to check make-prime-list, as src/primes.h is not regenerated with `make clean`. Running with -fsanitize=address indicates a read 1 byte beyond the allocated buffer. $ rm src/make-prime-list.o $ make AM_CFLAGS=-fsanitize=address src/make-prime-list $ src/make-prime-list 5000 ================================================================= ==13913==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x61e00000fa43 at pc 0x4016f5 bp 0x7fff9d9840e0 sp 0x7fff9d9840d0 READ of size 1 at 0x61e00000fa43 thread T0 #0 0x4016f4 in main src/make-prime-list.c:214 #1 0x7f98892c5fdf in __libc_start_main (/lib64/libc.so.6+0x1ffdf) #2 0x401774 (src/make-prime-list+0x401774) 0x61e00000fa43 is located 0 bytes to the right of 2499-byte region [0x61e00000f080,0x61e00000fa43) allocated by thread T0 here: #0 0x7f98896ba7b7 in malloc (/lib64/libasan.so.1+0x577b7) #1 0x400f3f in xalloc src/make-prime-list.c:163 #2 0x400f3f in main src/make-prime-list.c:198 SUMMARY: AddressSanitizer: heap-buffer-overflow src/make-prime-list.c:214 main Shadow bytes around the buggy address: 0x0c3c7fff9ef0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x0c3c7fff9f00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x0c3c7fff9f10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x0c3c7fff9f20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0x0c3c7fff9f30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 =>0x0c3c7fff9f40: 00 00 00 00 00 00 00 00[03]fa fa fa fa fa fa fa 0x0c3c7fff9f50: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c3c7fff9f60: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c3c7fff9f70: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c3c7fff9f80: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c3c7fff9f90: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa Shadow byte legend (one shadow byte represents 8 application bytes): Addressable: 00 Partially addressable: 01 02 03 04 05 06 07 Heap left redzone: fa ... ==13913==ABORTING * src/make-prime-list.c (main): Bounds check the incremented index, before using to access the buffer. Fixes http://bugs.gnu.org/19784
2015-02-03build: fix invalid gnulib patchPádraig Brady
* gl/lib/tempname.c.diff: Fix recent breakage so it applies again. Invalid patch was noticed at http://hydra.nixos.org/eval/1172233 * cfg.mk: Exempt diff files from these "id_est" syntax checks. (sc_ensure_gl_diffs_apply): A new syntax check, to ensure all patches under gl/ apply cleanly. Note we use --fuzz=0 to check patches apply cleanly for safety, due to the patch(1) issue detailed in commit v8.21-117-g46f7e05 * gl/lib/regcomp.c.diff: Rediffed. * gl/lib/regex_internal.c.diff: Likewise. * gl/lib/regex_internal.h.diff: Likewise. * gl/lib/regexec.c.diff: Likewise. * gl/lib/tempname.h.diff: Likewise.
2015-02-03tests: avoid a FP on aarch64 when comparing env/printenv outputBernhard Voelker
The following test fails on aarch64 on openSUSE's OpenBuildService due to glibc's execvp reversing the pointers of 'environ', i.e., the output of "env|tac" equals "env env" on that platform. * tests/misc/printenv.sh: Use 'env env' to work around the behavior on that platform. While at it, fix the grep pattern which suppressed all environment variables starting with an underscore "_" instead of "$_" (and "$LD_PRELOAD") only.
2015-02-02dircolors: sync with Xiph file extensionsPádraig Brady
* src/dircolors.hin: Remove deprecated anx, axa, axv. Add opus. Suggested by Scott Teal.
2015-01-31doc,maint: fix use of "i.e." in documentation and commentsBernhard Voelker
To align with all other places (and correct grammar), change all upper-case "I.E." to "I.e.". Furthermore, ensure that "i.e." is followed by a comma. Finally, ensure to use a double-space before "I.e.," at the beginning of a sentence. The following was used to change all offending uses (apart from old ChangeLog files): $ git grep -liF 'i.e.' \ | xargs sed -i \ -e 's/I\.E\./I.e./g' \ -e 's/\. \(I\.e\.\)/. \1/g' \ -e 's/\([Ii]\.e\.\)\( \)/\1,\2/g' \ -e 's/\([Ii]\.e\.\)$/\1,/g' * cfg.mk (sc_prohibit_uppercase_id_est): Add new rule. (sc_ensure_double_space_after_dot_before_id_est): Likewise. (sc_ensure_comma_after_id_est): Likewise. (old_NEWS_hash): Refresh hash via "make update-NEWS-hash". * NEWS: Change use of "id est" abbreviation via the above command. * README: Likewise. * README-prereq: Likewise. * doc/coreutils.texi: Likewise. * gl/lib/rand-isaac.c: Likewise. * gl/lib/tempname.c.diff: Likewise. * man/stdbuf.x: Likewise. * src/cat.c: Likewise. * src/copy.c: Likewise. * src/copy.h: Likewise. * src/cp.c: Likewise. * src/cut.c: Likewise. * src/dd.c: Likewise. * src/df.c: Likewise. * src/fiemap.h: Likewise. * src/longlong.h: Likewise. * src/ls.c: Likewise. * src/numfmt.c: Likewise. * src/pr.c: Likewise. * src/shred.c: Likewise. * src/shuf.c: Likewise. * src/split.c: Likewise. * tests/Coreutils.pm: Likewise. * tests/df/df-symlink.sh: Likewise. * tests/df/skip-rootfs.sh: Likewise. * tests/init.sh: Likewise. * tests/ls/color-norm.sh: Likewise. * tests/misc/basename.pl: Likewise. * tests/misc/ls-misc.pl: Likewise. * tests/misc/md5sum-bsd.sh: Likewise. * tests/misc/shred-exact.sh: Likewise. * tests/misc/sort.pl: Likewise. * tests/misc/stdbuf.sh: Likewise. * tests/misc/tac-continue.sh: Likewise. * tests/rm/r-root.sh: Likewise. * tests/tail-2/symlink.sh: Likewise.
2015-01-29doc: clarify the output format for the *sum utilitiesPádraig Brady
* src/md5sum.c (usage): Detail the reasons for the default double space between checksum and file name. * doc/coreutils.texi (md5sum invocation): Likewise. Explicitly mention the 3 formats that --check supports. Fixes http://bugs.gnu.org/19725
2015-01-28sync: support syncing specified argumentsGiuseppe Scrivano
* m4/jm-macros.m4 (coreutils_MACROS): Check for syncfs(). * man/sync.x: Add references to syncfs, fsync and fdatasync. * doc/coreutils.texi (sync invocation): Document the new feature. * src/sync.c: Include "quote.h". (AUTHORS): Include myself. (MODE_FILE, MODE_DATA, MODE_FILE_SYSTEM, MODE_SYNC): New enum values. (long_options): Define. (sync_arg): New function. (usage): Describe that arguments are now accepted. (main): Add arguments parsing and add support for fsync(2), fdatasync(2) and syncfs(2). * tests/misc/sync.sh: New (and only) test for sync. * tests/local.mk: Reference the new test. * AUTHORS: Add myself to sync's authors. * NEWS: Mention the new feature.
2015-01-25scripts: autotools-install: updateJim Meyering
* scripts/autotools-install: Increase automake's version number to 1.15 and add Stefano Lattarini's new GPG key ID. Increase gettext's version to 0.19.4 and add Daiki Ueno's GPG key ID. Also move VERSION definition "up" so that it is once again automatically updated via the emacs hook snippet at the end of the file.
2015-01-24stty: only print supported options for combined optionsPádraig Brady
* src/stty.c (usage): Don't reference unsupported options, in the combined options descriptions. * doc/coreutils.texi (stty invocation): Adjust for the new order of the 'sane' and 'raw' combined options. Also add -iutf8 to the 'sane' list.
2015-01-24stty: document the 'status' character where supportedPádraig Brady
* src/stty.c (usage): On systems that support this setting (BSD), display 'status' in the list of adjustable special characters. * doc/coreutils.texi (stty invocation): Mention the option, and that it's not currently supported on Linux.
2015-01-24stty: document the 'discard' character settingPádraig Brady
The equivalent of this is 'flush', but that was never documented as an option (though was output with stty -a). Therefore use the more descriptive name, also generally used on BSD systems. Note even though this setting seems ineffective on Linux, supporting the setting is useful to allow terminal programs to receive the default ^O character code. * doc/coreutils.texi (stty invocation): Document the 'discard' option. * src/stty.c (struct control_info): Add 'discard'; same as 'flush'. (display_all): Show 'discard' rather than 'flush' char. (display_changed): Likewise. (usage): Document the 'discard' option.
2015-01-24stty: add support for extproc/LINEMODEPádraig Brady
Add support for the "extproc" option which is well described at: http://lists.gnu.org/archive/html/bug-readline/2011-01/msg00004.html * src/stty.c (usage): Describe the extproc option if either the Linux EXTPROC local option is defined, or the equivalent BSD TIOCEXT ioctl is defined. (main): Make the separate ioctl call for extproc on BSD. * doc/coreutils.texi (stty invocation): Describe the option, and reference the related RFC 1116. * NEWS: Mention the new feature.
2015-01-20tests: use returns_ function for new split testBernhard Voelker
* tests/split/record-sep.sh: Use the recently added returns_ function to simplify the shell syntax in this test. Also remove the redirection of stdout/stderr to /dev/null as this eases analyzing errors.
2015-01-19split: new -t option to select record separatorAssaf Gordon
* src/split.c (eolchar): A new variable to hold the separator character (unibyte for now). This is reference throughout rather than hardcoding '\n'. (usage): Describe the new --separator option, and mention records along with lines so there is no ambiguity that all options treat lines and records equivalently. (main): Have -t update eolchar, or default to '\n'. * tests/split/record-sep.sh: New test case. * tests/local.mk: Reference the new test. * doc/coreutils.texi (split invocation): Document the new option. Adjust --lines, --line-bytes, --number=[lr]/... to mention they pertain to records if --separator is specified. * NEWS: Mention the new feature.
2015-01-19maint: fix typo in THANKS.in in previous commitPádraig Brady
* THANKS.in: s/Stehpen/Stephen/