platform/upstream/coreutils.git
12 years agopathchk: port to hosts where mbstate_t is replaced
Paul Eggert [Fri, 12 Aug 2011 08:14:45 +0000 (01:14 -0700)]
pathchk: port to hosts where mbstate_t is replaced

This problem was discovered when trying to build git coreutils on
Solaris 8 sparcv9 with Sun C 5.8: the 3rd argument to mbrlen was
of type int * (a pointer to the gnulib replacement mbstate_t) but
the system mbrlen wants the system mbstate_t *.
* bootstrap.conf (gnulib_modules): Add mbrlen.
* src/pathchk.c (mbrlen, mbstate_t) [!(HAVE_MBRLEN && HAVE_MBSTATE_T)]:
Remove macros, which are wrong now that gnulib supplies
replacements for mbstate_t and mbrlen.

12 years agobootstrap: use latest gnulib bootstrap, gettext
Paul Eggert [Thu, 11 Aug 2011 18:42:03 +0000 (11:42 -0700)]
bootstrap: use latest gnulib bootstrap, gettext

* bootstrap: Sync from gnulib.  This removes an obsolescent
gettext.m4 patch, along with some other changes that do not
seem to affect coreutils.
* bootstrap.conf (gnulib_modules): Use gettext, not gettext-h.
Current gnulib gettext seems to work without needing special hacking.
* configure.ac (AM_GNU_GETTEXT_VERSION): Now 0.18.1, not 0.17.
* gnulib: Update to latest.

12 years agomaint: use gnulib's new largefile modulue
Jim Meyering [Tue, 9 Aug 2011 08:28:31 +0000 (10:28 +0200)]
maint: use gnulib's new largefile modulue

* bootstrap.conf (gnulib_modules): Add largefile.
This is useful to Mac OS X 10.5 users if/when configure
is generated using autoconf prior to v2.68-80-gdb2f2e0.
* gnulib: Update to latest.

12 years agotests: avoid lack-of-support du test failure on HP-UX 11.31
Jim Meyering [Sun, 7 Aug 2011 20:09:42 +0000 (22:09 +0200)]
tests: avoid lack-of-support du test failure on HP-UX 11.31

* tests/du/inaccessible-cwd: Skip this test on systems like HP-UX 11.31
that lack both the *at functions and the /proc/self/fd-based support
we might have used to emulate them.  Reported by Bruno Haible in
http://debbugs.gnu.org/8846

12 years agojoin: with --check-order print offending file name, line number and data
Jim Meyering [Thu, 4 Aug 2011 17:31:50 +0000 (19:31 +0200)]
join: with --check-order print offending file name, line number and data

* src/join (g_names): New global (was main's "names").
(main): Update all uses of "names".
(line_no[2]): New globals.
(get_line): Increment after reading each line.
(check_order): Print the standard "file name:line_no: " prefix
as well as the offending line when reporting disorder.
Here is a sample old/new comparison:
  -join: file 1 is not in sorted order
  +join: in:4: is not sorted: contents-of-line-4
* tests/misc/join: Change the two affected tests to expect
the new diagnostic.
Add new tests for more coverage: mismatch in file 2,
two diagnostics, zero-length out-of-order line.
* NEWS (Improvements): Mention it.
Suggested by David Gast in http://debbugs.gnu.org/9236

12 years agomaint: use xcalloc rather than xmalloc+memset (no semantic change)
Jim Meyering [Thu, 4 Aug 2011 16:46:16 +0000 (18:46 +0200)]
maint: use xcalloc rather than xmalloc+memset (no semantic change)

* src/join.c (init_linep): Use xcalloc, not xmalloc+memset.

12 years agomaint: add copyright notice to init.cfg
Jim Meyering [Mon, 8 Aug 2011 07:26:18 +0000 (09:26 +0200)]
maint: add copyright notice to init.cfg

* tests/init.cfg: Add copyright.  Suggested by Stefano Lattarini.

12 years agomaint: prevent accidental future use of the old shell function name
Jim Meyering [Mon, 8 Aug 2011 06:54:52 +0000 (08:54 +0200)]
maint: prevent accidental future use of the old shell function name

This is especially important for an error-handling shell function
like this that is actually called only rarely.
* cfg.mk (sc_prohibit_framework_failure): New rule, to prevent
use of the old name.

12 years agotests: complete the renaming framework_failure -> framework_failure_
Stefano Lattarini [Thu, 4 Aug 2011 18:52:31 +0000 (20:52 +0200)]
tests: complete the renaming framework_failure -> framework_failure_

These changes were mostly mechanical, made by running the
following command:

  git grep -lw framework_failure | grep -v ChangeLog \
    | xargs perl -pi -e 's/\b(framework_failure)\b/${1}_/'

and then editing init.cfg and `tests/cp/cp-a-selinux' by hand.

* tests/init.cfg (framework_failure): Remove, `framework_failure_'
from init.sh should be used instead in the tests.
Remove now-obsolete "FIXME" comment.
(is_local_dir_, require_strace_, require_membership_in_two_groups_,
require_sparse_support_, skip_if_mcstransd_is_running_,
mkfifo_or_skip_) Use `framework_failure_', not `framework_failure'.
* Many test scripts: Likewise.

12 years agomktemp: stir in enough entropy (Bug#6683)
Paul Eggert [Mon, 8 Aug 2011 07:29:46 +0000 (00:29 -0700)]
mktemp: stir in enough entropy (Bug#6683)

* gl/lib/tempname.c.diff (gen_tempname_len):
Use x_suffix_len bytes' worth of entropy, not 8 bytes.

12 years agotests: remove obsolete 'error_' shell function
Stefano Lattarini [Thu, 4 Aug 2011 08:48:38 +0000 (10:48 +0200)]
tests: remove obsolete 'error_' shell function

* tests/init.cfg (framework_failure, getlimits_): Use 'fatal_'
instead of 'error_'.
(error_): Delete, it's not used anymore (and one is anyway
advised to use 'fatal_' instead).
Update heading comments.
* tests/shell-or-perl (error_): Renamed ...
(fatal_): ... to this, for consistency.  Also, add a useful
comment.

12 years agodoc: mention the new mirroring behavior of cp -au
Pádraig Brady [Sun, 31 Jul 2011 08:36:41 +0000 (09:36 +0100)]
doc: mention the new mirroring behavior of cp -au

* NEWS: Mention the change in behavior.
* doc/coreutils.texi (cp invocation): Likewise.

12 years agomaint: accommodate old-NEWS update
Jim Meyering [Sun, 31 Jul 2011 09:23:58 +0000 (11:23 +0200)]
maint: accommodate old-NEWS update

* cfg.mk (old_NEWS_hash): Update, to accommodate 6.12 addition.
Without this change, "make syntax-check" would fail.

12 years ago* NEWS: Say that 6.12 preserved ns-resolution timestamps.
Paul Eggert [Sun, 31 Jul 2011 07:21:00 +0000 (00:21 -0700)]
* NEWS: Say that 6.12 preserved ns-resolution timestamps.

12 years agobuild: require gnulib's fclose module
Jim Meyering [Wed, 27 Jul 2011 19:48:59 +0000 (21:48 +0200)]
build: require gnulib's fclose module

* bootstrap.conf (gnulib_modules): Explicitly use the fclose module.
This is required, now that gnulib's close module no longer depends
on fclose.  Without this module, we would be exposed to fclose bugs
affecting at least glibc 2.13 and FreeBSD.
Reported by Bernhard Voelker.  Suggested by Eric Blake.

12 years agobuild: update gnulib, for "make syntax-check" fix
Jim Meyering [Wed, 27 Jul 2011 20:19:11 +0000 (22:19 +0200)]
build: update gnulib, for "make syntax-check" fix

Without the recent maint.mk fix, "make syntax-check"
would fail like this:

    src/dd.c:# define SA_RESETHAND 0
    src/ls.c:# define SA_RESTART 0
    src/timeout.c:# define SA_RESTART 0
    maint.mk: define the above via some gnulib .h file
    make: *** [sc_prohibit_always-defined_macros] Error 1

12 years agodoc: add a vim indentation example
Ivan Sichmann Freitas [Tue, 19 Jul 2011 02:43:19 +0000 (23:43 -0300)]
doc: add a vim indentation example

HACKING: add a vim example showing how to configure it to follow GNU
indentation in coreutils source files.

12 years agomaint: copy: refactor hard link creation
Pádraig Brady [Wed, 27 Jul 2011 12:22:39 +0000 (13:22 +0100)]
maint: copy: refactor hard link creation

* src/copy.c (create_hard_link): A new function refactored
from existing code.
(copy_internal): Call the new function from all 3 locations
that create hard links.
* tests/cp/same-file: Amend to match the adjusted diagnostic.

12 years agotests: cp/preserve-link: test all relevant paths
Pádraig Brady [Wed, 27 Jul 2011 08:32:39 +0000 (09:32 +0100)]
tests: cp/preserve-link: test all relevant paths

* tests/cp/preserve-link: Add test cases for when a missing
link in the destination tree is encountered first and second.
Also add cases for old and new separate files in the destination
tree, both to make the clobbering behavior explicit, and to
test any changes in this area in future.

12 years agodoc: mention cp's dir-permissions fix
Jim Meyering [Tue, 26 Jul 2011 07:24:31 +0000 (09:24 +0200)]
doc: mention cp's dir-permissions fix

* NEWS (Bug fixes): Mention yesterday's dir-permissions fix.

12 years agomaint: use consistent style in C and test scripts
Jim Meyering [Tue, 26 Jul 2011 07:01:44 +0000 (09:01 +0200)]
maint: use consistent style in C and test scripts

* src/copy.c (copy_internal): Adjust formatting style to conform with
guidelines in HACKING: put braces around two one-line "else" blocks.
* tests/cp/existing-perm-dir: Use $(...), not `...`, and
stat rather than ls+cut to get the mode string.
mode=$(stat --p=%A dst/dir)

12 years agocp: don't mishandle existing dir dest permissions (Bug#9170)
Paul Eggert [Mon, 25 Jul 2011 20:36:16 +0000 (13:36 -0700)]
cp: don't mishandle existing dir dest permissions (Bug#9170)

* src/copy.c (copy_internal): If we don't create the directory,
then we cannot have omitted permissions.  Problem and trivial
fix reported by Eric Lammerts.
* tests/Makefile.am (TESTS): Add cp/existing-perm-dir.
* tests/cp/existing-perm-dir: New file.

12 years agocp -up: preserve all hard links
Jim Meyering [Mon, 25 Jul 2011 09:31:01 +0000 (11:31 +0200)]
cp -up: preserve all hard links

* src/copy.c (copy_internal): With --update (-u), this function would
return early once it found that the destination is not older than the
source, *without* recording the source-dev/ino--to--dest_name mapping.
That mapping is required in order to preserve src hard links in the
destination tree, so when using cp with --update and --preserve=links
(perhaps via -p or -a), cp could fail to preserve one hard link
per inode when at least one of the hard-linked names already exists
in the destination tree.
Reported by Odd Harry Mannsverk in http://debbugs.gnu.org/8419.
* tests/cp/preserve-link: New file.  Exercise the flaw/fix.
* tests/Makefile.am (TESTS): Add it.
* NEWS (Bug fixes): Mention it.

12 years agotimeout: support sub-second timeouts
Pádraig Brady [Mon, 18 Jul 2011 09:49:17 +0000 (10:49 +0100)]
timeout: support sub-second timeouts

* src/timeout.c (settimeout): A new function to convert
from a floating point duration and call alarm() or
timer_settime() if that's available.
(parse_duration): Return a double rather than unsigned int.
(usage): Mention floating point is supported.
(main): Pass the double to settimeout() rather than
calling alarm() directly with the parsed int.
(cleanup): Likewise.
* doc/coreutils.texi (timeout invocation): Say floating point timeouts
now supported, and mention the caveat with resolution.
* bootstrap.conf: Include the timer-time gnulib module.
* tests/misc/timeout-parameters: Add a test with nanoseconds.
* NEWS: Mention the improvement.

12 years agobuild: update gnulib to fix a build warning/error in a test program
Jim Meyering [Mon, 25 Jul 2011 06:26:06 +0000 (08:26 +0200)]
build: update gnulib to fix a build warning/error in a test program

12 years agodf: support partitions larger than 4 TiB on MacOS >= 10.5 & AIX >=5.2
Jim Meyering [Sun, 24 Jul 2011 20:52:34 +0000 (22:52 +0200)]
df: support partitions larger than 4 TiB on MacOS >= 10.5 & AIX >=5.2

This change derives from improvements to gnulib's fsusage module.
* NEWS (Improvements): df now supports disk partitions larger than
4 TiB on MacOS X 10.5 or newer and on AIX 5.2 or newer.
Alphabetize entries.
* gnulib: Update to latest.

12 years agodd, shred: use fdatasync only if declared
Paul Eggert [Fri, 22 Jul 2011 20:40:03 +0000 (13:40 -0700)]
dd, shred: use fdatasync only if declared

* m4/jm-macros.m4 (coreutils_MACROS): Use fdatasync only if declared.
MacOS X 10.7 has an fdatasync that is not declared, and is rumored to
be ineffective.  (Bug#9141)

12 years agodircolors: add screen.Eterm terminal type
Mike Frysinger [Wed, 20 Jul 2011 03:59:34 +0000 (23:59 -0400)]
dircolors: add screen.Eterm terminal type

* src/dircolors.hin: Add screen.Eterm.
Reported by Kfir Lavi

12 years agomaint: remove a redundant call to gl_CLOCK_TIME
Pádraig Brady [Wed, 20 Jul 2011 10:36:36 +0000 (11:36 +0100)]
maint: remove a redundant call to gl_CLOCK_TIME

* m4/jm-macros.m4: Remove gl_CLOCK_TIME as it's already
done by the gettime gnulib module.

12 years agounexpand: fix misalignment when spaces span a tabstop
Pádraig Brady [Tue, 19 Jul 2011 08:06:37 +0000 (09:06 +0100)]
unexpand: fix misalignment when spaces span a tabstop

The following dropped the space from the first field
  printf "1234567  \t1\n" | unexpand -a
Note POSIX says that spaces should not precede tabs.
Also a single trailing space should not be converted
if the next field starts with non blank characters.
So we enforce those rules too, with this change.

* src/unexpand.c (unexpand): Implement as per POSIX rules.
* tests/misc/unexpand: Add tests, and adjust existing
tests as per POSIX rules.
* NEWS: Mention the fix.
Reported by Hallvard B Furuseth

12 years ago* NEWS: Mention fix for Bug#9098.
Paul Eggert [Sun, 17 Jul 2011 19:51:56 +0000 (12:51 -0700)]
* NEWS: Mention fix for Bug#9098.

12 years agotimeout: add regression test (Bug#9098)
Paul Eggert [Sun, 17 Jul 2011 19:47:22 +0000 (12:47 -0700)]
timeout: add regression test (Bug#9098)

* tests/misc/timeout: Check that 'timeout' is not confused when
starting off with a child.

12 years agotimeout: treat seconds counts like 'sleep' does
Paul Eggert [Sat, 16 Jul 2011 19:07:46 +0000 (12:07 -0700)]
timeout: treat seconds counts like 'sleep' does

Treat fractions as a request to round up to the next representable
value, and treat out-of-range values as maximal ones.  This is
consistent with how "sleep" works.  And this way, "timeout
999999999999999999d FOO" and "timeout 4.5 foo" are more likely to
do what the user wants.
* src/timeout.c: Include c-strtod.h and xstrtod.h, not xstrtol.h.
(apply_time_suffix): Change it to the way sleep.c's time_suffix
does things.  Maybe this function (identical in both programs,
other than its name) should be moved to a library?
(parse_duration): Return a maximal value on overflow.  Return
unsigned int, not unsigned long.  Allow fractions, which round
up to the next integer value.
* tests/misc/timeout-parameters: Adjust tests to match new behavior.
Add a very large number.

12 years agoFix capiTalization in comments.
Paul Eggert [Sat, 16 Jul 2011 13:03:47 +0000 (06:03 -0700)]
Fix capiTalization in comments.

12 years ago* src/timeout.c (main): Use waitpid, not wait (Bug#9098).
Paul Eggert [Sat, 16 Jul 2011 12:57:19 +0000 (05:57 -0700)]
* src/timeout.c (main): Use waitpid, not wait (Bug#9098).

Reported by Andreas Schwab.

* src/timeout.c (SA_RESTART): Define to 0 if not defined.

12 years agotimeout: port to NonStop (Bug#9077)
Paul Eggert [Sat, 16 Jul 2011 00:48:38 +0000 (17:48 -0700)]
timeout: port to NonStop (Bug#9077)

* src/timeout.c (SA_RESTART): Define to 0 if not defined.
(main): Don't assume signal handling uses SA_RESTART.

12 years agols: port to NonStop (Bug#9076)
Paul Eggert [Sat, 16 Jul 2011 00:39:28 +0000 (17:39 -0700)]
ls: port to NonStop (Bug#9076)

* src/ls.c (SA_RESTART): Define to 0 if not defined.

12 years agodd: port to NonStop (Bug#9076)
Paul Eggert [Sat, 16 Jul 2011 00:38:32 +0000 (17:38 -0700)]
dd: port to NonStop (Bug#9076)

* src/dd.c (SA_RESETHAND): Define to 0 if not defined.

12 years agocsplit: don't prematurely terminate cleanup (Bug#9076)
Paul Eggert [Fri, 15 Jul 2011 23:03:41 +0000 (16:03 -0700)]
csplit: don't prematurely terminate cleanup (Bug#9076)

* src/csplit.c (interrupt_handler): Reset signal to SIG_DFL
after deleting the files, so that a second interrupt won't
prematurely terminate cleanup.
(main): Don't use SA_NODEFER | SA_RESETHAND, as that might
allow premature termination of cleanup.  Also, this ports better
to platforms like NonStop, which don't ahve SA_RESETHAND.

12 years ago* src/dd.c: Remove obsolete comments re POSIX.
Paul Eggert [Fri, 15 Jul 2011 22:56:13 +0000 (15:56 -0700)]
* src/dd.c: Remove obsolete comments re POSIX.

12 years agobuild: avoid a st_blksize compile failure on some systems
Pádraig Brady [Fri, 15 Jul 2011 15:18:18 +0000 (16:18 +0100)]
build: avoid a st_blksize compile failure on some systems

* src/stat.c (print_stat): Use ST_BLKSIZE() rather than
accessing st_blksize directly, which is not present on
NonStop at least.  Reported by Joachim Schmitz.

12 years agobuild: avoid a fiemap compile failure on some systems
Pádraig Brady [Fri, 15 Jul 2011 08:51:35 +0000 (09:51 +0100)]
build: avoid a fiemap compile failure on some systems

* src/fiemap.h (struct fiemap): Adjust the previous change
to the fiemap_extents array, which would also require changes
to the sizeof calculations in extent_scan_read().
Instead, only declare the fiemap_extents zero length array
on linux, which is the only platform that references this member.
This avoids a compilation failure on systems that don't support
this non standard construct.  We don't use the equivalent C99
flexible array construct so as to have maximum portability.
* src/extent-scan.c: Cleanup. Remove a redundant #ifndef.

12 years ago* src/fiemap.h (struct fiemap.fm_extents): Change size to 1.
Paul Eggert [Fri, 15 Jul 2011 05:06:46 +0000 (22:06 -0700)]
* src/fiemap.h (struct fiemap.fm_extents): Change size to 1.

This is for portability to non-GCC C89 and C99 compilers.
Original problem, on NonStop, reported by Joachim Schmitz in
<http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9077>.

12 years agomaint: fix warning 'possible use of "=" where "==" was intended'
Bernhard Voelker [Thu, 14 Jul 2011 10:56:23 +0000 (11:56 +0100)]
maint: fix warning 'possible use of "=" where "==" was intended'

* src/mktemp.c: maint: avoid warning by using the comma operator
rather than an always-true conditional (as suggested by Eric Blake).
Reported by Joachim Schmitz in http://debbugs.gnu.org/9064.

12 years agodoc: describe the file permissions set by mktemp
Benoît Knecht [Wed, 13 Jul 2011 11:57:59 +0000 (13:57 +0200)]
doc: describe the file permissions set by mktemp

* src/mktemp.c (usage): As above, for --help.
Reported by Jordi Pujol in http://bugs.debian.org/551093.
Wording improvments from Eric Blake.

12 years agodoc: note the order in which wc counts are printed
Benoît Knecht [Mon, 11 Jul 2011 21:10:33 +0000 (23:10 +0200)]
doc: note the order in which wc counts are printed

This information has already been added to the Texinfo manual, but was
missing from the --help output.

* src/wc.c (usage): As above, for --help.
Reported by Vincent Lefevre in http://bugs.debian.org/395430.

12 years agobuild: update gnulib submodule to latest
Jim Meyering [Tue, 12 Jul 2011 13:40:53 +0000 (15:40 +0200)]
build: update gnulib submodule to latest

12 years agobuild: list makeinfo 4.13 as a build-from-git requirement
Eric Blake [Tue, 12 Jul 2011 10:05:47 +0000 (12:05 +0200)]
build: list makeinfo 4.13 as a build-from-git requirement

* bootstrap.conf (buildreq): List 4.13 as minimum makeinfo version.
Prompted by Joachim Schmitz's report in http://debbugs.gnu.org/9050.

12 years agodircolors: highlight .webm multimedia files
Benoît Knecht [Sun, 10 Jul 2011 22:38:34 +0000 (00:38 +0200)]
dircolors: highlight .webm multimedia files

* src/dircolors.hin: Add .webm multimedia files.
Suggested by Josh Triplett in http://bugs.debian.org/582403.

12 years agomaint: add syntax-check rule to prohibit "."-terminated "SEE ALSO"
Jim Meyering [Fri, 8 Jul 2011 15:10:17 +0000 (17:10 +0200)]
maint: add syntax-check rule to prohibit "."-terminated "SEE ALSO"

* cfg.mk (sc_prohibit_man_see_also_period): Prohibit a period at
the end of the first line after a "SEE ALSO" marker in man/*.x.
With this, we shouldn't have to make any more changes like those
in today's commit, f2dabd68.

12 years agodoc: list all new file system types recognized by stat -f
Pádraig Brady [Fri, 8 Jul 2011 14:53:09 +0000 (15:53 +0100)]
doc: list all new file system types recognized by stat -f

NEWS (Improvements): Mention the MQUEUE and PSTOREFS
file systems, recognized as of commit 171e1b98.

12 years agodoc: don't terminate SEE ALSO sections with a period
Benoît Knecht [Fri, 8 Jul 2011 12:52:41 +0000 (14:52 +0200)]
doc: don't terminate SEE ALSO sections with a period

man-pages(7) explicitly says about SEE ALSO sections: "Do not terminate
this with a period." This is also in line with all the other man pages
in coreutils.

* man/cat.x: Remove period at the end of the SEE ALSO section.
* man/tac.x: Likewise.

12 years agotimeout: handle signals more transparently
Pádraig Brady [Fri, 8 Jul 2011 13:49:05 +0000 (14:49 +0100)]
timeout: handle signals more transparently

* m4/jm-macros.m4: Define HAVE_SETRLIMIT.
* src/timeout.c: If the child exited with a signal,
raise that signal to the timeout process itself,
so that callers may also see the signal status.
Use setrlimit to disable core dumps for the timeout
process, which would be generated by some signals.

12 years agotimeout: support cascaded timeouts
Pádraig Brady [Fri, 8 Jul 2011 12:31:05 +0000 (13:31 +0100)]
timeout: support cascaded timeouts

* src/timeout.c (cleanup): Send signals directly to the child
in case it has started its own process group (like a cascaded
timeout command would for example).
* test/misc/timeout-group: Add a test case.
* NEWS: Mention the fix.

12 years agotimeout: add --foreground to support interactive commands
Pádraig Brady [Wed, 6 Jul 2011 22:17:10 +0000 (23:17 +0100)]
timeout: add --foreground to support interactive commands

Or more accurately, commands not started from the shell prompt,
that are interactive, or need to receive Ctrl-C etc. from the terminal.

* doc/coreutils.texi (timeout invocation): Document --foreground.
* src/timeout.c (main): Set the foreground flag and don't create
a separate group.
(cleanup): Only send a signal directly to the monitored command
when the foreground flag is set.
(usage): Describe --foreground.
* tests/misc/timeout-group: Add a new test.
* tests/Makefile.am: Reference new test.
NEWS: Mention the new option.

Reported by Shay Shimony
Analysis by Alan Curry
Fix suggested by Paul Eggert

12 years agodoc: note that cp -l creates _hard_ links
Benoît Knecht [Fri, 8 Jul 2011 08:17:20 +0000 (10:17 +0200)]
doc: note that cp -l creates _hard_ links

This fact was already noted in the Texinfo manual, but not in the
output of --help.
* src/cp.c (usage): As above, for --help.
Reported by Jari Aalto in http://bugs.debian.org/294327.

12 years agotests: exercise md5sum's new --strict option
Jim Meyering [Thu, 7 Jul 2011 10:12:40 +0000 (12:12 +0200)]
tests: exercise md5sum's new --strict option

* tests/misc/md5sum: Exercise new --strict option.

12 years agomd5sum, sha1sum, etc: accept new option: --strict
Patrick Schoenfeld [Thu, 7 Jul 2011 06:57:39 +0000 (08:57 +0200)]
md5sum, sha1sum, etc: accept new option: --strict

Use this new option with --check when the input is expected to
consist solely of checksum lines.  With only --check, an invalid
line evokes a warning, but the program can still exit successfully.
With --strict, any invalid line makes the program exit non-zero.

* src/md5sum.c (strict, STRICT_OPTION): Declare/define.
(long_options): Add "strict".
(usage): Describe --strict.
(digest_check): Count improperly_formatted lines, too, and use
that number and the global "strict" to determine the return value.
(main): Handle STRICT_OPTION.
Reject --strict without --check.
* doc/coreutils.texi: Describe it.
* NEWS (New features): Mention it.

12 years agodoc: note date's %k, %l are space-padded and equivalent to %_H and %_I
Benoît Knecht [Thu, 7 Jul 2011 08:55:47 +0000 (10:55 +0200)]
doc: note date's %k, %l are space-padded and equivalent to %_H and %_I

* src/date.c (usage): As above, for --help.
* doc/coreutils.texi (Time conversion specifiers): Likewise.
Reported by Britton Leo Kerin in http://bugs.debian.org/115833.

12 years agostat: recognize GPFS as a file system type
Jim Meyering [Tue, 5 Jul 2011 20:49:56 +0000 (22:49 +0200)]
stat: recognize GPFS as a file system type

* src/stat.c (human_fstype) [S_MAGIC_GPFS]: Add a case,
to handle GPFS_SUPER_MAGIC/0x47504653.  Prompted by this discussion:
http://thread.gmane.org/gmane.comp.sysutils.autoconf.general/14007
* NEWS (Improvements): Mention it.

12 years agomaint: use "const" and "pure" function attributes where possible
Jim Meyering [Sun, 24 Apr 2011 17:06:39 +0000 (19:06 +0200)]
maint: use "const" and "pure" function attributes where possible

* configure.ac (WARN_CFLAGS): Add -Wsuggest-attribute=const,
-Wsuggest-attribute=pure and -Wsuggest-attribute=noreturn.
(GNULIB_WARN_CFLAGS): But do not add them here... yet.
* src/chown-core.h (chopt_free, uid_to_name): Add function attribute(s).
* src/copy.c (is_ancestor, valid_options): Likewise.
* src/copy.h (chown_failure_ok): Likewise.
* src/dd.c (operand_matches, operand_is): Likewise.
* src/df.c (selected_fstype, excluded_fstype): Likewise.
* src/expr.c (null looks_like_integer): Likewise.
* src/md5sum.c (hex_digits): Likewise.
* src/od.c (get_lcm): Likewise.
* src/pathchk.c (component_start, component_len): Likewise.
* src/pinky.c (count_ampersands): Likewise.
* src/pr.c (cols_ready_to_print): Likewise.
* src/ptx.c (search_table): Likewise.
* src/sort.c (find_unit_order): Likewise.
* src/stty.c (mode_type_flag, string_to_baud, baud_to_value): Likewise.
* src/system.h (gcd, lcm): Likewise.
* src/tr.c (is_char_class_member, look_up_char_class): Likewise.
(star_digits_closebracket): Likewise.
* src/uniq.c (find_field): Likewise.
* src/wc.c (compute_number_width): Likewise.
* lib/xfts.h (cycle_warning_required): Likewise.
* gl/lib/randint.h (randint_get_source): Likewise.
* gl/lib/randperm.c (ceil_lg): Likewise.
* gl/lib/randperm.h (randperm_bound): Likewise.
* lib/strnumcmp.h (strintcmp): Likewise.

12 years agobuffer_lcm: declare with _GL_ATTRIBUTE_CONST
Jim Meyering [Sat, 4 Jun 2011 08:41:08 +0000 (10:41 +0200)]
buffer_lcm: declare with _GL_ATTRIBUTE_CONST

* lib/buffer-lcm.h (buffer_lcm): Use _GL_ATTRIBUTE_CONST.
* lib/buffer-lcm.c: Include <config.h>.

12 years agodoc: detail the effect of disabling input buffering with stdbuf
Pádraig Brady [Fri, 1 Jul 2011 08:42:17 +0000 (09:42 +0100)]
doc: detail the effect of disabling input buffering with stdbuf

* docs/coreutils.texi (stdbuf invocation): Expand on the different
reasons for disabling buffering on input and output.

12 years agodoc: mention the restrictions for stdbuf more prominently
Bruno Haible [Thu, 30 Jun 2011 17:02:36 +0000 (18:02 +0100)]
doc: mention the restrictions for stdbuf more prominently

* doc/coreutils.texi (stdbuf invocation): List the contraints
on the command being controlled, up front.

12 years agodoc: improve ls --help grammar
Jim Meyering [Sat, 25 Jun 2011 12:54:45 +0000 (14:54 +0200)]
doc: improve ls --help grammar

* src/ls.c (usage): Improve grammar.
Reported by Peng Yu.

12 years agodoc: clarify an improvement from coreutils-7.0
Jim Meyering [Sat, 25 Jun 2011 05:57:59 +0000 (07:57 +0200)]
doc: clarify an improvement from coreutils-7.0

* NEWS (7.0 Improvements): Mention the command: "ls -1U".
* cfg.mk (old_NEWS_hash): Update.

12 years agomaint: don't use gnulib's pathmax module; define PATH_MAX if needed
Jim Meyering [Fri, 24 Jun 2011 07:12:59 +0000 (09:12 +0200)]
maint: don't use gnulib's pathmax module; define PATH_MAX if needed

* bootstrap.conf (gnulib_modules): Remove pathmax.
* src/system.h: Don't include "pathmax.h".
(PATH_MAX) [!PATH_MAX]: Define to 8192.  Defining it to a constant
is preferable to using a definition from pathmax.h that might expand
to pathconf ("/", _PC_PATH_MAX). Prompted by discussion leading to:
http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/27183/focus=27269

12 years agobuild: bootstrap: remove obsolete gettext-related file exclusions
Jim Meyering [Wed, 22 Jun 2011 15:34:08 +0000 (17:34 +0200)]
build: bootstrap: remove obsolete gettext-related file exclusions

* bootstrap.conf: Don't bother to exclude gettext/intl-related
.m4 files.  That exclusion is no longer necessary.

12 years agostat: recognize MQUEUE and PSTOREFS file systems
Pádraig Brady [Fri, 24 Jun 2011 07:22:06 +0000 (08:22 +0100)]
stat: recognize MQUEUE and PSTOREFS file systems

* src/stat.c (human_fstype): Add magic numbers for
PSTOREFS and MQUEUE.

12 years agotests: stat-free-color: do not count stat calls before main
Bernhard Voelker [Tue, 21 Jun 2011 14:26:50 +0000 (16:26 +0200)]
tests: stat-free-color: do not count stat calls before main

* tests/ls/stat-free-color: The system may perform additional stat
calls upon loading (seen on OpenSuSE-11.4).  Count only the number
of stat calls compared to --help.
This also reduces back to "1" the number of expected calls,
effectively reverting part of 2011-06-01 commit, ccf2d9a4.

12 years agotests: cp/sparse-fiemap: use "head -n99" in place of "head -99"
Bernhard Voelker [Tue, 21 Jun 2011 08:10:39 +0000 (10:10 +0200)]
tests: cp/sparse-fiemap: use "head -n99" in place of "head -99"

* tests/cp/sparse-fiemap: Use "head -n99" in place of "head -99".
The latter is officially obsolete.

12 years agotests: init.sh: use "sed 1q" in place of "head -1"
Jim Meyering [Mon, 20 Jun 2011 08:01:43 +0000 (10:01 +0200)]
tests: init.sh: use "sed 1q" in place of "head -1"

* tests/init.sh (warn_): Use "sed 1q" in place of "head -1".
The latter is officially obsolete but more portable than "head -n1".
Reported by Bernhard Voelker.

12 years agomaint: update THANKS.in
Jim Meyering [Mon, 20 Jun 2011 07:47:46 +0000 (09:47 +0200)]
maint: update THANKS.in

* THANKS.in: Remove Stefano's name.

12 years agotests: improve init.sh by removing w2_
Bernhard Voelker [Mon, 20 Jun 2011 07:46:06 +0000 (09:46 +0200)]
tests: improve init.sh by removing w2_

* tests/init.sh (w2_): Remove, moving contents into...
(warn_): ...here.  Call self from subshell when IFS must be changed.

12 years agotests: avoid extra forks in the testsuite
Stefano Lattarini [Sat, 18 Jun 2011 15:57:53 +0000 (17:57 +0200)]
tests: avoid extra forks in the testsuite

* tests/shell-or-perl: Prefer the `read' builtin over `grep' to
look at the shebang line of test scripts.  Since `read' is a
special builtin, it might abort the whole program upon failures,
so add extra sanity checks, verifying that the test script exists
and is readable, before trying to read from it.

12 years agotests: make test runner a script, not a shell function
Stefano Lattarini [Sat, 18 Jun 2011 08:26:15 +0000 (10:26 +0200)]
tests: make test runner a script, not a shell function

This change implements a more correct and idiomatic use of the
features of the Automake-provided 'parallel-tests' harness.
Moreover, this change is required in order for the testsuite to
continue to work with the new testsuite harness that is planned
to be introduced in Automake 1.12 (which, as of the writing date,
is still under development and in alpha state).

* tests/shell-or-perl: New auxiliary script.
* tests/Makefile.am (EXTRA_DIST): Distribute it.
* tests/check.mk (TESTS_ENVIRONMENT): Remove definition of the
`shell_or_perl_' shell function, whose code has been moved in
the new script above (with a few improvements and extensions).
Do not use it to run the test scripts.
(LOG_COMPILER): New, properly invoking `shell-or-perl'.

12 years agostdbuf: fix automake variable name to work with cutting edge automake
Jim Meyering [Sun, 19 Jun 2011 09:41:24 +0000 (11:41 +0200)]
stdbuf: fix automake variable name to work with cutting edge automake

* src/Makefile.am (pkglibexec_PROGRAMS): Rename from pkglib_PROGRAMS.
The latter is invalid.  Without this change, automake
v1.11-373-g9ca6326 and newer (on master) would fail with this:
`pkglibdir' is not a legitimate directory for `PROGRAMS'
This changes the default installation directory of libstdbuf.so from
$prefix/lib/coreutils/ to
$prefix/libexec/coreutils/
* src/stdbuf.c (set_LD_PRELOAD): Search in PKGLIBEXECDIR, not PKGLIBDIR,
since that's where we install libstdbuf.so.
Do not search in "", the system default search path.

12 years agomaint: avoid a false positive syntax check
Pádraig Brady [Sat, 18 Jun 2011 17:58:44 +0000 (18:58 +0100)]
maint: avoid a false positive syntax check

* cfg.mk (sc_strftime_check): Skip the check when there
is no info to compare against.
Reported by Stefano Lattarini

12 years agomaint: typo: insert omitted word in test comment
James Youngman [Sun, 19 Jun 2011 07:15:06 +0000 (09:15 +0200)]
maint: typo: insert omitted word in test comment

* tests/misc/sort-spinlock-abuse: Fix typo:
s/"very expensive" are/"very expensive" tests are/

12 years agomaint: fix typo in comment in configure.ac
Stefano Lattarini [Sat, 18 Jun 2011 11:03:54 +0000 (13:03 +0200)]
maint: fix typo in comment in configure.ac

* configure.ac ($MAN): Fix typo in explanatory comment.

12 years agotests: sort-debug-keys: fix a bug with translated diagnostics
Jim Meyering [Fri, 17 Jun 2011 18:30:10 +0000 (20:30 +0200)]
tests: sort-debug-keys: fix a bug with translated diagnostics

Ensure that English diagnostics are emitted even when using
French sorting rules.
* tests/misc/sort-debug-keys: Unset LC_ALL and set LC_COLLATE,
LC_CTYPE and LC_NUMERIC to the fr_FR.UTF-8 locale, while setting
LC_MESSAGES=C.  Reported by Stefano Lattarini.

12 years agomaint: remove duplicate names from THANKS
Pádraig Brady [Fri, 17 Jun 2011 21:48:22 +0000 (22:48 +0100)]
maint: remove duplicate names from THANKS

* .mailmap: Merge email addresses
* THANKS.in: Remove a duplicate name
Reported by Stefano Lattarini

12 years agomaint: use modules/tempname.diff file, not a replacement; update gnulib
Jim Meyering [Fri, 17 Jun 2011 08:02:58 +0000 (10:02 +0200)]
maint: use modules/tempname.diff file, not a replacement; update gnulib

Using a .diff is much more maintainable.  Otherwise, changes in
the gnulib module description file may not be noticed and merged
promptly and may even result in subtle errors.  Luckily, this time,
the failure to propagate gnulib's changes to modules/tempname resulted
only in an obvious link failure.
* gl/modules/tempname: Remove file.
* gl/modules/tempname.diff: Use a .diff file instead.
* gnulib: Update submodule to latest.

12 years agotests: avoid sort-spinlock-abuse false positive under heavy load
Jim Meyering [Fri, 17 Jun 2011 10:01:10 +0000 (12:01 +0200)]
tests: avoid sort-spinlock-abuse false positive under heavy load

* tests/misc/sort-spinlock-abuse: Classify as "very expensive" to
avoid unwarranted failure once and for all.

12 years agotests: remove skip_test_ function; use new skip_ instead
Jim Meyering [Tue, 14 Jun 2011 14:22:41 +0000 (16:22 +0200)]
tests: remove skip_test_ function; use new skip_ instead

* tests/init.cfg (skip_test_): Remove function.
Use skip_ in place of skip_test_ everywhere else.
* cfg.mk (sc_prohibit_skip_): Remove rule.
* tests/**: Use skip_, not skip_test_, everywhere.

12 years agotests: make init.sh's warn_ emit to both the tty and the log file
Jim Meyering [Fri, 17 Jun 2011 07:02:09 +0000 (09:02 +0200)]
tests: make init.sh's warn_ emit to both the tty and the log file

* tests/init.sh (warn_): When $stderr_fileno_ != 2,
emit the diagnostic to both the tty and the log file.

12 years agotests: use printf, not echo in init.sh's warn_ function
Jim Meyering [Tue, 14 Jun 2011 13:37:48 +0000 (15:37 +0200)]
tests: use printf, not echo in init.sh's warn_ function

* tests/init.sh (warn_): Use printf, not echo.  The latter would
misbehave when given strings containing a backslash or starting
with e.g., -n.  James Youngman suggested setting IFS.

12 years agotests: accommodate HP-UX and ksh-derived shells
Jim Meyering [Tue, 14 Jun 2011 07:59:14 +0000 (09:59 +0200)]
tests: accommodate HP-UX and ksh-derived shells

Running "make check" normally prints a diagnostic to the outermost
stderr (usually a tty) to explain why a test is skipped.  It did this
by redirecting FD 9 to stderr (via "exec 9>&2") before invoking the
shell script.  Shell scripts write skip-explanation to FD 9 via
init.sh's skip_ function.  However, with ksh and HP-UX's /bin/sh,
the effects of "exec 9>&2" are canceled upon fork-and-exec, so we
would get a "Bad file number" diagnostic and no skip explanation on
those systems.
* tests/check.mk (TESTS_ENVIRONMENT): Redirect more portably, via
"$(SHELL) 9>&2", rather than the prior "exec 9>&2; $(SHELL) ..."
Actually, we use "shell_or_perl_ 9>&2", to make this effective
also for the perl-based tests.
* tests/init.sh (stderr_fileno_): Update the advice in comments.
See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
for lots of discussion.  Stefano Lattarini suggested the solution
of putting "9>&2" after the command.  Reported by Bruno Haible.

12 years agoinit.sh: sync from gnulib
Jim Meyering [Mon, 13 Jun 2011 10:49:10 +0000 (12:49 +0200)]
init.sh: sync from gnulib

* tests/init.sh: Sync recent changes from gnulib.

12 years agomaint: revert previous commit
Jim Meyering [Mon, 13 Jun 2011 16:20:14 +0000 (18:20 +0200)]
maint: revert previous commit

Revert "init.sh: accommodate shells for which 1>&$stderr_fileno_ fails"
This reverts commit 6fb9aeedd1b858a61d5cbf7f15782adf29ff733a.
That change did not solve the problem.  For details, see
http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8846#74

12 years agoinit.sh: accommodate shells for which 1>&$stderr_fileno_ fails
Jim Meyering [Mon, 13 Jun 2011 10:07:14 +0000 (12:07 +0200)]
init.sh: accommodate shells for which 1>&$stderr_fileno_ fails

* tests/init.sh (warn_): Use eval to work around a bug in some shells,
like those of Solaris 10 and HP-UX 11.11.
Improved by Stefano Lattarini.

12 years agodoc: add NEWS items for recent gnulib fixes
Jim Meyering [Mon, 13 Jun 2011 09:32:41 +0000 (11:32 +0200)]
doc: add NEWS items for recent gnulib fixes

* NEWS (Improvements): Mention the new HP-UX 11.11 ACL support.
(Build-related): Mention the cc/HP-UX 11.11 build fix.

12 years agotests: avoid sort-spinlock-abuse false positive under heavy load
Jim Meyering [Mon, 13 Jun 2011 09:05:49 +0000 (11:05 +0200)]
tests: avoid sort-spinlock-abuse false positive under heavy load

* tests/misc/sort-spinlock-abuse: This test would frequently fail
when run on a system under heavy load.  Increase duration and limit.

12 years agomaint: use stat-size module from gnulib
James Youngman [Sat, 11 Jun 2011 15:28:34 +0000 (16:28 +0100)]
maint: use stat-size module from gnulib

* gnulib: Update to latest.
* src/system.h: Definitions of ST_* macros have moved into the
gnulib module stat-size (specifically, the header file
stat-size.h), so remove them from here.
* src/truncate.c: Include stat-size.h.
* src/stat.c: Likewise.
* src/shred.c: Likewise.
* src/ls.c: Likewise.
* src/du.c: Likewise.
* src/ioblksize.h: New file.  Move definition of io_blksize out of
system.h so that system.h does not have to include stat-size.h.
* src/cat.c: Include ioblksize.h.
* src/split.c: Likewise.
* src/copy.c: Include both stat-size.h and ioblksize.h.
* src/Makefile.am (noinst_HEADERS): Add ioblksize.h.

12 years agotests: avoid a false failure on HPUX systems
Pádraig Brady [Mon, 13 Jun 2011 10:33:10 +0000 (11:33 +0100)]
tests: avoid a false failure on HPUX systems

* tests/dd/nocache: Relax the test, as the system
may return various errors from posix_fadvise().
HPUX 11.31 returns ENOTTY for example.
Reported by Bruno Haible

12 years agotests: inotify-rotate: avoid false positive under heavy load
Jim Meyering [Sat, 11 Jun 2011 11:53:58 +0000 (13:53 +0200)]
tests: inotify-rotate: avoid false positive under heavy load

* tests/tail-2/inotify-rotate: Increase timeout from 10s to 40s
to avoid load-induced false positive.

12 years agomaint: remove unneeded includes
Pádraig Brady [Fri, 3 Jun 2011 09:27:16 +0000 (10:27 +0100)]
maint: remove unneeded includes

Remove unneeded includes as reported by:
http://code.google.com/p/include-what-you-use/

* src/cp-hash.c: Remove unused include.
* src/dd.c: Likewise.
* src/du.c: Likewise.
* src/head.c: Likewise.
* src/kill.c: Likewise.
* src/ls.c: Likewise.
* src/stdbuf.c: Likewise.
* src/timeout.c: Likewise.
* src/truncate.c: Likewise.

12 years agodoc: add examples to date --help
Pádraig Brady [Thu, 2 Jun 2011 12:00:18 +0000 (13:00 +0100)]
doc: add examples to date --help

* src/date.c (usage): Add examples for TZ handling,
and "seconds since epoch" parsing, neither of which
was mentioned in the man page until now.
* THANKS.in: Add Rick.
Suggested by Rick Stanley.

13 years agobuild: require at least 2-year old autoconf-2.64 (was 2.62)
Jim Meyering [Fri, 3 Jun 2011 11:28:15 +0000 (13:28 +0200)]
build: require at least 2-year old autoconf-2.64 (was 2.62)

* configure.ac: Require autoconf-2.64, which is nearly two years old.
* src/system.h (emit_ancillary_info): Use PACKAGE_URL, now that we
require autoconf-2.64.

13 years agomaint: remove now-spurious curly braces
Jim Meyering [Fri, 3 Jun 2011 11:29:15 +0000 (13:29 +0200)]
maint: remove now-spurious curly braces

* src/chown-core.c (restricted_chown): Remove FIXME comment and
superfluous curly braces.