platform/upstream/coreutils.git
14 years agobootstrap: resynchronize from gnulib
Eric Blake [Thu, 25 Feb 2010 16:27:46 +0000 (09:27 -0700)]
bootstrap: resynchronize from gnulib

* gnulib: Update to latest.
* bootstrap: Copy from gnulib/build-aux/bootstrap.
* README-hacking: Describe how to use GNULIB_SRCDIR.

14 years agoexpr: clarify error message
Eric Blake [Thu, 25 Feb 2010 15:36:39 +0000 (08:36 -0700)]
expr: clarify error message

* src/expr.c (eval4, eval3): Clarify that expr expects integers,
and not the broader category of numbers.
* tests/misc/expr: Update test accordingly.
Suggested by Dan Jacobson.

14 years agomaint: clean up the output from syntax-check rules
Pádraig Brady [Thu, 18 Feb 2010 08:38:30 +0000 (08:38 +0000)]
maint: clean up the output from syntax-check rules

* cfg.mk (sc_tight_scope): Pass the -s (silent) flag to `make`
so that it doesn't report about calling sub makes.
(sc_check-AUTHORS): Likewise.
(sc_strftime_check): Don't display stderr from `info`.
* src/Makefile.am (sc_tight_scope): Don't annotate with "GEN".
(sc_check-AUTHORS): Likewise.

14 years agols: fix a regression by honoring NORMAL attributes again
Moritz Orbach [Tue, 16 Feb 2010 22:48:00 +0000 (22:48 +0000)]
ls: fix a regression by honoring NORMAL attributes again

Output the NORMAL attribute before non file name text.
This attribute will continue into file names that would
not otherwise be colored unless FILE is also set.
The regression was introduced with commit 483297d5, 28-02-2009,
"ls --color no longer outputs unnecessary escape sequences".

* src/ls.c (set_normal_color): A new function to output the
NORMAL attribute sequence if it's enabled.
(print_current_files): Output NORMAL before printing long format info.
(print_file_name_and_frills): Output NORMAL before printing file name.
(print_color_indicator): Reset the attributes before a file name with
attributes so that NORMAL attributes will not combine with them.
(print_name_with_quoting): Ensure attributes are reset after printing
the file name if NORMAL attributes were output.
* tests/ls/color-norm: A new test for NORMAL and FILE combinations.
* tests/Makefile.am: Reference the new test.
* NEWS: Mention the fix.
Reported in https://savannah.gnu.org/bugs/?26512

14 years agomaint: fix the man page correlation tests
Pádraig Brady [Fri, 12 Feb 2010 18:34:33 +0000 (18:34 +0000)]
maint: fix the man page correlation tests

These checks were not being run as distcheck-hook targets
are only supported in the top-level Makefile.  Instead
these tests are now run during a syntax-check.

* cfg.mk (sc_man_file_correlation):  A new syntax check to
call the 2 existing tests to check the correlation between
the programs and man/*.[1x].
* man/Makefile.am (sc_man_file_correlation): Call the 2 existing
man page correlation tests.
(check-x-vs-1): Remove the "GEN" annotation as it's a bit verbose.
(check-programs-vs-x): Likewise.
* src/Makefile.am (all_programs.list): Exclude libstdbuf.so
from the list of programs.  This issue was not noticed as
the checks were not actually being run.

14 years agotests: fix an unlikely race in tail-2/inotify-hash-abuse2
Pádraig Brady [Thu, 11 Feb 2010 17:38:56 +0000 (17:38 +0000)]
tests: fix an unlikely race in tail-2/inotify-hash-abuse2

* tests/tail-2/inotify-hash-abuse2: Explicitly kill the process
by using cleanup_() rather than using a timeout which may trigger
a failure on very slow systems (< 20 iterations of the loop per second).

14 years agodoc: fix inconsistent capitalization in --help output
Pádraig Brady [Fri, 12 Feb 2010 15:19:15 +0000 (15:19 +0000)]
doc: fix inconsistent capitalization in --help output

* src/base64.c (usage): Don't capitalize the first character
in an --option description.
* src/stdbuf.c (usage): Likewise.
* src/truncate.c (usage): Likewise.
* cfg.mk (sc_option_desc_uppercase): A new syntax check to
stop this happening in future.
* man/Makefile.am (sc_option_desc_uppercase): Ensure all
man pages are generated, then search for erroneous uppercase chars.
* src/Makefile.am (all_programs): Ensure all
commands are built so that all man pages can be generated.

14 years agoremove.c: remove three unnecessary #include directives
Jim Meyering [Sun, 14 Feb 2010 10:25:57 +0000 (11:25 +0100)]
remove.c: remove three unnecessary #include directives

* src/remove.c: Don't include hash.h, hash-pjw.h or obstack.h.
They have been unused since the fts rewrite.

14 years agobuild: ignore another gnulib artifact
Eric Blake [Mon, 15 Feb 2010 13:56:11 +0000 (06:56 -0700)]
build: ignore another gnulib artifact

* .gitignore: Add lib/warn-on-use.h.

14 years agodirname: improve man page description
Eric Blake [Mon, 15 Feb 2010 13:45:31 +0000 (06:45 -0700)]
dirname: improve man page description

* doc/coreutils.texi (dirname invocation): Properly cover behavior
on directory.
* man/dirname.x: Likewise.
* THANKS: Update.
Reported by Emmanuel Lacour.

14 years agodoc: remove extraneous periods from --help output
Pádraig Brady [Wed, 10 Feb 2010 17:05:34 +0000 (17:05 +0000)]
doc: remove extraneous periods from --help output

* src/join.c (usage): Mention "fields" rather than repeating "line"
so that it's more obvious that the fields are still parsed, and
thus -o is still honored for headers.  Also remove an extraneous
'.' reported by Stéphane Raimbault.
* src/base64.c (usage): Remove extraneous blank line and order
the options alphabetically.  Also remove an extraneous '.'
* src/chown.c (usage): Remove extraneous '.'
* src/cp.c (usage): Likewise.
* src/mktemp.c (usage): Likewise.
* src/pr.c (usage): Likewise.
* src/stat.c (usage): Likewise.
* src/uniq.c (usage): Likewise.

14 years agodoc: add a TODO item
Jim Meyering [Wed, 10 Feb 2010 06:25:58 +0000 (07:25 +0100)]
doc: add a TODO item

* TODO: Consider adding a col implementation.

14 years agocopy.c: improve a comment
Jim Meyering [Sun, 7 Feb 2010 20:02:18 +0000 (21:02 +0100)]
copy.c: improve a comment

* src/copy.c (copy_reg): The comment about POSIXLY_CORRECT refers
only to cp, not to any other application that uses copy.c.

14 years agodoc: add a cross reference from tac's man page to "rev"
James R. Van Zandt [Sun, 7 Feb 2010 15:36:13 +0000 (16:36 +0100)]
doc: add a cross reference from tac's man page to "rev"

* man/tac.x: See also "rev".

14 years agotests: include help-version test settings used by gzip and grep
Jim Meyering [Sun, 7 Feb 2010 11:16:34 +0000 (12:16 +0100)]
tests: include help-version test settings used by gzip and grep

* tests/misc/help-version: ...the better to keep this file in sync.

14 years agodoc: rewrite part of README-release
Jim Meyering [Sun, 7 Feb 2010 08:10:53 +0000 (09:10 +0100)]
doc: rewrite part of README-release

* README-release (Pre-release testing): Reorganize.

14 years agosync with gnulib
Jim Meyering [Wed, 3 Feb 2010 20:57:24 +0000 (21:57 +0100)]
sync with gnulib

* gl/lib/regcomp.c.diff: Update to apply to changed version in gnulib.
* gnulib: Update submodule to latest.

14 years agotests: fix various timeout races
Pádraig Brady [Tue, 2 Feb 2010 10:47:48 +0000 (10:47 +0000)]
tests: fix various timeout races

Prompted by the continuous integration build failure at:
http://hydra.nixos.org/build/277485

* tests/misc/timeout: Set all expected timeouts to 1s and all
unexpected timeouts to 10s. In this way, tests normally proceed
quickly but may delay up to 10s before reporting failures.
* tests/ls/infloop: Likewise.
* tests/tail-2/pid: Likewise.
* tests/tail-2/pipe-f: Likewise.
* tests/tail-2/wait: Likewise.
* tests/dd/skip-seek-past-dev: Likewise.

14 years agotests: cp-a-selinux: skip the test if mounting a loop device fails
Ondřej Vašík [Mon, 1 Feb 2010 15:29:27 +0000 (16:29 +0100)]
tests: cp-a-selinux: skip the test if mounting a loop device fails

* tests/cp/cp-a-selinux: Skip the test (instead of fail) if we
fail to mount a loop device (e.g., none available).

14 years agomaint: fix a typo in NEWS
Pádraig Brady [Mon, 1 Feb 2010 15:40:44 +0000 (15:40 +0000)]
maint: fix a typo in NEWS

* NEWS: s/contains/contain/

14 years agojoin: make -t '' operate on the whole line
Pádraig Brady [Mon, 1 Feb 2010 15:19:08 +0000 (15:19 +0000)]
join: make -t '' operate on the whole line

Previously passing an empty parameter to -t would
raise an error, but now it means to treat each line
as a single field for matching.  This matches the
default operation of `sort` which is usually used
in conjunction with join.

* src/join.c (main): Set the field delimiter to '\n' if
an empty parameter is passed to -t.
(usage): Mention the operation of -t ''.
* tests/misc/join: Add 2 new tests, for the existing -t '\0'
and the new -t '' functionality.
* doc/coreutils.texi (join invocation): Mention that
join -t '' always operates on the whole line, while
join -t '\0' usually does.
* NEWS: Mention the change in behavior.

14 years agojoin: add --header option to always output the first line
Assaf Gordon [Fri, 20 Nov 2009 15:24:07 +0000 (15:24 +0000)]
join: add --header option to always output the first line

This essentially allows one to use --check-order with headings.
Note join without --check-order will already handle the common case
where headings do match in each file, however using --check-order will fail
often when the header sorts after the first line of data.

Note also that this will join header lines from each file even if
they don't match, with headings from the first file being used.

* NEWS: Mention the new option.
* doc/coreutils.texi (join invocation): Describe the new option.
* src/join.c (usage): Likewise.
(join): Join the header lines unconditionally.
* tests/misc/join: Add 5 new tests.

14 years agomaint: fix an inconsequential memory leak in join
Pádraig Brady [Wed, 27 Jan 2010 02:17:36 +0000 (02:17 +0000)]
maint: fix an inconsequential memory leak in join

* src/join.c (join): Refactor the code that checks for misorder
at the tail of the files.  The most significant change here is
that freeline() is called thus silencing a valgrind warning about
a definite but inconsequential memory leak.
(freeline): Make more general by doing nothing when passed NULL,
and setting freed pointers to NULL.

14 years agomaint: use $(CONFIG_INCLUDE) rather than the hardcoding lib/config.h
Pádraig Brady [Thu, 28 Jan 2010 18:12:20 +0000 (18:12 +0000)]
maint: use $(CONFIG_INCLUDE) rather than the hardcoding lib/config.h

* tests/check.mk (TESTS_ENVIRONMENT): Use the generated CONFIG_INCLUDE
variable.  Note $(abs_builddir)/$(CONFIG_HEADER) also currently works,
but $(CONFIG_HEADER) is deprecated and may not be generated in future.
$(CONFIG_INCLUDE) was made available by gnulib in commit, 22970f8a,
"syntax-check: detect incorrect boolean macro values in config.h"

14 years agols --color: don't emit a final no-op escape sequence
Jim Meyering [Sat, 30 Jan 2010 22:52:46 +0000 (16:52 -0600)]
ls --color: don't emit a final no-op escape sequence

* src/ls.c (main): With --color, avoid emitting the final color-
resetting escape sequence when it would be a no-op.
* tests/ls/color-clear-to-eol: Adjust expected output accordingly.
* tests/ls/color-dtype-dir: Likewise.
* tests/ls/multihardlink: Likewise.
* tests/ls/stat-free-symlinks: Likewise.
* tests/misc/ls-misc: Likewise.
* NEWS (Changes in behavior): Mention it.
C de-Avillez rebased and adapted four of the new sl-dangle*
tests in tests/misc/ls-misc.
Reported by Jim Avera in
http://bugs.launchpad.net/ubuntu/+source/coreutils/+bug/494663

14 years agomaint: move vulnerable-Makefile.in-check to gnulib
Jim Meyering [Thu, 28 Jan 2010 08:38:25 +0000 (09:38 +0100)]
maint: move vulnerable-Makefile.in-check to gnulib

* cfg.mk (sc_vulnerable_makefile_CVE-2009-4029): Move rule to...
* gnulib: Update to latest, to get updated "maint.mk".

14 years agomaint: add a syntax-check rule to check for vulnerable Makefile.in
Jim Meyering [Wed, 27 Jan 2010 21:36:27 +0000 (22:36 +0100)]
maint: add a syntax-check rule to check for vulnerable Makefile.in

* cfg.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.

14 years agowho --mesg (-T) can use a more accurate test for TTY writability
Kamil Dudka [Fri, 22 Jan 2010 14:17:19 +0000 (15:17 +0100)]
who --mesg (-T) can use a more accurate test for TTY writability

Enabled when coreutils is configured with --with-tty-group.
Based on a patch written by Piotr Gackiewicz.  Details at
http://bugzilla.redhat.com/454261

* src/who.c (is_tty_writable): A new function returning true if a TTY
device is writable by the group.  Additionally it checks the group to be
the same as TTY_GROUP_NAME when compiled with --with-tty-group.
* m4/jm-macros.m4: Introduce a new configure option --with-tty-group.
* NEWS: Mention the change.

14 years agotests: fix a syntax-check rule to pass in non-srcdir build
Jim Meyering [Sun, 24 Jan 2010 13:46:58 +0000 (14:46 +0100)]
tests: fix a syntax-check rule to pass in non-srcdir build

* cfg.mk (sc_x_sc_dist_check): This coreutils-specific syntax-check
rule would fail in a non-srcdir build, since in that case, each name
from $(VC_LIST) starts with "$(srcdir)/".  Fix that.
* gnulib: Update to latest, to pull in a required maint.mk change.

14 years agotests: make cp-mv-enotsup-xattr independent of the host file system
Pádraig Brady [Sat, 23 Jan 2010 23:35:41 +0000 (23:35 +0000)]
tests: make cp-mv-enotsup-xattr independent of the host file system

* tests/cp-mv-enotsup-xattr: Create a file system from which to copy
the xattrs so that the test is not skipped if the host file system
does not have user_xattr support.  Also don't erroneously fail when
built without xattr support.

14 years agodoc: add nproc to the texinfo overview menu
Pádraig Brady [Fri, 22 Jan 2010 07:31:00 +0000 (07:31 +0000)]
doc: add nproc to the texinfo overview menu

* doc/coreutils.texi: Add nproc to the System context
command list in the overview menu.

14 years agomaint: ensure test independence from config macro format
Pádraig Brady [Fri, 22 Jan 2010 19:26:16 +0000 (19:26 +0000)]
maint: ensure test independence from config macro format

* tests/cp/acl: Support USE_ACL not being defined.
* tests/mv/acl: Likewise. Also fix typo in skip message.
* tests/cp/preserve-slink-time: Support HAVE_UTIMENSAT being 0.
* tests/touch/no-dereference: Likewise.
* tests/ls/capability: Normalize so 1 is not required to be last char.

14 years agobuild: fix failure from bogus USE_XATTR definition
Eric Blake [Sat, 16 Jan 2010 13:46:17 +0000 (06:46 -0700)]
build: fix failure from bogus USE_XATTR definition

* m4/xattr.m4 (gl_FUNC_ADDR): Fix regression introduced in commit
6beca4248.
* THANKS: Update.
Reported by Adam Sampson.

14 years agolibstdbuf: plug a very unlikely leak
Jim Meyering [Mon, 18 Jan 2010 07:02:05 +0000 (08:02 +0100)]
libstdbuf: plug a very unlikely leak

* src/libstdbuf.c (apply_mode): Don't leak "buf" upon setvbuf failure.

14 years agopr: avoid two over-allocations
Jim Meyering [Mon, 18 Jan 2010 06:53:44 +0000 (07:53 +0100)]
pr: avoid two over-allocations

* src/pr.c (init_store_cols): Allocate N*sizeof(*VAR) bytes,
not N*sizeof(int*).  The latter would mistakenly allocate double
the required space on a system with 8-byte pointers.

14 years agomaint: add missing "post-release push" step to release procedure
Jim Meyering [Thu, 14 Jan 2010 13:39:11 +0000 (06:39 -0700)]
maint: add missing "post-release push" step to release procedure

* README-release: Push the automated release and post-release
NEWS-updating commits.
Pádraig Brady reported that I'd pushed the tag without also
pushing the followup commit.

14 years agopost-release administrivia
Jim Meyering [Wed, 13 Jan 2010 21:14:16 +0000 (22:14 +0100)]
post-release administrivia

* NEWS: Add header line for next release.
* .prev-version: Record previous version.
* cfg.mk (old_NEWS_hash): Auto-update.

14 years agoversion 8.4 v8.4
Jim Meyering [Wed, 13 Jan 2010 20:57:54 +0000 (21:57 +0100)]
version 8.4

* NEWS: Record release date.

14 years agotests: avoid spurious failures on older shells
Pádraig Brady [Wed, 13 Jan 2010 12:19:26 +0000 (12:19 +0000)]
tests: avoid spurious failures on older shells

* tests/tail-2/inotify-hash-abuse: Use kill rather than wait
to determine if the tail process is still running.
* tests/tail-2/inotify-hash-abuse2: Ditto.

14 years agotests: work around spurious test failure with OpenBSD4.5's /bin/sh
Jim Meyering [Wed, 13 Jan 2010 09:53:32 +0000 (10:53 +0100)]
tests: work around spurious test failure with OpenBSD4.5's /bin/sh

* tests/ls/infloop: OpenBSD4.5's /bin/sh would mistakenly include
"set -x"-output in an application's stderr stream when stderr is
redirected before stdout.  This was causing one spurious test failure.
The work-around: redirect stdout first.
Reported by Nelson Beebe.

14 years agotests: don't silently skip the sort-version tests
Jim Meyering [Wed, 13 Jan 2010 09:19:58 +0000 (10:19 +0100)]
tests: don't silently skip the sort-version tests

* tests/misc/sort-version: Don't use <<- and indented here-doc contents.
s/<<-/<</ and unindent the here-document contents.  Otherwise,
bash would ignore the indented delimiter and use EOF, thus silently
skipping this test.  OpenBSD5.4's shell reported the failure:
  $ printf 'cat<<-x\n foo\n x\n'|sh
  sh: <stdin>[4]: here document `x' unclosed
  [Exit 1]
by contrast, bash warns but still exits successfully:
  $ printf 'cat<<-x\n foo\n x\n'|bash && echo you lose
  bash: line 3: warning: here-document at line 1 delimited by \
    end-of-file (wanted `x')
   foo
   x
  you lose

14 years agotests: avoid spurious failure on old kernel
Eric Blake [Fri, 8 Jan 2010 19:01:08 +0000 (12:01 -0700)]
tests: avoid spurious failure on old kernel

* tests/touch/no-dereference: Skip test if utimensat doesn't
support symlinks.
Reported by Bernhard Voelker.

14 years agomaint: update info about getting the prerequisite automake
Pádraig Brady [Tue, 12 Jan 2010 10:32:08 +0000 (10:32 +0000)]
maint: update info about getting the prerequisite automake

* README-prereq: Now that we require automake-1.11.1
update the instructions from getting it from the git repo

14 years agomaint: remove an already handled item from TODO
Pádraig Brady [Tue, 12 Jan 2010 10:29:36 +0000 (10:29 +0000)]
maint: remove an already handled item from TODO

* TODO: The question regarding printf octal escapes is answered in
commit 4bcefa62, 2003-04-21, "Fix printf POSIX compatibility bug ..."

14 years agomaint: fix tests on solaris by using /usr/xpg4/bin
Pádraig Brady [Tue, 12 Jan 2010 10:18:21 +0000 (10:18 +0000)]
maint: fix tests on solaris by using /usr/xpg4/bin

* tests/check.mk: Prepend /usr/xpg4/bin to the $PATH if present.
Using the more standard utilities allows tests such as misc/printenv,
which uses the -E option to grep, to complete.

14 years agobuild: update gnulib, to get fixed getlogin-related tests
Jim Meyering [Tue, 12 Jan 2010 08:55:17 +0000 (09:55 +0100)]
build: update gnulib, to get fixed getlogin-related tests

14 years agobuild: fix build failure due to missing libxattr
Jim Meyering [Tue, 12 Jan 2010 06:58:44 +0000 (07:58 +0100)]
build: fix build failure due to missing libxattr

Configure is supposed to detect insufficient XATTR support.
However, if a system has the required headers, but no library,
the configure script would mistakenly enable USE_XATTR.
* m4/xattr.m4 (gl_FUNC_XATTR): If the attr_copy_file function
is not found, don't set USE_XATTR.
Nelson Beebe reported a link failure on RHEL 5.3.
Also, do not let the combination of --disable-xattr and
a stray LIB_XATTR environment setting perturb the build.
* NEWS (Build-related): Mention it.

14 years agodoc: mention the wchar.h vs. glibc build problem
Jim Meyering [Tue, 12 Jan 2010 05:52:14 +0000 (06:52 +0100)]
doc: mention the wchar.h vs. glibc build problem

* NEWS (Build-related): Mention the wchar.h issue.

14 years agonproc: return a possibly more accurate total CPU count
Pádraig Brady [Mon, 11 Jan 2010 22:50:21 +0000 (22:50 +0000)]
nproc: return a possibly more accurate total CPU count

* gnulib: Update, for num_processors() improvement.
* NEWS: Mention the fix.

14 years agols: reorder includes to work around broken <sys/capability.h>
Kamil Dudka [Sat, 9 Jan 2010 20:18:06 +0000 (21:18 +0100)]
ls: reorder includes to work around broken <sys/capability.h>

* src/ls.c: Include <sys/capability.h> later, to avoid build
failure with a header from libcap-2.16-1 or earlier.
See http://bugzilla.redhat.com/483548 for details.

14 years agomaint: move coreutils specific rule into cfg.mk
Eric Blake [Fri, 8 Jan 2010 05:15:14 +0000 (22:15 -0700)]
maint: move coreutils specific rule into cfg.mk

* gnulib: Update, for maint.mk improvement.
* cfg.mk (_makefile_at_at_check_excpetions): New rule, needed
for latest change to maint.mk.

14 years agopost-release administrivia
Jim Meyering [Thu, 7 Jan 2010 17:25:36 +0000 (18:25 +0100)]
post-release administrivia

* NEWS: Add header line for next release.
* .prev-version: Record previous version.
* cfg.mk (old_NEWS_hash): Auto-update.

14 years agoversion 8.3 v8.3
Jim Meyering [Thu, 7 Jan 2010 17:13:26 +0000 (18:13 +0100)]
version 8.3

* NEWS: Record release date.

14 years agomaint: change an email address in THANKS
Jim Meyering [Thu, 7 Jan 2010 06:17:06 +0000 (07:17 +0100)]
maint: change an email address in THANKS

* THANKS: Adjust Denis' address.

14 years agopr: ensure the page header line is of the required format
Eric Blake [Thu, 7 Jan 2010 03:57:40 +0000 (20:57 -0700)]
pr: ensure the page header line is of the required format

Before this change, with too long a file name, the name would
abut the date field on the left and possibly also the "Page N"
field on the right, rather than leaving a one-space separator
in each case.  Fixes a regression introduced on Mar 6 2009,
by commit a4053c5291d5797734b3e4f042f9e1adf3944fd6

* src/pr.c (print_header): Ensure that there is at least one
space before and after the file name part of the header line.
* NEWS: Mention it.
* tests/pr/W20l24f-ll: s/xPage/ x Page/.
* THANKS: Update.
Reported by Denis McKeon, in https://savannah.gnu.org/bugs/?28492.

14 years agomaint: apply correct license to auxiliary files
Eric Blake [Wed, 6 Jan 2010 16:12:10 +0000 (09:12 -0700)]
maint: apply correct license to auxiliary files

* gnulib: Update, for maint.mk improvements.
* HACKING: Use GFDL 1.3, not 1.2.
* NEWS: Likewise.
* README: Likewise.
* cfg.mk (old_NEWS_hash): Update accordingly.
* .gitignore: Ignore file created by 'make update-NEWS-hash'.

14 years agobuild: require newer versions of automake and autoconf
Jim Meyering [Wed, 6 Jan 2010 09:14:23 +0000 (10:14 +0100)]
build: require newer versions of automake and autoconf

* configure.ac: Require autoconf-2.62 and automake-1.11.1 or newer.
* bootstrap.conf (buildreq): Require automake-1.11.1 or newer,
to ensure people use a version with the fix for CVE-2009-4029.
Note that the coreutils-8.2 tarball included a fixed Makefile.in.
Require autoconf-2.62, per automake.

14 years agocp, touch: avoid problem with new glibc
Eric Blake [Wed, 6 Jan 2010 13:40:21 +0000 (06:40 -0700)]
cp, touch: avoid problem with new glibc

* gnulib: Update, for utimens fix.
* NEWS: Mention the fix.
Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
See also http://bugzilla.redhat.com/552320.

Signed-off-by: Eric Blake <ebb9@byu.net>
14 years agodoc: fix typo in NEWS
Philip Rowlands [Tue, 5 Jan 2010 13:11:56 +0000 (14:11 +0100)]
doc: fix typo in NEWS

* NEWS: Fix typo: s/repeated/repeatedly/

14 years agobuild: update gnulib submodule to latest
Jim Meyering [Mon, 4 Jan 2010 16:19:43 +0000 (17:19 +0100)]
build: update gnulib submodule to latest

14 years agomaint: always free a buffer, to avoid even semblance of a leak
Jim Meyering [Mon, 4 Jan 2010 15:49:30 +0000 (16:49 +0100)]
maint: always free a buffer, to avoid even semblance of a leak

* src/tac.c (main): Free the input buffer in most cases.

14 years agomaint: use more readable operator: "||" rather than "|"
Jim Meyering [Mon, 4 Jan 2010 15:46:44 +0000 (16:46 +0100)]
maint: use more readable operator: "||" rather than "|"

* src/cp.c (make_dir_parents_private): Use "||" rather than "|",
so that clang understands there is no undefined pointer dereference.

14 years agomaint: record update-copyright options for this package
Jim Meyering [Sun, 3 Jan 2010 17:56:22 +0000 (18:56 +0100)]
maint: record update-copyright options for this package

* cfg.mk: Next time, just run "make update-copyright".

14 years agols: fix color of broken symlinks colored as target
Eric Blake [Fri, 1 Jan 2010 14:39:29 +0000 (07:39 -0700)]
ls: fix color of broken symlinks colored as target

* src/ls.c (print_color_indicator): When using 'LINK target' in
dircolors, treat broken symlink as C_ORPHAN.
* tests/misc/ls-misc (sl-dangle2, sl-dangle3, sl-dangle4)
(sl-dangle5): Test for it, and add more coverage.
* NEWS: Document it.
* THANKS: Update.
Reported by Chris Jones.

14 years agodf: use fputs in place of printf in a few more places
Jim Meyering [Fri, 1 Jan 2010 15:56:03 +0000 (16:56 +0100)]
df: use fputs in place of printf in a few more places

* src/df.c (print_header): Use fputs rather than printf in more places.
Suggested by Eric Blake.

14 years agobuild: update gnulib submodule to latest
Jim Meyering [Fri, 1 Jan 2010 10:14:45 +0000 (11:14 +0100)]
build: update gnulib submodule to latest

14 years agomaint: add a few copyrights; remove obsolete README file
Jim Meyering [Fri, 1 Jan 2010 10:02:24 +0000 (11:02 +0100)]
maint: add a few copyrights; remove obsolete README file

* tests/README: Remove long-obsolete file.
* tests/Makefile.am (EXTRA_DIST): Remove README.
* tests/misc/truncate-dir-fail: Add copyright comment.
* tests/misc/selinux: Likewise.
* tests/misc/chcon: Likewise.
* tests/misc/chcon-fail: Likewise.
* tests/sample-test: Use only 2010 in this list.

14 years agomaint: update all FSF copyright year lists to include 2010
Jim Meyering [Fri, 1 Jan 2010 09:56:28 +0000 (10:56 +0100)]
maint: update all FSF copyright year lists to include 2010

Use this command:
git ls-files | grep -v COPYING \
  | xargs env UPDATE_COPYRIGHT_USE_INTERVALS=1 \
      build-aux/update-copyright

14 years agopr --help: add missing space between short and long options usage message
Stéphane Raimbault [Thu, 31 Dec 2009 15:52:25 +0000 (16:52 +0100)]
pr --help: add missing space between short and long options usage message

* src/pr.c (usage): Add missing space.

14 years agopr --help: improve a line-break
Stéphane Raimbault [Thu, 31 Dec 2009 15:52:34 +0000 (16:52 +0100)]
pr --help: improve a line-break

* src/pr.c (usage): Move the newline character a bit farther.

14 years agodf: add comments to help translators align column headers
Stéphane Raimbault [Thu, 31 Dec 2009 15:55:48 +0000 (16:55 +0100)]
df: add comments to help translators align column headers

* src/df.c (print_header): Add a comment telling translators to
retain the message length, and another to align header translations.

14 years agomaint: newer gnulib; don't hard-code my GPG key ID
Jim Meyering [Thu, 31 Dec 2009 15:44:47 +0000 (16:44 +0100)]
maint: newer gnulib; don't hard-code my GPG key ID

* cfg.mk (gpg_key_ID): Remove definition, now that maint.mk automates it.
* gnulib: Update to latest.

14 years agodoc: update tail's documentation to allow for new -F semantics
Jim Meyering [Wed, 30 Dec 2009 13:23:45 +0000 (14:23 +0100)]
doc: update tail's documentation to allow for new -F semantics

* src/tail.c (usage): Reword tail -F description, so that it no
longer mentions details specific to the non-inotify implementation.
Also, join diagnostic strings (while staying under the 509-byte limit)
to ease formatting of translations.  The latter was prompted by
a report from Stéphane Raimbault.
* doc/coreutils.texi (tail invocation): Update description here, too.

14 years agotouch: work around ntfs-3g bug
Eric Blake [Wed, 30 Dec 2009 14:36:03 +0000 (07:36 -0700)]
touch: work around ntfs-3g bug

* gnulib: Update, for utimensat fix.
* NEWS: Improve wording about touch fixes.
* THANKS: Update.
Reported by Stuart Citrin.

14 years agobuild: update gnulib submodule to latest
Jim Meyering [Wed, 30 Dec 2009 10:24:16 +0000 (11:24 +0100)]
build: update gnulib submodule to latest

14 years agodoc: mention two tail -F bug fixes in NEWS
Jim Meyering [Wed, 30 Dec 2009 10:16:23 +0000 (11:16 +0100)]
doc: mention two tail -F bug fixes in NEWS

* NEWS (Bug fixes): Two tail -F fixes.

14 years agotail: test for a bug in inotify-enabled tail -F
Jim Meyering [Tue, 29 Dec 2009 15:37:04 +0000 (16:37 +0100)]
tail: test for a bug in inotify-enabled tail -F

tail -F a b would stop tracking additions to b after "mv a b".
* tests/tail-2/F-vs-rename: New file.
* tests/Makefile.am (TESTS): Add it.

14 years agotail -F: don't stop following the target of a rename
Giuseppe Scrivano [Tue, 29 Dec 2009 23:20:24 +0000 (00:20 +0100)]
tail -F: don't stop following the target of a rename

This fixes a bug whereby tail -F would fail to track changes
to a file that was a target of a rename, and when the source of
the rename was another tailed file.

* src/tail.c (tail_forever_inotify): Ensure the wd is not already
present in the hash table before trying to add it.  When a new watch
descriptor is added to the `wd_to_name' hash table, check that it is
not already present.  If it is present then remove the previous element.

14 years agomaint: improve the info about $PATH in README-prereq
Pádraig Brady [Mon, 28 Dec 2009 13:01:51 +0000 (13:01 +0000)]
maint: improve the info about $PATH in README-prereq

* README-prereq: It wasn't obvious that the $PATH should
be set before building any of the prerequisite packages,
so move that information up.

14 years agotail: add another test to exercise abort-inducing flaw in tail -F
Jim Meyering [Tue, 29 Dec 2009 12:47:10 +0000 (13:47 +0100)]
tail: add another test to exercise abort-inducing flaw in tail -F

* tests/tail-2/inotify-hash-abuse2: New test, based on a reproducer
by Rob Wortman.
* tests/Makefile.am (TESTS): Add it.

14 years agotail: add a test to exercise abort-inducing flaw in tail -F
Jim Meyering [Mon, 28 Dec 2009 14:42:10 +0000 (15:42 +0100)]
tail: add a test to exercise abort-inducing flaw in tail -F

* tests/tail-2/inotify-hash-abuse: New file, derived from
a report by Rob Wortman.
* tests/Makefile.am (TESTS): Add it.
Improved by: Pádraig Brady.

14 years agotail: remove `fdspec' from the hash table before changing its key
Giuseppe Scrivano [Tue, 29 Dec 2009 13:59:24 +0000 (14:59 +0100)]
tail: remove `fdspec' from the hash table before changing its key

* src/tail.c (tail_forever_inotify): Avoid modifying fdspec->wd while
it is in the wd_to_name hash table.  Once it is removed, it can be
added using the new `wd' as key for the hash table.  This fixes the
abort-inducing bug reported by Rob Wortman in
http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/19372

14 years agomaint: quiet "make" in doc/
Jim Meyering [Tue, 29 Dec 2009 13:31:56 +0000 (14:31 +0100)]
maint: quiet "make" in doc/

* doc/Makefile.am (constants.texi): Add a use of AM_V_GEN.

14 years agotail: rename an internal variable
Jim Meyering [Tue, 29 Dec 2009 13:26:05 +0000 (14:26 +0100)]
tail: rename an internal variable

* src/tail.c (tail_forever_inotify): s/wd_table/wd_to_name/

14 years agotail: avoid read-beyond-end-of-buffer error
Jim Meyering [Tue, 29 Dec 2009 13:24:01 +0000 (14:24 +0100)]
tail: avoid read-beyond-end-of-buffer error

* src/tail.c (tail_forever_inotify): Do not use f[i] in a context
where i may be larger than the largest valid index.  In the final
"if" clause in which we'd remove an inotify watch, we might have
used f[n_files].  Use fspec instead, since it is guaranteed to
be defined.

14 years agomaint: ignore more built files
Eric Blake [Sat, 26 Dec 2009 17:41:20 +0000 (10:41 -0700)]
maint: ignore more built files

Recent gnulib changes added new built files.

* .gitignore: Add arg-nonnull.h, link-warning.h,
unused-parameter.h.

14 years agotac: supply link dependency
Eric Blake [Sat, 26 Dec 2009 17:37:44 +0000 (10:37 -0700)]
tac: supply link dependency

* src/Makefile.am (tac_LDADD): Add LIB_GETHRXTIME.
* THANKS: Update.
Reported by Robert Schwebel.

14 years agobuild: update gnulib submodule to latest
Jim Meyering [Fri, 25 Dec 2009 11:32:12 +0000 (12:32 +0100)]
build: update gnulib submodule to latest

14 years agotail: shrink internal struct by 8 bytes
Jim Meyering [Fri, 25 Dec 2009 11:08:51 +0000 (12:08 +0100)]
tail: shrink internal struct by 8 bytes

* tail.c (struct File_spec): Rearrange struct members to decrease
size by 8 bytes to 76,96 on i686,x86_64 respectively.

14 years agomaint: tail: avoid in-function #if directives
Jim Meyering [Thu, 24 Dec 2009 11:42:43 +0000 (12:42 +0100)]
maint: tail: avoid in-function #if directives

* src/tail.c (fremote): Add a comment.
Move definition "up" to precede first use, so we can
remove its prototype and the #if..#endif around each use.
(any_remote_file): Rename from any_remote_files.

14 years agotail: fix --follow to not use inotify on remote files
Pádraig Brady [Mon, 14 Dec 2009 22:45:34 +0000 (22:45 +0000)]
tail: fix --follow to not use inotify on remote files

* src/tail.c (struct File_spec): Add a flag to record if file is remote.
(recheck): If we're using inotify then check if the file has gone remote
and if so, drop it with a warning.
(any_remote_files): A new function to check for any open remote files.
(tailable_stdin): A new function to refactor the check for whether
a tailable file was specified through stdin.
(fremote): A new function to check if a file descriptor
refers to a remote file.
(tail_forever_inotify): Add some comments.
(tail_file): Record if a file is remote when initially opened.
(main): Disable inotify if any remote files specified.
Also document the caveat about remounted files not
being noticed by inotify.
* NEWS: Mention the fix.

14 years agowc: line-buffer the printed counts
Pádraig Brady [Tue, 22 Dec 2009 07:36:12 +0000 (07:36 +0000)]
wc: line-buffer the printed counts

* src/wc.c (main): Set stdout to line buffered mode
to ensure parallel running instances don't intersperse
their output.  This adds 6.5% to the run time in the worst case
of many zero length files, but has neglible impact for
standard sized files.
* tests/misc/wc-parallel: New test for atomic output.
* tests/Makefile.am: Reference it.
* NEWS: Mention the fix
This is similar to commit 710fe413, 20-10-2009,
"md5sum, sha*sum, sum: line-buffer the printed checksums"

14 years agostat: Recognize k-afs, gfs, ocfs2 file system types
Pádraig Brady [Tue, 22 Dec 2009 12:21:45 +0000 (12:21 +0000)]
stat: Recognize k-afs, gfs, ocfs2 file system types

* src/stat.c (human_fstype): Add k-afs, gfs/gfs2 and ocfs2.
* NEWS: Update the stat -f entry.

14 years agostat: add support for more file system types
Pádraig Brady [Mon, 21 Dec 2009 18:43:02 +0000 (18:43 +0000)]
stat: add support for more file system types

* src/stat.c (human_fstype): Add the following FS types:
fuseblk, rpc_pipefs.  Also fix a typo of minux3 to minix3,
and mention the fs-magic-compare make target to help update the list.
* NEWS: Mention the fix.

14 years agobuild: correct coreutils-specific distcheck rules
Jim Meyering [Sun, 20 Dec 2009 09:50:29 +0000 (10:50 +0100)]
build: correct coreutils-specific distcheck rules

* dist-check.mk (built_programs): Use $(bin_PROGRAMS), not $(PROGRAMS).
Otherwise, my-instcheck would fail due to non-installation of e.g.,
the noinst_PROGRAMS, setuidgid and getlimits.
(taint-distcheck): Correct the grep command that checks for libtool
traces in configure.

14 years agotouch: fix ctime regression in 'touch -a'
Eric Blake [Sun, 20 Dec 2009 00:29:40 +0000 (17:29 -0700)]
touch: fix ctime regression in 'touch -a'

Regression introduced in coreutils 8.1 due to a bug in the Linux
kernel implementation of utimensat with mtime of UTIME_OMIT.

* gnulib: Update to latest, to pick up utimensat fix.
* NEWS: Mention the change.
* THANKS: Update.
Reported by John Stanley.

14 years agomaint: don't include the strverscmp gnulib module
Pádraig Brady [Sat, 19 Dec 2009 01:25:29 +0000 (01:25 +0000)]
maint: don't include the strverscmp gnulib module

* bootstrap.conf (gnulib_modules): Remove the strverscmp module
which is not used since commit e505736f, on 03-10-2008,
"ls and sort: use filevercmp instead of strverscmp"

14 years agodoc: enhance and reference info about version comparison
Pádraig Brady [Thu, 17 Dec 2009 10:48:54 +0000 (10:48 +0000)]
doc: enhance and reference info about version comparison

* doc/coreutils.texi (sort invocation): Reference the additional
info about filevercmp rather than the unused strverscmp.
(Details about version sort): Add some examples that are not
handled well by fileversmp.
* src/ls.c: Change a comment referencing the now unused strverscmp.

14 years agorm: fix --one-file-system regression due to fts conversion
Pádraig Brady [Fri, 18 Dec 2009 12:26:04 +0000 (12:26 +0000)]
rm: fix --one-file-system regression due to fts conversion

* src/remove.c (rm_fts): Fix incorrect comparison of
device and inode numbers.
* tests/rm/one-file-system2: Add a separate test so
that it can be run as a normal user (It doesn't need to mount).
* tests/Makefile.am: Reference it.
* NEWS: Mention the fix.
Reported by Jan Larres.

14 years agomaint: improve dist-check.mk rules
Jim Meyering [Mon, 14 Dec 2009 10:33:03 +0000 (11:33 +0100)]
maint: improve dist-check.mk rules

* dist-check.mk (null_AM_MAKEFLAGS): Remove LIBTOOL.  Adding it was
erroneous, since it is required when building from a distribution
tarball of a libtool-using project.  Reported by Ralf Wildenhues.
(my-distcheck): Reorganize to use a subshell and set -e, so that
failures propagate "out".  Without this change, setting LIBTOOL=false
would cause a failure that would then be ignored, probably due to a
problem in $(install-transform-check).