platform/upstream/coreutils.git
14 years agobuild: update from *public* gnulib
Jim Meyering [Sun, 23 Aug 2009 08:13:36 +0000 (10:13 +0200)]
build: update from *public* gnulib

* gnulib: Update submodule to latest.
Kamil Dudka reported that bootstrap was broken.

14 years agobuild: update from gnulib
Jim Meyering [Fri, 21 Aug 2009 07:59:10 +0000 (09:59 +0200)]
build: update from gnulib

* gnulib: Update submodule to latest.

14 years agopost-release administrivia
Jim Meyering [Thu, 20 Aug 2009 19:48:45 +0000 (21:48 +0200)]
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 7.5 v7.5
Jim Meyering [Thu, 20 Aug 2009 19:19:36 +0000 (21:19 +0200)]
version 7.5

* NEWS: Record release date.

14 years agotests: skip the stdbuf tests when the abs build directory name is bogus
Jim Meyering [Thu, 20 Aug 2009 16:27:07 +0000 (18:27 +0200)]
tests: skip the stdbuf tests when the abs build directory name is bogus

* tests/misc/stdbuf: Avoid spurious failure when the directory name
from which we'd set LD_PRELOAD contains unsafe characters.

14 years agoinstall: avoid a portability bug when compiling with non-gcc
Jim Meyering [Thu, 20 Aug 2009 08:36:30 +0000 (10:36 +0200)]
install: avoid a portability bug when compiling with non-gcc

* src/install.c (extra_mode): Be careful to return only a 0 or 1
value, since this is a "bool" function, and there are still some
compilers for which this is necessary.  Without this change,
Bernhard Voelker reported that the Forte Developer 7 C 5.4 2002/03/09
compiler would produce a malfunctioning "install" binary.  Details in
http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/17710/focus=17760

14 years agotests: make install-C slightly less prone to confusion
Jim Meyering [Wed, 19 Aug 2009 15:10:23 +0000 (17:10 +0200)]
tests: make install-C slightly less prone to confusion

* tests/install/install-C: Invoke framework_failure, if necessary.

14 years agobuild: avoid "make dist" failure in man/
Jim Meyering [Wed, 19 Aug 2009 06:44:17 +0000 (08:44 +0200)]
build: avoid "make dist" failure in man/

Now that "make check" no longer builds programs like arch, ...
* src/Makefile.am (dist-hook): Depend on $(all_programs), so that the
subsequent build in man/ doesn't fail due to lack of a program like
arch that is not going to be installed.

14 years agobuild: update from gnulib
Jim Meyering [Tue, 18 Aug 2009 19:07:44 +0000 (21:07 +0200)]
build: update from gnulib

* gnulib: Update submodule to latest.

14 years agonl: deprecate --page-increment in favor of --line-increment
Giuseppe Scrivano [Tue, 18 Aug 2009 10:22:37 +0000 (12:22 +0200)]
nl: deprecate --page-increment in favor of --line-increment

* NEWS: Mention the change.
* doc/coreutils.texi: Document the new --line-increment option.
* src/nl.c (struct option): Add --line-increment,
(usage): Describe it,
(main): Use it.

14 years agotests: stdbuf: fix a bug in test script
Jim Meyering [Tue, 18 Aug 2009 15:53:20 +0000 (17:53 +0200)]
tests: stdbuf: fix a bug in test script

* tests/misc/stdbuf: Use skip_test_ only after it's defined.
Reported by Berhnard Voelker.

(sc_check-AUTHORS): Rename rule from check-AUTHORS.

14 years agobuild: perform check-AUTHORS via syntax-check, not via "make check"
Jim Meyering [Tue, 18 Aug 2009 10:12:21 +0000 (12:12 +0200)]
build: perform check-AUTHORS via syntax-check, not via "make check"

* src/Makefile.am (check): Don't depend on check-AUTHORS.
That check fails on systems for which a program like stdbuf is
not built.  Instead, move this check to "make syntax-check".
(sc_check-AUTHORS): Rename rule from check-AUTHORS.
* cfg.mk (sc_check-AUTHORS): New rule.
Reported by Berhnard Voelker.

14 years agosort: use more portable initialization syntax
Jim Meyering [Tue, 18 Aug 2009 09:01:00 +0000 (11:01 +0200)]
sort: use more portable initialization syntax

* src/sort.c (find_unit_order): Spell out 256-element static
initializer, rather than relying on C99 syntax.
Required for Forte Developer 7 C 5.4 2002/03/09 on Solaris 10.
Reported by Bernhard Voelker.

14 years agobuild: suppress warnings due to gcc's new -Wjump-misses-init
Jim Meyering [Mon, 17 Aug 2009 17:37:47 +0000 (19:37 +0200)]
build: suppress warnings due to gcc's new -Wjump-misses-init

* configure.ac: Ignore -Wjump-misses-init violations in remove.c.

14 years agobuild: update from gnulib
Jim Meyering [Mon, 17 Aug 2009 17:17:18 +0000 (19:17 +0200)]
build: update from gnulib

* gnulib: Update submodule to latest.

14 years agotests: tail-2/append-only: don't discard stderr
Jim Meyering [Sun, 16 Aug 2009 11:52:47 +0000 (13:52 +0200)]
tests: tail-2/append-only: don't discard stderr

* tests/tail-2/append-only: Don't discard a diagnostic that
may help explain why this test fails for some.  Details in
http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/17621/focus=17641

14 years agotests: skip the misc/stdbuf test if stdbuf was not built
Jim Meyering [Fri, 14 Aug 2009 19:34:05 +0000 (21:34 +0200)]
tests: skip the misc/stdbuf test if stdbuf was not built

* tests/misc/stdbuf: Skip this test when stdbuf is not built.
Reported by Eric Blake.

14 years agobuild: use gnulib's getopt-gnu module (getopt is now deprecated)
Jim Meyering [Thu, 13 Aug 2009 06:37:37 +0000 (08:37 +0200)]
build: use gnulib's getopt-gnu module (getopt is now deprecated)

* bootstrap.conf (gnulib_modules): Gnulib's getopt module is now
deprecated; use the new, preferred name, getopt-gnu.
* gnulib: Update to latest.

14 years agocp,mv: fix issues with preserving timestamps of copied symlinks
Pádraig Brady [Thu, 13 Aug 2009 09:39:10 +0000 (10:39 +0100)]
cp,mv: fix issues with preserving timestamps of copied symlinks

* src/copy.c (copy_internal): On systems without utimensat don't
use utimens on a symlink, as that would dereference the symlink.
* tests/cp/abuse: To work around possible attribute preservation
failures breaking the test, use cp -dR rather than cp -a.

14 years agodoc: clarify the cp --reflink NEWS
Pádraig Brady [Thu, 13 Aug 2009 16:25:09 +0000 (17:25 +0100)]
doc: clarify the cp --reflink NEWS

* NEWS: Remove the description associated with the removed
experimental code which unconditionally tried to reflink() on copy.
Also clarify where --reflink works exactly.

14 years agotests: raise ulimit virt-mem limit to avoid new failure
Jim Meyering [Mon, 10 Aug 2009 07:28:45 +0000 (09:28 +0200)]
tests: raise ulimit virt-mem limit to avoid new failure

* tests/cp/link-heap: Raise limit from 16MB to ~20MB,
to avoid spurious failure on rawhide.

14 years agotail: fix tail -f failure when inotify used
Pádraig Brady [Wed, 12 Aug 2009 18:01:56 +0000 (19:01 +0100)]
tail: fix tail -f failure when inotify used

* src/tail.c (tail_forever_inotify): Remove the redundant and
incorrect error check of the return from inotify_add_watch().
Also initialize the wd member of each File_spec to an invalid value.
Reported by C de-Avillez.

14 years agodd: fix a signal handling race
Pádraig Brady [Thu, 13 Aug 2009 13:37:43 +0000 (14:37 +0100)]
dd: fix a signal handling race

* src/dd.c (main): Install the signal handlers at startup
rather than just before the copy starts. In this way signals
received before the copy (like during a slow truncate for e.g.)
will be deferred and handled consistently.
* THANKS: Add Bernhard's email address.
* NEWS: Mention the fix.
Reported by Bernhard Voelker.

14 years agotests: improve one of the tail --pid tests
Pádraig Brady [Wed, 12 Aug 2009 18:46:27 +0000 (19:46 +0100)]
tests: improve one of the tail --pid tests

* tests/tail-2/pid: Speed up the test by specifying a
timeout of 100ms rather than the default 1s.  Also
skip the test instead of failing in the unlikely case
were the pid required to be missing pid is present.

15 years agonl, pinky: replace uses of strcat
Jim Meyering [Mon, 10 Aug 2009 06:11:33 +0000 (08:11 +0200)]
nl, pinky: replace uses of strcat

* src/nl.c (main): Avoid strcat, on principle.  Use stpcpy instead.
* src/pinky.c (print_long_entry): Likewise.

15 years agobuild: update from gnulib, for HOST_NAME_MAX on solaris 10
Jim Meyering [Sun, 9 Aug 2009 20:16:04 +0000 (22:16 +0200)]
build: update from gnulib, for HOST_NAME_MAX on solaris 10

* gnulib: Update submodule to latest.

15 years agocp: accept the --reflink option
Giuseppe Scrivano [Sat, 1 Aug 2009 17:36:48 +0000 (19:36 +0200)]
cp: accept the --reflink option

* NEWS: Mention it.
* doc/coreutils.texi (cp invocation): Describe it.
* src/copy.h (struct cp_options) [reflink]: New member.
* src/copy.c (usage): Describe it.
(copy_reg): If reflink is true try to clone the file.
(main): Check for --reflink.
(cp_option_init): Initialize the new member.
* src/install.c (cp_option_init): Initialize the new member.
* src/mv.c (cp_option_init): Likewise.
* tests/cp/sparse: Add a new test case.

15 years agodd: preserve semantics of O_DIRECT even for final block
Jim Meyering [Fri, 7 Aug 2009 14:21:35 +0000 (16:21 +0200)]
dd: preserve semantics of O_DIRECT even for final block

* src/dd.c: Include "ignore-value.h"
(iwrite): When disabling O_DIRECT, try to compensate
via POSIX_FADV_DONTNEED and fsync.
Suggested by Eric Sandeen.

15 years agomaint: move selinux-at module from gl/ to gnulib
Jim Meyering [Thu, 6 Aug 2009 12:30:46 +0000 (14:30 +0200)]
maint: move selinux-at module from gl/ to gnulib

* gl/lib/selinux-at.c: Remove file.
* gl/lib/selinux-at.h: Likewise.
* gl/modules/selinux-at: Likewise.
* gnulib: update to latest, to get the new module.

15 years agodd: work around buffer length restrictions with oflag=direct (O_DIRECT)
Jim Meyering [Tue, 4 Aug 2009 17:54:58 +0000 (19:54 +0200)]
dd: work around buffer length restrictions with oflag=direct (O_DIRECT)

dd oflag=direct would fail to copy a file with size that is
not a multiple of 512 (destination file system specific)

* NEWS (Bug fixes): Mention it.
* src/dd.c (iwrite): Turn off O_DIRECT for any
smaller-than-obs-sized write.  Don't bother to restore it.
* tests/dd/direct: New test for the above.
* tests/Makefile.am (TESTS): Add dd/direct.
* doc/coreutils.texi (dd invocation): Mention oflag=direct
buffer size restriction.
Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/17586
Reported by Eric Sandeen.

15 years agodd: remove unnecessary #if HAVE_FTRUNCATE
Jim Meyering [Tue, 4 Aug 2009 18:05:45 +0000 (20:05 +0200)]
dd: remove unnecessary #if HAVE_FTRUNCATE

* src/dd.c (main): Remove unnecessary cpp directives.
Gnulib guarantees that ftruncate is usable.

15 years agocp -pP (and e.g., -a): preserve time stamps on symlinks, too
Jim Meyering [Mon, 27 Jul 2009 15:08:02 +0000 (17:08 +0200)]
cp -pP (and e.g., -a): preserve time stamps on symlinks, too

* src/copy.c (utimensat_if_possible): New function.
(copy_internal): Remove variable, "preserve_metadata".
Replace with "dest_is_symlink".  That covers all cases but one:
the one in which cp --link has created hard links to non-directories.
In that case, there is no need to update attributes of the links.
Use utimensat_if_possible, to preserve timestamps of symlinks.
* NEWS (New features): Mention this.
* tests/Makefile.am (TESTS): Add cp/preserve-slink-time.
* tests/cp/preserve-slink-time: New file.
* m4/jm-macros.m4 (coreutils_MACROS): Test for utimensat.
Reported in http://bugzilla.redhat.com/230866

15 years agoinstall runs faster again with SELinux enabled
Kamil Dudka [Tue, 4 Aug 2009 14:21:08 +0000 (16:21 +0200)]
install runs faster again with SELinux enabled

* m4/jm-macros.m4: Pull in SELinux libraries while checking for
matchpathcon_init_prefix ().  Emit configure warning when not found
with SELinux enabled.
* NEWS (Bug fixes): Mention it.
The bug was introduced in coreutils-7.0 via commit 0647f3eb, 2008-06-02,
"accommodate older SELinux which lacks matchpathcon_init_prefix".

15 years agomaint: move the update-copyright rule to gnulib's maint.mk
Jim Meyering [Tue, 4 Aug 2009 08:06:41 +0000 (10:06 +0200)]
maint: move the update-copyright rule to gnulib's maint.mk

* gnulib: Update submodule to get latest maint.mk.
* Makefile.am (update-copyright): Remove rule; now it's in maint.mk.
* m4/check-decl.m4: Update sole remaining copyright year list.

15 years agobuild: *really* update to a usable gnulib commit
Jim Meyering [Fri, 31 Jul 2009 16:05:10 +0000 (18:05 +0200)]
build: *really* update to a usable gnulib commit

15 years agobuild: update to a usable gnulib commit
Jim Meyering [Fri, 31 Jul 2009 07:05:25 +0000 (09:05 +0200)]
build: update to a usable gnulib commit

The commit, 5ef90695, 2009-07-29, "maint: move update-copyright
to gnulib" recorded a local-only commit.
Reported by Pádraig Brady.

15 years agotests: new function: require_openat_support_
Jim Meyering [Wed, 29 Jul 2009 12:59:27 +0000 (14:59 +0200)]
tests: new function: require_openat_support_

* tests/rm/inaccessible: Factor out openat-support-detection code...
* tests/test-lib.sh (require_openat_support_): ...into this new function.

15 years agotail: tweak indentation
Jim Meyering [Thu, 30 Jul 2009 15:45:53 +0000 (17:45 +0200)]
tail: tweak indentation

* src/tail.c (tail_forever_inotify): Adjust indentation of continued line.

15 years agotail: properly parse fractional seconds when monitoring a pid
Pádraig Brady [Thu, 30 Jul 2009 14:29:13 +0000 (15:29 +0100)]
tail: properly parse fractional seconds when monitoring a pid

* src/tail.c (tail_forever_inotify): The fractional
part of the delay was 1000 times too large.
* tests/tail-2/pid: Add a test to ensure the
timeout happens for this case.

15 years agotests: test for just-fixed tail --pid bug
Jim Meyering [Thu, 30 Jul 2009 08:27:51 +0000 (10:27 +0200)]
tests: test for just-fixed tail --pid bug

* tests/tail-2/pid: Ensure tail exits successfully when PID dies.

15 years agotail: exit successfully upon watched process death
Giuseppe Scrivano [Wed, 29 Jul 2009 18:57:29 +0000 (20:57 +0200)]
tail: exit successfully upon watched process death

* src/tail.c (tail_forever_inotify): If a PID is specified and the
watched process dies, exit with status EXIT_SUCCESS, rather than
falling through to an EXIT_FAILURE.

15 years agomaint: move update-copyright to gnulib
Jim Meyering [Wed, 29 Jul 2009 14:29:21 +0000 (16:29 +0200)]
maint: move update-copyright to gnulib

* build-aux/update-copyright: Remove file.
* bootstrap.conf (gnulib_modules): Add update-copyright.
* gnulib: Update submodule to latest.

15 years agomaint: make update-copyright work in yet another case
Jim Meyering [Wed, 29 Jul 2009 13:39:20 +0000 (15:39 +0200)]
maint: make update-copyright work in yet another case

* build-aux/update-copyright: Handle the case in which "\n#"
appears between the final year number and the copyright holder name.
* m4/lib-check.m4: Update copyright year list.
Reported by Joel E. Denny.

15 years agomaint: update NEWS
Jim Meyering [Wed, 29 Jul 2009 10:25:33 +0000 (12:25 +0200)]
maint: update NEWS

* NEWS (New features): Mention it.

15 years agocp: support btrfs' copy-on-write file clone operation
Giuseppe Scrivano [Sat, 25 Jul 2009 14:35:27 +0000 (16:35 +0200)]
cp: support btrfs' copy-on-write file clone operation

* src/copy.c [HAVE_SYS_IOCTL_H]: Include <sys/ioctl.h>.
(BTRFS_IOCTL_MAGIC, BTRFS_IOC_CLONE): Define.
(clone_file): New function.
(copy_reg): Use the btrfs clone operation if possible.

15 years agomaint: update sleep.c's copyright year list
Jim Meyering [Wed, 29 Jul 2009 09:21:21 +0000 (11:21 +0200)]
maint: update sleep.c's copyright year list

* src/sleep.c: Update copyright year list to include 2009.
* tests/sort-time/rand-gen: Remove long-unused file.
* tests/sort-time/README: Likewise.

15 years agomaint: improve update-copyright rule
Joel E. Denny [Wed, 29 Jul 2009 09:05:54 +0000 (11:05 +0200)]
maint: improve update-copyright rule

* Makefile.am (update-copyright): Relax the selection rule
to match any file containing the word "Copyright".
Correct the exclusion rule so that it also excludes ChangeLog
and COPYING files that are not in the top level directory.

15 years agomaint: update-copyright: fix just-introduced bug
Jim Meyering [Wed, 29 Jul 2009 08:56:10 +0000 (10:56 +0200)]
maint: update-copyright: fix just-introduced bug

* build-aux/update-copyright: ... and revert-for-now the
change that made this script invoke localtime only once.

15 years agomaint: make update-copyright handle more cases
Jim Meyering [Wed, 29 Jul 2009 08:25:24 +0000 (10:25 +0200)]
maint: make update-copyright handle more cases

* build-aux/update-copyright: Handle cases in which the final
year number and copyright holder are on separate lines.
Prompted by a report from Joel E. Denny.
Also, do not invoke localtime for each line we process.

15 years agodoc: fix the generated HTML index
Pádraig Brady [Mon, 27 Jul 2009 01:24:03 +0000 (02:24 +0100)]
doc: fix the generated HTML index

* doc/coreutils.texi: Move the "SELinux context" section
down below the "System context" nodes so that the HTML
index is generated correctly. Also some extraneous and missing
'.' characters were corrected in the index.
Reported by Benno Schulenberg.

15 years agotail: use the inotify backend also with --pid=PID
Giuseppe Scrivano [Sun, 26 Jul 2009 11:22:57 +0000 (13:22 +0200)]
tail: use the inotify backend also with --pid=PID

* src/tail.c (tail_forever_inotify): When a PID is specified, use
select to block for no more than sleep_interval seconds at a time,
and check for process death upon timeout.
(main): Adapt to new tail_forever_inotify interface.

15 years agotests: new test for bug in ls -1U dir arg ...
Jim Meyering [Sat, 25 Jul 2009 09:06:22 +0000 (11:06 +0200)]
tests: new test for bug in ls -1U dir arg ...

* tests/misc/ls-misc (multi-arg-U1): New test.

15 years agols -1U dir arg ... now works again
Kamil Dudka [Mon, 27 Jul 2009 09:37:47 +0000 (11:37 +0200)]
ls -1U dir arg ... now works again

* src/ls.c (print_dir): Emit "$dir_name:\n" *before* accumulating (and
possibly printing) directory entry names.
The bug was introduced in coreutils-7.0 via commit
8d974b00, 2008-07-30, "ls -U1 now uses constant memory".
Reported by Julian Bradfield.
* NEWS (Bug fixes): Mention it.

15 years agotr: improve --help's description of --complement (-c)
Heikki Orsila [Sun, 26 Jul 2009 16:33:13 +0000 (19:33 +0300)]
tr: improve --help's description of --complement (-c)

15 years agodoc: add a sort by line length example
Pádraig Brady [Fri, 24 Jul 2009 23:46:12 +0000 (00:46 +0100)]
doc: add a sort by line length example

* doc/coreutils.texi (sort invocation): Add an example showing how
to sort data not directly supported by the sort command.

15 years agodoc: mention realpath in the readlink info
Pádraig Brady [Fri, 24 Jul 2009 17:17:24 +0000 (18:17 +0100)]
doc: mention realpath in the readlink info

* doc/coreutils.texi (readlink invocation): Add realpath to the index,
and also mention it in the readlink description so people
searching for that functionality can easily make the connection.

15 years agobuild: use a fixed-name temporary in man/Makefile.am
Jim Meyering [Sat, 25 Jul 2009 21:16:41 +0000 (23:16 +0200)]
build: use a fixed-name temporary in man/Makefile.am

* man/Makefile.am (check-x-vs-1): Using a fixed-name temporary file
is better than one ending in -$$, because many -$$-suffixed files
may accumulate over time.

15 years agodoc: improve readlink description here, too
Kamil Dudka [Fri, 24 Jul 2009 08:25:23 +0000 (10:25 +0200)]
doc: improve readlink description here, too

* doc/coreutils.texi (readlink invocation): Update menus.
Add @cindex entries.

15 years agoreadlink: improve one-line summary: prints canonical file names, too
Jim Meyering [Fri, 24 Jul 2009 07:33:23 +0000 (09:33 +0200)]
readlink: improve one-line summary: prints canonical file names, too

* src/readlink.c (usage): Adjust one-line summary.
* man/readlink.x: Likewise.
Suggested by Kamil Dudka.

15 years agobuild: update from gnulib
Jim Meyering [Sun, 19 Jul 2009 20:39:06 +0000 (22:39 +0200)]
build: update from gnulib

* gnulib: Update submodule to latest.

15 years agodoc: point to Guile's ChangeLog-writing guidelines
Jim Meyering [Tue, 14 Jul 2009 18:42:29 +0000 (20:42 +0200)]
doc: point to Guile's ChangeLog-writing guidelines

* HACKING (Commit log requirements): Point to Guile's
http://www.gnu.org/software/guile/changelogs/guile-changelogs_3.html.
Mention that a bit of prose can be welcome.

15 years agotail: adjust type of a local variable
Jim Meyering [Sat, 11 Jul 2009 07:43:25 +0000 (09:43 +0200)]
tail: adjust type of a local variable

* src/tail.c (tail_forever_inotify): Declare "len" to be of type
size_t, not ssize_t, since the former is what safe_read returns.

15 years agotests: avoid false-positive cp/link-heap failure
Jim Meyering [Thu, 9 Jul 2009 13:50:21 +0000 (15:50 +0200)]
tests: avoid false-positive cp/link-heap failure

* tests/cp/link-heap: Increase address space limit from 14000KB
to 16000KB, to avoid failure with Debian unstable's libc6-dev-2.9-19

15 years agobuild: avoid build warn/failure due to -Wstack-protector
Jim Meyering [Thu, 9 Jul 2009 13:20:15 +0000 (15:20 +0200)]
build: avoid build warn/failure due to -Wstack-protector

* configure.ac: Do not enable -Wstack-protector.
Otherwise, at least df.c would provoke a warning.

15 years agocopy.c: remove a duplicate expression
Ondřej Vašík [Wed, 8 Jul 2009 16:21:27 +0000 (17:21 +0100)]
copy.c: remove a duplicate expression

* src/copy.c (copy_attr_error): remove a redundant expression
added in commit e0cf592f, 2009-04-27, "factor out test for errno ...".

15 years agobuild: update from gnulib
Jim Meyering [Wed, 8 Jul 2009 20:37:29 +0000 (22:37 +0200)]
build: update from gnulib

* gnulib: Update submodule to latest.

15 years agotail: use size_t for counter and index variables, ...
Jim Meyering [Wed, 8 Jul 2009 17:49:46 +0000 (19:49 +0200)]
tail: use size_t for counter and index variables, ...

* src/tail.c (any_live_files): ... not "int" or even unsigned int
(tail_forever, tail_forever_inotify, main): Likewise.

15 years agotail: declare "file descriptor" variable to be "int", not size_t
Jim Meyering [Wed, 8 Jul 2009 17:51:22 +0000 (19:51 +0200)]
tail: declare "file descriptor" variable to be "int", not size_t

* src/tail.c (tail_forever_inotify): Use "int", not size_t
as the type of a file descriptor variable.

15 years agomove argv-iter module to gnulib
Jim Meyering [Sat, 4 Jul 2009 15:41:39 +0000 (17:41 +0200)]
move argv-iter module to gnulib

* gl/lib/argv-iter.c: Remove file.
* gl/lib/argv-iter.h: Remove file.
* gl/modules/argv-iter: Remove file.
* gl/modules/argv-iter-tests: Remove file.
* gl/tests/test-argv-iter.c: Remove file.
* gnulib: Update submodule, to get argv-iter

15 years agotests: refactor code to use require_proc_pid_status_
Giuseppe Scrivano [Sat, 4 Jul 2009 08:25:03 +0000 (10:25 +0200)]
tests: refactor code to use require_proc_pid_status_

* tests/tail-2/tail-n0f: Read the process status using the test-lib.sh
require_proc_pid_status_ function.

15 years agotests: use the "nobody" user's group as the default group id
Giuseppe Scrivano [Sat, 4 Jul 2009 08:14:31 +0000 (10:14 +0200)]
tests: use the "nobody" user's group as the default group id

* tests/chroot/credentials: Use the group id, not its name.
* tests/test-lib.sh (NON_ROOT_GROUP): Use the "nobody" user's group in
place of "nogroup".

15 years agobuild: update from gnulib
Jim Meyering [Fri, 3 Jul 2009 18:28:33 +0000 (20:28 +0200)]
build: update from gnulib

* gnulib: Update submodule to latest.

15 years agosort: allow SI and IEC units on separate human sort fields
Pádraig Brady [Mon, 29 Jun 2009 23:52:43 +0000 (00:52 +0100)]
sort: allow SI and IEC units on separate human sort fields

* src/sort.c: Store the si_present state per key rather than globally
* tests/misc/sort: Add a check that would have previously failed.
Also add a test to demonstrate that invalid IEC/SI mixtures are not
always noticed when they're not significant to the sort.

15 years agotail: avoid an inotify portability problem in kernels prior to 2.6.21
Giuseppe Scrivano [Thu, 2 Jul 2009 21:38:46 +0000 (23:38 +0200)]
tail: avoid an inotify portability problem in kernels prior to 2.6.21

* src/tail.c (tail_forever_inotify): Handle the special case in which
an old inotify watcher returns 0.  Affects kernels in [2.6.13, 2.6.21).

15 years agotests: tail-2/wait: rename internal file name
Jim Meyering [Fri, 3 Jul 2009 15:10:27 +0000 (17:10 +0200)]
tests: tail-2/wait: rename internal file name

* tests/tail-2/wait: Rename file from not_accessible to unreadable,
since all the test cares about is readability.

15 years agotests: tail-2/wait: don't fail when run as root
Giuseppe Scrivano [Thu, 2 Jul 2009 21:40:40 +0000 (23:40 +0200)]
tests: tail-2/wait: don't fail when run as root

* tests/tail-2/wait: Ensure that the unreadable file really is not
readable before trying to run "tail -f" on it.

15 years agodoc: update the info on sort -b and -k
Pádraig Brady [Wed, 1 Jul 2009 14:07:19 +0000 (15:07 +0100)]
doc: update the info on sort -b and -k

* doc/coreutils.texi (sort invocation): Mention in the description
of -b, that the locale can also affect whether blanks are significant.
Update the list of ordering options for a --key that cause it
to not inherit any global ordering options.
Update the list of ordering options that implicitly skip whitespace.

15 years agomaint: generalize the development prerequisites docs
Pádraig Brady [Thu, 2 Jul 2009 08:51:34 +0000 (09:51 +0100)]
maint: generalize the development prerequisites docs

* README-hacking: Add a little more high level info and
merge notes on specific developer prerequisites into README-prereq
* README-prereq: Remove the Fedora 8 specific information
and generalize the information to be applicable to any system.

15 years agotail: add comments noting potential inotify-related problems
Jim Meyering [Mon, 29 Jun 2009 18:43:26 +0000 (20:43 +0200)]
tail: add comments noting potential inotify-related problems

* src/tail.c (tail_forever_inotify): Add two FIXME comments.

15 years agomaint: bootstrap: merge changes from gnulib
Jim Meyering [Sun, 28 Jun 2009 10:16:28 +0000 (12:16 +0200)]
maint: bootstrap: merge changes from gnulib

* bootstrap: Indent using spaces, not TABs.

15 years agomaint: bootstrap: sync submodule usage from gnulib
Jim Meyering [Sun, 28 Jun 2009 09:25:13 +0000 (11:25 +0200)]
maint: bootstrap: sync submodule usage from gnulib

* bootstrap: Config for git submodule use only if .gitmodules exists.

15 years agomaint: bootstrap: split a few long lines
Jim Meyering [Sun, 28 Jun 2009 09:17:50 +0000 (11:17 +0200)]
maint: bootstrap: split a few long lines

* bootstrap (found_aux_dir): Avoid lines longer than 80 columns.

15 years agomaint: don't change COPYING
Jim Meyering [Fri, 26 Jun 2009 15:06:52 +0000 (17:06 +0200)]
maint: don't change COPYING

* COPYING: Don't modify Copyright date list in imported file.
This file is one of very few exceptions in that we version-control it,
even though its primary source is another package.
Spotted by Eric Blake.

15 years agomaint: add a rule to automate the annual copyright-year-update process
Jim Meyering [Fri, 26 Jun 2009 11:33:59 +0000 (13:33 +0200)]
maint: add a rule to automate the annual copyright-year-update process

* build-aux/update-copyright: New file.
* Makefile.am (changelog_etc): Add update-copyright.
(update-copyright): New rule.

15 years agostdbuf: fix to stop -i option causing an assertion
Pádraig Brady [Sat, 27 Jun 2009 00:48:49 +0000 (01:48 +0100)]
stdbuf: fix to stop -i option causing an assertion

* src/stdbuf.c (main): Fix the array bounds check in the assert
* tests/misc/stdbuf: Add a test for all standard streams

15 years agodoc: clarify the tail inotify NEWS
Pádraig Brady [Thu, 25 Jun 2009 13:41:05 +0000 (14:41 +0100)]
doc: clarify the tail inotify NEWS

* NEWS: Say why inotify was used

15 years agomaint: update all Copyright year lists to include 2009
Jim Meyering [Tue, 23 Jun 2009 20:33:15 +0000 (22:33 +0200)]
maint: update all Copyright year lists to include 2009

15 years agomaint: remove old TODO files
Jim Meyering [Tue, 23 Jun 2009 20:30:29 +0000 (22:30 +0200)]
maint: remove old TODO files

* lib/TODO: Remove file.
* tests/join/TODO: Likewise.

15 years agodoc: README-hacking tweak
Jim Meyering [Tue, 23 Jun 2009 14:54:38 +0000 (16:54 +0200)]
doc: README-hacking tweak

* README-hacking: Move the "While building..." sentence down
to where it belongs.

15 years agotests: tail-2/pid: include more info upon failure
Jim Meyering [Tue, 23 Jun 2009 14:53:43 +0000 (16:53 +0200)]
tests: tail-2/pid: include more info upon failure

* tests/tail-2/pid: Print unexpected $state upon failing.

15 years agodoc: typo fix in README-hacking
Jim Meyering [Sat, 20 Jun 2009 12:48:59 +0000 (14:48 +0200)]
doc: typo fix in README-hacking

* README-hacking: Fix a typo.
Don't make building from a git-cloned tree sound so hard.

15 years agobuild: update from gnulib (hash module updates; maint.mk tweak)
Jim Meyering [Fri, 19 Jun 2009 22:06:42 +0000 (00:06 +0200)]
build: update from gnulib (hash module updates; maint.mk tweak)

* gnulib: Update submodule to latest.

15 years agodoc: fix a typo
Jim Meyering [Wed, 17 Jun 2009 14:17:19 +0000 (16:17 +0200)]
doc: fix a typo

* doc/coreutils.texi (stdbuf invocation): Insert missing "to".

15 years agostdbuf: A new program to run a command with modified stdio buffering
Pádraig Brady [Wed, 17 Dec 2008 11:30:03 +0000 (11:30 +0000)]
stdbuf: A new program to run a command with modified stdio buffering

* AUTHORS: Register as the author.
* NEWS: Mention this change.
* README: Add stdbuf command to list.
* configure.ac: Only enable on ELF systems with GCC.
* cfg.mk (sc_system_h_headers): Use VC_LIST_EXCEPT rather than
VC_LIST, so we can add an exception, if needed.
* .x-sc_system_h_headers: New file.  Exempt libstdbuf.c.
* Makefile.am (syntax_check_exceptions): Add .x-sc_system_h_headers.
* doc/coreutils.texi (stdbuf invocation): Add stdbuf info.
* man/.gitignore: Ignore generated manpage.
* src/.gitignore: Ignore stdbuf and libstdbuf.so binaries.
* man/Makefile.am (stdbuf.1): Add dependency.
* man/stdbuf.x: New file with example usage.
* po/POTFILES.in: Reference new command and shared library sources.
* src/Makefile.am (build_if_possible__progs): Add stdbuf and libstdbuf,
(pkglib_PROGRAMS): Reference optional shared lib,
(libstdbuf_so_LDADD): Ensure we don't link with non PIC libcoreutils.a.
(libstdbuf_so_LDFLAGS): Add -shared GCC option,
(libstdbuf_so_CFLAGS): Add -fPIC GCC option.
(check-README): Exclude libstbuf.
(check-AUTHORS): ditto.
(sc_tight_scope): Exclude functions starting with __.
* src/libstdbuf.c: The LD_PRELOAD shared library to control buffering.
* src/stdbuf.c: New file to setup env variables before execing command.
* tests/Makefile.am: Reference new test file.
* tests/misc/help-version: Set expected exit codes.
* tests/misc/invalid-opt: ditto.
* tests/misc/stdbuf: Add 9 tests.

15 years agodoc: cp: describe an oddity of combining -H/-L and --preserve=links
Jim Meyering [Mon, 15 Jun 2009 07:10:50 +0000 (09:10 +0200)]
doc: cp: describe an oddity of combining -H/-L and --preserve=links

* doc/coreutils.texi (cp invocation) [-L]: Elaborate.
[--preserve=links]: Remove comments saying that we need documentation
for just this situation.  Provide more explanation and examples.
Reported by Brian M. Carlson in http://bugs.debian.org/525048.

15 years agomaint: revert last change: we're not ready for "local" in scripts, yet
Jim Meyering [Mon, 15 Jun 2009 17:37:42 +0000 (19:37 +0200)]
maint: revert last change: we're not ready for "local" in scripts, yet

Revert "use a local var: more readable"
This reverts commit c0d82452883a10911c9cbc69c84144d99b7e6b08.

15 years agouse a local var: more readable
Jim Meyering [Sun, 14 Jun 2009 12:43:16 +0000 (14:43 +0200)]
use a local var: more readable

15 years agotail: use inotify if it is available
Giuseppe Scrivano [Tue, 2 Jun 2009 06:28:23 +0000 (08:28 +0200)]
tail: use inotify if it is available

* NEWS: Document the new feature.
* m4/jm-macros.m4: Check if inotify is present.
* src/tail.c (tail_forever_inotify): New function.
(main): Use the inotify-based function, if possible.
* tests/Makefile.am: Add new tests for tail.
* tests/test-lib.sh (require_proc_pid_status_, get_process_status_):
New functions.
* tests/tail-2/pid: New file.
* tests/tail-2/wait: New file.
* tests/tail-2/tail-n0f: Refactor code into the test-lib.sh
require_proc_pid_status_ function.

15 years agodiag: say "failed to...", rather than "cannot..." in a few diagnostics
Jim Meyering [Sat, 13 Jun 2009 14:36:48 +0000 (16:36 +0200)]
diag: say "failed to...", rather than "cannot..." in a few diagnostics

* src/chroot.c (main): ...it's more precise.
* src/nohup.c (main): Likewise.
* src/setuidgid.c (main): Likewise.
* src/timeout.c (main): Likewise.

15 years agosort: Ignore fields where end position is before the start position
Cliff Miller [Thu, 11 Jun 2009 17:30:32 +0000 (18:30 +0100)]
sort: Ignore fields where end position is before the start position

* NEWS: Mention the fix
* THANKS: Add Cliff Miller
* src/sort.c (keycompare): Ensure lima >= texta
* tests/misc/sort: Add 3 corresponding tests

Signed-off-by: Pádraig Brady <P@draigBrady.com>