platform/upstream/coreutils.git
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).

14 years agobase64: use *_OPTION_DESCRIPTION macros instead of hard-coded strings
Thiago Farina [Sun, 13 Dec 2009 19:27:59 +0000 (14:27 -0500)]
base64: use *_OPTION_DESCRIPTION macros instead of hard-coded strings

* src/base64 (usage): Use HELP_OPTION_DESCRIPTION and
VERSION_OPTION_DESCRIPTION macros, not literal strings.

14 years agotests: unpack xz-compressed tarballs when possible, not always *.gz
Jim Meyering [Sun, 13 Dec 2009 16:55:13 +0000 (17:55 +0100)]
tests: unpack xz-compressed tarballs when possible, not always *.gz

* dist-check.mk: Unpack compressed tarball using xz when possible,
since that's faster.

14 years agomaint: make dist-check.mk more easily shared
Jim Meyering [Sun, 13 Dec 2009 15:58:10 +0000 (16:58 +0100)]
maint: make dist-check.mk more easily shared

* dist-check.mk (built_programs): More generic, but still assumes src/.
Don't set GZIP in environment when untarring.
(my-distcheck): Use $(DIST_ARCHIVES), rather than assuming that
there is always a .tar.gz file.

14 years agonohup: if fd_repoen fails (redirecting stdin), report it
Jim Meyering [Sun, 13 Dec 2009 11:23:25 +0000 (12:23 +0100)]
nohup: if fd_repoen fails (redirecting stdin), report it

* src/nohup.c (main): Don't ignore fd_reopen failure.

14 years agotests: make the taint-distcheck rule easier to share with other projects
Jim Meyering [Wed, 9 Dec 2009 09:26:21 +0000 (10:26 +0100)]
tests: make the taint-distcheck rule easier to share with other projects

* dist-check.mk (taint-distcheck): Skip this test in a project
that uses libtool.

14 years agostat: recognize "sockfs" file system type, ...
Jim Meyering [Sun, 13 Dec 2009 10:00:41 +0000 (11:00 +0100)]
stat: recognize "sockfs" file system type, ...

... now that its magic number appears in <linux/magic.h>.
* src/stat.c (human_fstype) [S_MAGIC_SOCKFS]: Add case.

14 years agomaint: move definitions from maint.mk to dist-check.mk
Jim Meyering [Sun, 13 Dec 2009 09:35:49 +0000 (10:35 +0100)]
maint: move definitions from maint.mk to dist-check.mk

* dist-check.mk (null_AM_MAKEFLAGS): Define here, not in maint.mk.
(built_programs): Likewise.
(my-distcheck): Move comments to...
(coreutils-path-check): ...the code they refer to.
Remove obsolete comments.
(null_AM_MAKEFLAGS): Add gperf, even though it's not used here.
* gnulib: Update to latest, for fixed maint.mk.

14 years agotests: tail-without-inotify: avoid spurious test failure
Jim Meyering [Sat, 12 Dec 2009 13:44:46 +0000 (14:44 +0100)]
tests: tail-without-inotify: avoid spurious test failure

* tests/tail-2/wait: Account for the possibility that the kernel
lacks inotify support.  Reported by Chris Clayton.

14 years agofactor: add a missing va_end
Jim Meyering [Sat, 12 Dec 2009 07:10:07 +0000 (08:10 +0100)]
factor: add a missing va_end

* src/factor.c (debug): Add missing va_end.

14 years agobuild: update gnulib submodule to latest; adapt a patch
Jim Meyering [Fri, 11 Dec 2009 18:18:04 +0000 (19:18 +0100)]
build: update gnulib submodule to latest; adapt a patch

* gl/lib/tempname.c.diff: Adjust patch to apply to gnulib, now that
most TABs in indentation have been converted to spaces by running
this command: f=tempname.c.diff; patch-xform $f > k && mv k $f

14 years agopost-release administrivia
Jim Meyering [Fri, 11 Dec 2009 13:43:13 +0000 (14:43 +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.2 v8.2
Jim Meyering [Fri, 11 Dec 2009 13:00:40 +0000 (14:00 +0100)]
version 8.2

* NEWS: Record release date.

14 years agotests: use a slightly better CU_TEST_NAME setting
Jim Meyering [Fri, 11 Dec 2009 12:59:57 +0000 (13:59 +0100)]
tests: use a slightly better CU_TEST_NAME setting

* tests/check.mk (CU_TEST_NAME): Better test names.

14 years agotail: don't call fstat on an uninitialized FD
Jim Meyering [Fri, 11 Dec 2009 11:15:13 +0000 (12:15 +0100)]
tail: don't call fstat on an uninitialized FD

This bug showed up via valgrind as a "Conditional jump or move
depends on uninitialized value(s)" error.
* src/tail.c (ignore_fifo_and_pipe): New function.
(main): Use it only when tailing forever.
The code to compute n_viable and mark some F[i] as ignored would call
isapipe on an uninitialized file descriptor.  But n_viable and those
.ignored marks are useful/used only when tailing forever.  This bug
was introduced via commit f0ff8c73 (7.6), "tail: make the new
piped-stdin test as portable as the old one".
* NEWS (Bug fixes): Mention it.

14 years agodoc: NEWS: mention that gnulib's mgetgroups fix affects id
Jim Meyering [Fri, 11 Dec 2009 07:51:28 +0000 (08:51 +0100)]
doc: NEWS: mention that gnulib's mgetgroups fix affects id

* NEWS (Bug fixes): Mention the "id" bug fix inherited via this gnulib
change: "mgetgroups: do not write bytes beyond end of malloc'd buffer"
http://git.sv.gnu.org/cgit/gnulib.git/commit/?id=51d5e813e9ee6cf23

14 years agobuild: update gnulib submodule to latest
Jim Meyering [Thu, 10 Dec 2009 15:50:27 +0000 (16:50 +0100)]
build: update gnulib submodule to latest

14 years agotests: avoid spurious failure when run via valgrind
Jim Meyering [Thu, 10 Dec 2009 07:17:02 +0000 (08:17 +0100)]
tests: avoid spurious failure when run via valgrind

* tests/misc/printenv: Ignore LD_PRELOAD differences.

14 years agodoc: NEWS: the "make distcheck" vulnerability dates back to 5.0
Jim Meyering [Wed, 9 Dec 2009 12:58:12 +0000 (13:58 +0100)]
doc: NEWS: the "make distcheck" vulnerability dates back to 5.0

* NEWS (Bug fixes): Correct the introduced-in version number.
This was introduced on 2003-04-02 by commit 722a49ea.

14 years agodoc: NEWS: mention the "make distcheck" vulnerability
Jim Meyering [Wed, 9 Dec 2009 12:04:46 +0000 (13:04 +0100)]
doc: NEWS: mention the "make distcheck" vulnerability

* NEWS (Bug fixes): Mention implications of the "make distcheck" change.
This was introduced on 2008-07-22 by commit 9bb0d576, "tests: ensure
"make check" w/tainted build dir no longer impacts $HOME".

14 years agotests: don't let "umask 077" cause root-only cp/preserve-gid failure
Jim Meyering [Wed, 9 Dec 2009 07:45:30 +0000 (08:45 +0100)]
tests: don't let "umask 077" cause root-only cp/preserve-gid failure

* tests/cp/preserve-gid: Use working_umask_or_skip_ to set umask to 022.

14 years agobuild: update gnulib submodule to latest
Jim Meyering [Tue, 8 Dec 2009 20:34:00 +0000 (21:34 +0100)]
build: update gnulib submodule to latest

14 years agomaint: remove an erroneous comment
Pádraig Brady [Tue, 8 Dec 2009 15:33:18 +0000 (15:33 +0000)]
maint: remove an erroneous comment

* tests/misc/timeout: Remove an erroneous comment
introduced through copy and paste.

14 years agosort: fix failure if sort's parent has ignored SIGCHLD
Pádraig Brady [Tue, 8 Dec 2009 08:48:34 +0000 (08:48 +0000)]
sort: fix failure if sort's parent has ignored SIGCHLD

* src/sort.c (main): Reset the SIGCHLD handler to the default
as otherwise wait() could return an error.
* tests/misc/sort-compress: Set the CHLD handler in a subshell
to SIG_IGN to ensure the sort command resets it to SIG_DFL.
* NEWS: Mention the fix.

14 years agotimeout: fix failure if timeout's parent has ignored SIGCHLD
Pádraig Brady [Mon, 7 Dec 2009 19:00:04 +0000 (19:00 +0000)]
timeout: fix failure if timeout's parent has ignored SIGCHLD

* src/timeout.c (main): Reset the SIGCHLD handler to the default
as otherwise wait() could return -1 and set errno to ECHILD.
This condition was ignored until commit 0b1dcf33, on 31-08-2009,
"timeout: defensive handling of all wait() errors"
but subsequently timeout would run the command correctly
but then fail with an error message.
* tests/misc/timeout: In a subshell set the CHLD handler to
SIG_IGN to ensure the timeout command resets it to SIG_DFL.
* NEWS: Mention the fix.

14 years agotests: fix stty-row-col failure on small fixed terminals
Pádraig Brady [Tue, 8 Dec 2009 08:00:37 +0000 (08:00 +0000)]
tests: fix stty-row-col failure on small fixed terminals

* tests/misc/stty-row-col: Linux virtual consoles at least,
issue an error if you try to increase their size, so skip the
test if we can't increase the dimensions of the tty by 1 cell.
Reported by Matthew Burgess.

14 years agotests: fix stty failure with serial control settings
Pádraig Brady [Mon, 7 Dec 2009 07:39:32 +0000 (07:39 +0000)]
tests: fix stty failure with serial control settings

* tests/misc/stty: Don't check the serial control settings as
these are ignored by various Linux kernels.
Reported by Matthew Burgess.

14 years agobuild: update gnulib submodule to latest
Jim Meyering [Mon, 7 Dec 2009 17:56:07 +0000 (18:56 +0100)]
build: update gnulib submodule to latest

14 years agobuild: distcheck: do not leave a $TMPDIR/coreutils directory behind
Jim Meyering [Sat, 5 Dec 2009 21:16:32 +0000 (22:16 +0100)]
build: distcheck: do not leave a $TMPDIR/coreutils directory behind

* dist-check.mk (tmpdir): Rename from TMPDIR.  Use ./tests/torture
unconditionally, rather than $TMPDIR-with-default-to-/tmp.
Otherwise, running "make distcheck" could leave an empty /tmp/coreutils
directory behind.
(tp): Simplify, now that it's always in the build-dir.
(taint-distcheck): Set HOME earlier, in case $(MAKE) misbehaves.
(my-instcheck, coreutils-path-check): Add diagnostics, so it's easier
to diagnose when each runs.
(coreutils-path-check): Run configure with --quiet, to reduce output.
Inspired by Ralf Wildenhues' report of /tmp/coreutils being left behind.

14 years agotests: readdir-mountpoint-inode avoid false-positive w/virtualbox
Jim Meyering [Sat, 5 Dec 2009 16:41:28 +0000 (17:41 +0100)]
tests: readdir-mountpoint-inode avoid false-positive w/virtualbox

* tests/ls/readdir-mountpoint-inode: With some systems, stat can
succeed on a mount point and report that the inode number is 0.
Since ls displays "?" for those, that would otherwise show up as a
difference.  Skip such mount points.  Reported by Sergei Steshenko
in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/19142

14 years agotests: don't run tail-2/inotify-race by default
Pádraig Brady [Sun, 6 Dec 2009 00:42:42 +0000 (00:42 +0000)]
tests: don't run tail-2/inotify-race by default

* tests/tail-2/inotify-race: Note the caveats of the test.
I.E. the intermittent skips and the gdb hang reported
by Alan Curry.  Add extra info to the log on why the test
is skipped as it may be due to multiple reasons.  Mark
the test as very expensive so that it's not normally run.

14 years agoid: handle systems without getgroups support
Eric Blake [Fri, 4 Dec 2009 15:06:55 +0000 (08:06 -0700)]
id: handle systems without getgroups support

If getgroups failed with ENOSYS, mgetgroups would unnecessarily
fail, and that provoked id into freeing an uninitialized pointer.
Meanwhile, we were not using xalloc_die properly.  Both issues
are better solved in gnulib, by introducing xgetgroups; this
patch uses the new interface.

Regression introduced by commit 6a31fd8d7.

* gnulib: Update, for mgetgroups improvments.
* src/id.c (print_full_info): Adjust caller to die on allocation
failure, and no longer worry about ENOSYS.
* src/group-list.c (print_group_list): Likewise.
* src/setuidgid.c (main): Likewise.
* NEWS: Mention the fix.
* THANKS: Update.
Reported by Scott Harrison.

14 years agotests: fix a bug in sanitize_path_ that inhibited verbose output
Jim Meyering [Thu, 3 Dec 2009 16:04:16 +0000 (17:04 +0100)]
tests: fix a bug in sanitize_path_ that inhibited verbose output

* tests/test-lib.sh (sanitize_path_): Use "set -- ...", not "set - ...",
since the latter turns off the -x setting we rely on for VERBOSE=yes
output.

14 years agosort: fix link failure on Solaris
Eric Blake [Tue, 1 Dec 2009 15:18:28 +0000 (08:18 -0700)]
sort: fix link failure on Solaris

Commit f9d0bb8481 made sort depend on xnanosleep.

* src/Makefile.am (sort_LDADD): Add LIB_NANOSLEEP.

14 years agorm: fix empty-name bug introduced with conversion to use fts
Jim Meyering [Tue, 1 Dec 2009 11:02:11 +0000 (12:02 +0100)]
rm: fix empty-name bug introduced with conversion to use fts

While "rm ''" would properly fail, "rm F1 '' F2" would fail
to remove F1 and F2, due to the empty string argument.
This bug was introduced on 2009-07-12, via commit 4f73ecaf,
"rm: rewrite to use fts".
* gnulib: Update to latest, for fixed fts.c.
* NEWS (Bug fixes): Describe it.
* tests/rm/empty-name: Adjust for changed diagnostic.
(mk_file): Define, copied from misc/ls-misc.
(empty-name-2): New test, for today's fix.
* lib/xfts.c (xfts_open): Reflect the change in fts_open, now that
it no longer fails immediately when one argument is the empty string.
Assert that the bit flags were not the cause of failure.
* po/POTFILES.in: Remove xfts.c.
* THANKS: Update.
Reported by Ladislav Hagara.

14 years agobootstrap: fix handling of various perl --version formats
Pádraig Brady [Mon, 30 Nov 2009 13:01:44 +0000 (14:01 +0100)]
bootstrap: fix handling of various perl --version formats

* bootstrap (get_version): Don't use perl's $] special
variable, as that requires updating all bootstrap.conf files to
use perl's x.yyyzzz version format.  Instead make the regular
expression more general to support version formats from older
perl-5.005_002 (5.5.2) and perl-5.11 which has other numbers
in the version line.

14 years agobootstrap: update from gnulib, for perl-5.11.x support
Jim Meyering [Sun, 29 Nov 2009 13:04:09 +0000 (14:04 +0100)]
bootstrap: update from gnulib, for perl-5.11.x support

* bootstrap (get_version): Handle perl separately,
since perl-5.11's --version output is different.

14 years agobuild: update gnulib submodule to latest
Jim Meyering [Sun, 29 Nov 2009 09:56:57 +0000 (10:56 +0100)]
build: update gnulib submodule to latest

14 years agomaint: chown.c: remove a comment
Jim Meyering [Sat, 28 Nov 2009 05:48:03 +0000 (06:48 +0100)]
maint: chown.c: remove a comment

* src/chown.c: Remove old spec-like comment.

14 years agotests: fix link failure on cygwin
Eric Blake [Mon, 23 Nov 2009 22:23:39 +0000 (15:23 -0700)]
tests: fix link failure on cygwin

Counterpart to commit 8fe40b84bd8, since test-link.c uses rename,
and we override gnulib with a rename() replacement that can xalloc_die.

* gl/modules/link-tests.diff: New file.

14 years agobuild: fix link failure on cygwin
Eric Blake [Mon, 23 Nov 2009 21:59:18 +0000 (14:59 -0700)]
build: fix link failure on cygwin

Cygwin 1.5 has a broken sleep, and the gnulib tests dragged in
rpl_sleep which then caused a link failure because it wasn't in
libcoreutils.a.  We could solve it by using the gnulib sleep module.
However, sleep and usleep may interact poorly with SIGALRM, and they
have less granularity; so it is better to adopt a policy that if we
must sleep, prefer xnanosleep.

* src/sort.c (pipe_fork): Use xnanosleep, to avoid the need for
rpl_sleep on cygwin, and to reduce granularity.
(MAX_FORK_TRIES_COMPRESS, MAX_FORK_TRIES_DECOMPRESS): Increase,
to account for reduction in granularity.
* src/tail.c (tail_file): Use xnanosleep in debug code.
* cfg.mk (sc_prohibit_sleep): New rule.

14 years agotests: avoid test failures when PATH contains an unsearchable directory
Jim Meyering [Mon, 23 Nov 2009 16:35:20 +0000 (17:35 +0100)]
tests: avoid test failures when PATH contains an unsearchable directory

* tests/test-lib.sh (sanitize_path_): New function.
Always call it.