summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-06-30doc: improve sample backup scriptJim Meyering
* doc/coreutils.texi (cp invocation): Make the backup script exit with an accurate reflection of any failure. Also, add --preserve=all. Improved-by: Bernhard Voelker
2012-06-26maint: avoid a static analysis warning in csplitPádraig Brady
The Canalyze static code analyzer correctly surmised that there is a use-after-free bug in free_buffer() at the line "struct line *n = l->next", if that function is called multiple times. This is not a runtime issue since a list of lines will not be present in the !lines_found case. * src/csplit.c (free_buffer): Set list head to NULL so that this function can be called multiple times. (load_buffer): Remove a redundant call to free_buffer(). Reported-by: Xu Zhongxing
2012-06-22doc: document multiplier for dd number options like count=NBernhard Voelker
* src/dd.c (usage): Add "N" to the description of multipliers. * doc/coreutils.texi (dd invocation): Likewise.
2012-06-22split: ensure output doesn't overwrite inputPádraig Brady
* src/split.c (create): Check if output file is the same inode as the input file. * tests/split/guard-input: New test case. * tests/Makefile.am: Reference new test case. * NEWS: Mention the fix. Improved-by: Jim Meyering Reported-by: François Pinard
2012-06-22maint: refactor common mode bits used to create filesPádraig Brady
* src/system.h (MODE_RW_UGO): The new refactored define (666). * src/mkfifo.c: Use the new define. * src/mknod.c: Likewise. * src/split.c: Likewise. * src/system.h: Likewise. * src/touch.c: Likewise. * src/truncate.c: Likewise. Suggested-by: Jim Meyering
2012-06-22maint: suppress echoing of sc_THANKS_in_duplicates implementationPádraig Brady
* cfg.mk (sc_THANKS_in_duplicates): Suppress the echoing of these commands run during `make syntax-check`
2012-06-20maint: sort: style adjustment to help clarify size determinationBernhard Voelker
* src/sort.c (default_sort_size): Move physmem code "down" to first use.
2012-06-12stty: portability: accommodate CILJim Meyering
* src/stty.c (main): Declare locals "mode" and "new_mode" to be static to ensure that each is initialized to zero, *including* all padding. While gcc clears padding of a local automatic initialized to "{ 0, }", CIL does not, and the C99 standard is not clear on this issue. Reported by Edward Schwartz. See http://bugs.gnu.org/11675 for details.
2012-06-10maint: remove su testing artifactSami Kerola
* tests/misc/help-version: Remove expected su exit code.
2012-06-10build: update gnulib to latest; correct comment grammarJim Meyering
* tests/misc/help-version: Fix comment grammar: s/all these/all of these/ * gl/lib/tempname.c.diff: Likewise.
2012-06-10maint: migrate strncpy-prohibiting rule to gnulibJim Meyering
* cfg.mk (sc_prohibit_strncpy): Remove rule. Now it's in gnulib.
2012-06-10maint: prohibit use of strncpyJim Meyering
* cfg.mk (sc_prohibit_strncpy): New syntax-check rule. Exempt pinky.c and who.c, at least for now.
2012-06-06su: remove program (util-linux is now the best source for it)Jim Meyering
* README: Omit "su" from list of programs. * src/su.c: Remove file. * src/Makefile.am: Remove su-related rules and variables. * tests/misc/su-fail: Remove test. * tests/Makefile.am (TESTS): Remove misc/su-fail. * tests/misc/invalid-opt: Remove su-related code. * src/.gitignore: Remove su. * man/su.x: Remove file. * man/Makefile.am (su.1): Remove rule. * po/POTFILES.in: Remove su.c from the list. * TODO: Remove ancient entry. * NEWS (Changes in behavior): Mention it. * doc/coreutils.texi: Remove su-related description. * AUTHORS: Remove su. * m4/lib-check.m4 (cu_LIB_CHECK): Remove file/macro. * configure.ac: Remove su-related code and sole use of cu_LIB_CHECK. * scripts/git-hooks/commit-msg: Remove su from this list, too.
2012-06-06maint: detect a new type of duplicate in THANKS.inJim Meyering
* cfg.mk (sc_THANKS_in_duplicates): New rule.
2012-06-05maint: mark new diagnostic for translationJim Meyering
* src/head.c (elide_tail_lines_seekable): Mark new diagnostic. I will look at the results of "make syntax-check", I will look...
2012-06-05head: with --lines=-N (-n-N) reset file pointer on seekable inputJim Meyering
* src/head.c (elide_tail_lines_seekable): Reset file pointer after printing up to an end-relative line-counted offset. Anoop Sharma reported the problem and suggested the fix. * tests/misc/head-pos: Add coverage via a very similar, existing test. Also add coverage for a previously untested block of code. * tests/misc/head-elide-tail ($READ_BUFSIZE): Update to 8192, to match the value of BUFSIZ I see today on Fedora 17/x86_64 (unrelated to this fix). * NEWS (Bug fixes): Mention it. Improved-by: Pádraig Brady
2012-06-01stat,tail: recognize new file system type: panfsJim Meyering
* src/stat.c (human_fstype) [__linux__]: Add a 'case' for the new remote file system type: panfs (0xAAD7AAEA). * NEWS (New features): Mention stat -f. (Bug fixes): Mention it for tail -f. Reported by Travis Gummels in http://bugzilla.redhat.com/827199
2012-05-31maint: fix typos in test comments and old ChangeLog filesJim Meyering
Culprits identified and fixed automatically using these commands: git ls-files|misspellings -f -|perl -nl \ -e '/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/ or next;' \ -e '($file,$n,$l,$r)=($1,$2,$3,$4); $q="'\''"; $r=~s/$q/$q\\$q$q/g;'\ -e 'print "sed -i $q${n}s!$l!$r!$q $file"' | bash using http://github.com/lyda/misspell-check * old/fileutils/ChangeLog: Fix typos. * old/textutils/ChangeLog: Likewise. * tests/misc/truncate-fail-diag: Likewise.
2012-05-28cksum: line-buffer the printed checksumsPádraig Brady
This utility was inadvertently omitted from commit v8.0-34-g710fe41 * src/cksum.c (main): Set stdout to line buffered mode, to ensure parallel running instances don't intersperse their output. * NEWS: Mention the fix. * THANKS.in: Add Anoop. Reported by Anoop Sharma.
2012-05-21maint: remove comment that suggested to remove support for mktemp -VJim Meyering
* src/mktemp.c (main): Don't suggest to remove support for -V, an undocumented alias for --version, since that would introduce a gratuitous incompatibility with the original mktemp program.
2012-05-21dircolors: add st/st-256color terminal typesMike Frysinger
See http://st.suckless.org/ * src/dircolors.hin: Add st and st-256color. Reported-by: Jeroen Roovers <jer@gentoo.org>, via Mike Frysinger <vapier@gentoo.org> in http://bugs.gnu.org/11498
2012-05-20id,groups: use gidtostr/uidtostr to avoid castsJim Meyering
* src/id.c (gidtostr, uidtostr): Define macros. (gidtostr_ptr, uidtostr_ptr): Define safer functions. Use gidtostr and uidtostr to print GID and UID without need/risk of casts. * src/group-list.c: Likewise.
2012-05-16tests: use $AWK, not awkJim Meyering
* tests/cp/sparse-fiemap: Don't hard-code "awk". Use $AWK. * tests/init.cfg: Likewise. * tests/misc/sort-rand: Likewise.
2012-05-16maint: tell xgettext that fputs arg "93% of..." is not a C format stringJim Meyering
* src/fmt.c (usage): Add a comment to tell xgettext that the "% o" in fputs argument string of "...93% of..." is not a C format string. Reported by Toomas Soome, Göran Uddeborg, Petr Pisar, Primoz PETERLIN and Chusslove Illich via http://bugs.gnu.org/11470
2012-05-16maint: add assertions to placate static analysis toolsJim Meyering
A static analysis tool (http://labs.oracle.com/projects/parfait/) produced some false positive diagnostics. Add assertions to help it understand that the code is correct. * src/stty.c: Include <assert.h>. (display_changed): Add an assertion to placate parfait. (display_all): Likewise. * src/sort.c: Include <assert.h>. (main): Add an assertion to placate parfait. * src/fmt.c: Include <assert.h>. (get_paragraph): Add an assertion to placate parfait.
2012-05-16stat: report the correct block size for file system usagePádraig Brady
struct statfs has the f_frsize member since Linux 2.6, so use that rather than f_bsize which can be different. Note the related df change mentioned in NEWS is handled in gnulib by using statvfs() rather than statfs() on Linux > 2.6.36 (where statvfs doesn't hang) and the same method as stat for Linux 2.6 kernels earlier than that. stat(1) doesn't use statvfs() on GNU/Linux as the f_type member isn't available there. Note the change to not use statvfs() on GNU/Linux was introduced in gnulib commit eda39b8 16-08-2003. * m4/stat-prog.m4 (cu_PREREQ_STAT_PROG): Check for the f_frsize member in the statfs structure. * src/stat.c: Use (struct statfs).f_frsize if available. * NEWS (Bug fixes): Mention this stat fix, and the related df fix coming in the next gnulib update. * THANKS.in: Add Nikolaus. Reported and Tested by Nikolaus Rath
2012-05-12ls: color each symlink-to-relative-name in / properlyJim Meyering
In order for ls --color to color each symlink, it must form the name of each referent and then stat it to see if the link is dangling, to a directory, to a file, etc. When the symlink is to a relative name, ls must concatenate the starting directory name and that relative name. When, in addition, the starting directory was "/" or "/some-name", the result was ill-formed, and the subsequent stat would usually fail, making the caller color it as a dangling symlink. * src/ls.c (make_link_name): Don't botch the case in which dir_name(NAME) == "/" and LINKNAME is relative. * tests/ls/root-rel-symlink-color: New file. Test for the above. * tests/Makefile.am (TESTS): Add it. * NEWS (Bug fixes): Mention it. Reported by Mike Frysinger in http://bugs.gnu.org/11453 Bug introduced by commit v8.16-23-gbcb9078.
2012-05-10maint: post-release administriviaJim Meyering
* NEWS: Add header line for next release. * .prev-version: Record previous version. * cfg.mk (old_NEWS_hash): Auto-update.
2012-05-10version 8.17Jim Meyering
* NEWS: Record release date.
2012-05-10tests: misc/tty-eof: increase timeout to avoid unwarranted failureJim Meyering
* tests/misc/tty-eof: Increase timeout from 1s to 10s, to avoid unwarranted failure under heavy load. * tests/Makefile.am (TESTS): Move misc/tty-eof "up" to nearer the beginning of the list (from near the middle) so that it is started earlier in parallel test runs. Otherwise, it would frequently be among the last two tests to complete.
2012-05-10stat,tail: recognize new FS types: bdevfs, inodefs, qnx6Jim Meyering
* src/stat.c (human_fstype) [__linux__]: Add 'case's for these local file system types: bdevfs (0x62646576), inodefs (0x42494E4D), qnx6 (0x68191122). Now that the kernel has a name for S_MAGIC_BINFMTFS, use theirs in place of our S_MAGIC_BINFMT_MISC. * NEWS (New features): Mention it.
2012-05-10scripts: encourage use of shorter "bugs.gnu.org" in bug URLsJim Meyering
* scripts/git-hooks/commit-msg: Also ding debbugs.gnu.org URLs.
2012-05-10maint: handle file sizes more reliablyPaul Eggert
Problem reported by Samuel Thibault in <http://bugs.gnu.org/11424>. * NEWS: Document this. * src/dd.c (skip): Handle skipping past EOF on shared or typed memory objects the same way as with regular files. (dd_copy): It's OK to truncate shared memory objects. * src/du.c (duinfo_add): Check for overflow. (print_only_size): Report overflow. (process_file): Ignore negative file sizes in the --apparent-size case. * src/od.c (skip): Fix comment about st_size. * src/split.c (main): * src/truncate.c (do_ftruncate, main): On files where st_size is not portable, fall back on using lseek with SEEK_END to determine the size. Although strictly speaking POSIX says the behavior is implementation-defined, in practice if lseek returns a nonnegative value it's a reasonable one to use for the file size. * src/system.h (usable_st_size): Symlinks have reliable st_size too. * tests/misc/truncate-dir-fail: Don't assume that getting the size of a dir is not allowed, as it's now allowed on many platforms, e.g., GNU/Linux.
2012-05-09stat: don't report negative file size as huge positive numberPaul Eggert
* src/stat.c (print_stat): Use out_int, not out_uint for stat.st_size. * NEWS (Bug fixes): Mention it.
2012-05-08split: avoid apparent infloop when splitting /dev/zero w/-n on the HurdJim Meyering
* src/split.c (main): Use stat.st_size only for regular files. Samuel Thibault reported in http://bugs.gnu.org/11424 that the /dev/zero-splitting tests would appear to infloop on GNU/Hurd, because /dev/zero's st_size is LONG_MAX. It was only a problem when using the --number (-n) option. * NEWS (Bug fixes): Mention it. This bug was introduced with the --number option, via commit v8.7-25-gbe10739
2012-05-08build: update gnulib submodule to latest; also bootstrap and init.shJim Meyering
* bootstrap: Update from gnulib. * tests/init.sh: Likewise.
2012-05-08doc: clarify dd conv=sparse usage with devicesPádraig Brady
* doc/coreutils.texi (dd invocation): Clarify that NUL blocks are not copied for devices either, and give examples of where it might be useful.
2012-05-08maint: new function: usable_st_sizeJim Meyering
2012-05-08maint: fix common spelling errorsKevin Lyda
These were identified using: https://github.com/lyda/misspell-check executed like: git ls-files | misspellings -f - * src/cat.c: Correct a spelling error. * src/comm.c: Likewise. * src/expr.c: Likewise. * src/pr.c: Likewise. * src/tac.c: Likewise. * src/test.c: Likewise. * src/ChangeLog-2005: Likewise. * src/ChangeLog-2007: Likewise. * src/NEWS: Likewise. * src/doc/coreutils.texi: Likewise. * src/lib/ChangeLog-2007: Likewise. * src/man/help2man: Likewise. * src/old/fileutils/ChangeLog-1997: Likewise. * src/old/fileutils/NEWS: Likewise. * src/old/sh-utils/ChangeLog.0: Likewise. * src/old/textutils/ChangeLog: Likewise. * src/tests/misc/comm: Likewise. * src/tests/misc/uniq: Likewise. * src/tests/mv/dir2dir: Likewise. * src/cfg.mk (old_NEWS_hash): update with `make update-NEWS-hash`
2012-05-07tests: avoid LD_PRELOAD lookup error for dlsymJim Meyering
* tests/cp/nfs-removal-race: Link with -ldl.
2012-05-07cp: handle a race condition more sensiblyJim Meyering
* src/copy.c (copy_reg): In a narrow race (stat sees dest, yet open-without-O_CREAT fails with ENOENT), retry the open with O_CREAT. * tests/cp/nfs-removal-race: New file. * tests/Makefile.am (TESTS): Add it. * NEWS (Bug fixes): Mention it. Reported by Philipp Thomas and Neil F. Brown in http://bugs.gnu.org/11100
2012-05-07doc: NEWS: note when the id/groups bug was introducedJim Meyering
* NEWS (Bug fixes): Note the first affected release. The id bug was introduced by commit v8.0-112-g719a95a.
2012-05-04build: update gnulib submodule to latestJim Meyering
2012-05-04maint: rely on gnulib's new sys_resource moduleJim Meyering
* bootstrap.conf (gnulib_modules): Add sys_resource. * src/sort.c: Remove #if HAVE_SYS_RESOURCE_H guard around inclusion of <sys/resource.h> and move the inclusion "up" into the alphabetized list of its peers. This also avoids a failure of the sc_prohibit_always_true_header_tests syntax-check rule. * m4/jm-macros.m4 (gl_CHECK_ALL_HEADERS): Remove sys/resource.h.
2012-05-02cp,mv,install: provide POSIX_FADV_SEQUENTIAL hint to inputPádraig Brady
This was inadvertently omitted from v8.5-104-g47076e3, and gives the same 5% speedup when copying from an SSD. * src/copy.c (copy_internal): Apply the FADVISE_SEQUENTIAL hint.
2012-05-02maint: prohibit an operator at end of lineJim Meyering
Many coding standards, including GNU's, advocate that when splitting a line near a binary operator, one should put the operator at the beginning of the continued line, rather than at the end of the preceding one. This is for readability: such operators are relatively important to readability, and they are more apparent at the beginning of a line than at the varying-column end of line, * cfg.mk (sc_prohibit_operator_at_end_of_line): New rule. Exempt test.c and head.c.
2012-05-02maint: adjust comments to avoid FP match on binary-operator-at-EOLJim Meyering
* src/ls.c (print_long_format): Reformat comment to avoid "==" at end of line. Also, "sortkey" is not a word: s/sortkey/sort key/. * src/ioblksize.h: Likewise, for "|" from a shell snippet. * src/runcon.c: Likewise, for "|" in grammar-like usage.
2012-05-02maint: with split lines, don't leave an operator at end of lineJim Meyering
* src/copy.c (copy_reg): Split an expression before a binary operator, not after it. * src/cut.c (set_fields): Likewise. * src/id.c (main): Likewise. * src/install.c (setdefaultfilecon): Likewise. * src/join.c (ignore_case): Likewise. * src/pr.c (cols_ready_to_print, init_parameters, print_page): Likewise. * src/stty.c (set_window_size): Likewise. * src/wc.c (SUPPORT_OLD_MBRTOWC): Likewise. * src/who.c (scan_entries): Likewise. * src/test.c (binary_operator): Join a split line. * src/extent-scan.c (extent_scan_read): Move an ">" from end of line to beginning of the following. Likewise for two other expressions.
2012-04-30cat,cp,mv,install,split: Set the minimum IO block size used to 64KiBPádraig Brady
* NEWS: Mention the change in behavior. * src/ioblksize.h: Add updated test results and increase value from 32KiB to 64KiB.
2012-04-27id: -Zn/-Zr: avoid an invalid diagnosticJim Meyering
* src/id.c (main): Using -Z with -r or -n would fail with "id: cannot print only names or real IDs in default format", in spite of that "-Z", which specifies a non-default format. Now, it succeeds and ignores the -n or -r option. The error was that the test for default_format was not updated when I added the new --context (-Z) option in commit v6.9-33-g5320d0f.