Yury Usishchev [Thu, 5 Feb 2015 23:04:29 +0000 (23:04 +0000)]
build: ensure make-prime-list doesn't access out of bounds memory
The -fsanitize=address run associated with v8.22-75-gf940fec
failed to check make-prime-list, as src/primes.h is not
regenerated with `make clean`. Running with -fsanitize=address
indicates a read 1 byte beyond the allocated buffer.
$ rm src/make-prime-list.o
$ make AM_CFLAGS=-fsanitize=address src/make-prime-list
$ src/make-prime-list 5000
=================================================================
==13913==ERROR: AddressSanitizer: heap-buffer-overflow on address
0x61e00000fa43 at pc 0x4016f5 bp 0x7fff9d9840e0 sp 0x7fff9d9840d0
READ of size 1 at 0x61e00000fa43 thread T0
#0 0x4016f4 in main src/make-prime-list.c:214
#1 0x7f98892c5fdf in __libc_start_main (/lib64/libc.so.6+0x1ffdf)
#2 0x401774 (src/make-prime-list+0x401774)
0x61e00000fa43 is located 0 bytes to the right of 2499-byte
region [0x61e00000f080,0x61e00000fa43) allocated by thread T0 here:
#0 0x7f98896ba7b7 in malloc (/lib64/libasan.so.1+0x577b7)
#1 0x400f3f in xalloc src/make-prime-list.c:163
#2 0x400f3f in main src/make-prime-list.c:198
SUMMARY: AddressSanitizer: heap-buffer-overflow
src/make-prime-list.c:214 main
Shadow bytes around the buggy address:
0x0c3c7fff9ef0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0c3c7fff9f00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0c3c7fff9f10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0c3c7fff9f20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0c3c7fff9f30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
=>0x0c3c7fff9f40: 00 00 00 00 00 00 00 00[03]fa fa fa fa fa fa fa
0x0c3c7fff9f50: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0c3c7fff9f60: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0c3c7fff9f70: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0c3c7fff9f80: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0c3c7fff9f90: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
Shadow byte legend (one shadow byte represents 8 application bytes):
Addressable: 00
Partially addressable: 01 02 03 04 05 06 07
Heap left redzone: fa
...
==13913==ABORTING
* src/make-prime-list.c (main): Bounds check the incremented index,
before using to access the buffer.
Fixes http://bugs.gnu.org/19784
Change-Id: I4ef7d16b49097522350def56bf3882c6c70a17a5
Signed-off-by: Yury Usishchev <y.usishchev@samsung.com>
Torbjörn Granlund [Mon, 4 Mar 2013 17:57:33 +0000 (17:57 +0000)]
build: fix factor build failure on aarch64
* src/longlong.h (__aarch64__): Make add_ssaaaa and sub_ddmmss work.
* NEWS: Mention the build fix.
Reported at https://bugzilla.redhat.com/917735
Change-Id: Id8e1373521fdf43935b4fdd5147a4461a0d1ca29
Signed-off-by: Chanho Park <chanho61.park@samsung.com>
Anas Nashif [Wed, 11 Sep 2013 12:16:48 +0000 (08:16 -0400)]
do not package info files twice
Change-Id: I246de6bad6e92dbf3e2670826926845d01c149d4
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Anas Nashif [Tue, 27 Aug 2013 22:18:42 +0000 (18:18 -0400)]
fix .gbs.conf
Graydon, Tracy [Tue, 27 Aug 2013 19:27:55 +0000 (12:27 -0700)]
Now reset the .gbs.conf
Graydon, Tracy [Tue, 27 Aug 2013 19:25:18 +0000 (12:25 -0700)]
Ditch the .gbs.conf
Graydon, Tracy [Tue, 27 Aug 2013 19:23:43 +0000 (12:23 -0700)]
Update the tag format
Ryan Ware [Fri, 16 Aug 2013 23:18:39 +0000 (16:18 -0700)]
Merge "Enable smack build configuration option on commandline fix rpmlint errors from incorrect group" into tizen
Michael Demeter [Fri, 16 Aug 2013 23:12:37 +0000 (16:12 -0700)]
Fix bad merge for NEWs file
Change-Id: I210360086212685b609cc6eb68da957ce0f2455d
Signed-off-by: Michael Demeter <michael.demeter@intel.com>
Michael Demeter [Tue, 13 Aug 2013 17:36:15 +0000 (10:36 -0700)]
Enable smack build configuration option on commandline
fix rpmlint errors from incorrect group
Change-Id: Iffc8cb2910229463850f2a236b3efe6b0218b9d8
Signed-off-by: Michael Demeter <michael.demeter@intel.com>
Pádraig Brady [Tue, 2 Jul 2013 02:42:20 +0000 (03:42 +0100)]
maint: refactor SMACK interface to a separate module
Consolidate all smack routines and checks in a module.
We replace and wrap the most commonly used smack routines,
which allows removing ifdefs throughout the code.
* gl/lib/smack.h: A new header containing the implementation
of the wrapped and replacement routines. Note the is_smack_enabled()
routine should be optimized out at compile time when compiled
on a system without libsmack.
* gl/modules/smack: Describe the new module and move the
configure time code here from ...
* m4/jm-macros.m4: ... here.
* bootstrap.conf: Reference the new module.
* src/id.c: Use the routines without ifdefs where possible.
* src/ls.c: Likewise.
* src/mkdir.c: Likewise.
* src/mkfifo.c: Likewise.
* src/mknod.c: Likewise.
Pádraig Brady [Tue, 2 Jul 2013 01:40:35 +0000 (02:40 +0100)]
id: don't show SMACK errors unless -Z is specified
* src/id.c (main): Be consistent with the SELinux case,
and only show errors in getting the security context
when -Z is specified.
Jarkko Sakkinen [Wed, 26 Jun 2013 08:48:27 +0000 (11:48 +0300)]
mkdir,mkfifo,mknod: with -Z, create SMACK security context
Enable creation of SMACK security context with -Z command-line switch
if SMACK is enabled.
* mkdir.c (main): Set process security context to given SMACK label.
* mkfifo.c (main): Likewise.
* mknod.c (main): Likewise.
* src/local.mk: link mk{dir, fifo, nod} with libsmack.
* NEWS: Mention the new feature.
Signed-off-by: Michael Demeter <michael.demeter@intel.com>
Conflicts:
NEWS
Change-Id: Ib65d0891db7968dd7da06653e244579b4f943785
Jarkko Sakkinen [Mon, 24 Jun 2013 11:24:55 +0000 (14:24 +0300)]
ls: with -Z, show SMACK security context
Enable showing of file SMACK security with '-Z' command-line switch
if SMACK is enabled. Showing SMACK context of a file does not strictly
require SMACK to be enabled but this required to make choice whether to
show SELinux or SMACK security context.
* src/ls.c (getfilecon_cache): Retrieve SMACK context if available.
(gobble_file): Handle SMACK context similarly to SELinux context.
* src/local.mk: Link lsl with libsmack.
* NEWS: Mention the new feature.
* .mailmap: Merge the Author's 2 email addresses.
Signed-off-by: Michael Demeter <michael.demeter@intel.com>
Conflicts:
NEWS
Change-Id: I888bc3b0f08dfe8a9eae9a244c91c9ab6b1d9c08
Jarkko Sakkinen [Thu, 20 Jun 2013 18:21:37 +0000 (21:21 +0300)]
id: adjust/restrict smack support to newer versions of libsmack
There was slight change to libsmack such that positive values are
reserved for returning length of the label for smack_new_label_from_*
functions.
* m4/jm-macros.m4: Set HAVE_SMACK when both smack_new_label_from_self()
and recently added smack_new_label_from_path() are present.
The latter's presence indicates the newer API of the former.
* src/id.c (main): Check that smack_new_label_from_self() < 0,
and not just non-zero.
Jarkko Sakkinen [Sat, 4 May 2013 17:44:53 +0000 (20:44 +0300)]
id: with -Z, show SMACK security context
Adds an optional dependency on libsmack.
* m4/jm-macros.m4: Look for the smack library/header.
* src/id.c (main): Output the smack context if available.
* src/local.mk: Link with libsmack if available.
* NEWS: Mention the new feature.
Signed-off-by: Michael Demeter <michael.demeter@intel.com>
Conflicts:
NEWS
Change-Id: I1f6bb85309245b8172e2106f3102e040562109a9
Michael Demeter [Mon, 12 Aug 2013 22:32:17 +0000 (15:32 -0700)]
Some of the po files were iso-8859 encoded coverted to utf-8
and converted one file containing EUC-KC to utf-8.
Change-Id: I1e74f47e2bc458c953c9f0bcc948d08c75fea349
Signed-off-by: Michael Demeter <michael.demeter@intel.com>
Anas Nashif [Mon, 12 Aug 2013 13:09:42 +0000 (09:09 -0400)]
build from git
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Change-Id: Ie48185f2a445fbdbbf2248aa4285d51b0b659d3c
Anas Nashif [Wed, 6 Mar 2013 09:16:00 +0000 (01:16 -0800)]
Update to 8.21
Alexandru Cornea [Fri, 28 Jun 2013 19:31:50 +0000 (22:31 +0300)]
resetting manifest requested domain to floor
Patrick McCarty [Thu, 27 Jun 2013 21:23:42 +0000 (14:23 -0700)]
packaging: provide several more binaries in /bin
Change-Id: Ic8aa777159017c4944a5fd64038b26396bf2d8ed
Signed-off-by: Patrick McCarty <patrick.mccarty@linux.intel.com>
Patrick McCarty [Tue, 25 Jun 2013 21:23:53 +0000 (14:23 -0700)]
packaging: provide /bin/basename as well
Change-Id: I2be7e98e7708f3730e2de1d6eab51ad9d79b357a
Signed-off-by: Patrick McCarty <patrick.mccarty@linux.intel.com>
Patrick McCarty [Mon, 1 Apr 2013 18:00:15 +0000 (11:00 -0700)]
Fix conflict with procps-ng package
/usr/bin/uptime is part of the procps-ng package, so it must be excluded
from this package for procps-ng to install cleanly.
Change-Id: I97ecd8335d4d6e5288ed34eb73d4f4479f499400
Anas Nashif [Fri, 22 Mar 2013 17:58:10 +0000 (10:58 -0700)]
Fixed package groups
Anas Nashif [Tue, 15 Jan 2013 05:21:51 +0000 (21:21 -0800)]
Provide /bin/cat
Anas Nashif [Sun, 30 Dec 2012 16:10:40 +0000 (08:10 -0800)]
provide /bin/touch to satisfy old specs
Anas Nashif [Thu, 25 Oct 2012 19:36:32 +0000 (12:36 -0700)]
remove .changes
Anas Nashif [Thu, 25 Oct 2012 16:52:54 +0000 (09:52 -0700)]
add packaging
Anas Nashif [Thu, 25 Oct 2012 16:41:58 +0000 (09:41 -0700)]
add packaging
Anas Nashif [Thu, 25 Oct 2012 16:38:08 +0000 (09:38 -0700)]
add packaging
Anas Nashif [Thu, 25 Oct 2012 16:34:49 +0000 (09:34 -0700)]
add packaging
Anas Nashif [Thu, 25 Oct 2012 16:27:11 +0000 (09:27 -0700)]
add packaging
Anas Nashif [Thu, 25 Oct 2012 16:21:41 +0000 (09:21 -0700)]
add packaging
Anas Nashif [Thu, 25 Oct 2012 16:19:50 +0000 (09:19 -0700)]
add packaging
Pádraig Brady [Thu, 14 Feb 2013 15:52:18 +0000 (15:52 +0000)]
version 8.21
* NEWS: Record release date.
Pádraig Brady [Thu, 14 Feb 2013 04:27:34 +0000 (04:27 +0000)]
tests: avoid non portable sed use of \t
* tests/du/threshold.sh: use `cut` rather than
sed to avoid using the non portable \t which
fails on sed on openbsd 5 at least.
Also remove a redundant call to `tr` and avoid
explicit setting of LANG=C which is done globally.
Pádraig Brady [Thu, 14 Feb 2013 02:32:22 +0000 (02:32 +0000)]
build: avoid link failure in devmsg() on older linkers
On linkers that don't remove unused functions,
there will be a reference to a missing dev_debug symbol
in the devmsg() function. So for now ...
* src/system.h: ... move devmsg() from here ...
* src/numfmt.c: ... to here, and document future cleanup.
* src/factor.c: Likewise.
Assaf Gordon [Tue, 12 Feb 2013 20:28:22 +0000 (15:28 -0500)]
numfmt: fix strtol() return code handling
src/numfmt.c (parse_format_string): On some systems, strtol() returns
EINVAL if no conversion was performed. So only handle ERANGE here,
and handle other format errors directly.
Bernhard Voelker [Mon, 11 Feb 2013 09:48:31 +0000 (09:48 +0000)]
maint: avoid running check-root tests in gnulib
* tests/local.mk (check-root): Restrict to SUBDIRS=. as traversing
into gnulib-tests induces a false failure.
Pádraig Brady [Mon, 11 Feb 2013 09:27:22 +0000 (09:27 +0000)]
doc: improve the numfmt man page format
* src/numfmt.c (usage): Keep a single space between the "K = 1000",
so that it's not displayed on a separate line. Also place ','
between each unit entry to improve readability.
Benno Schulenberg [Sun, 10 Feb 2013 22:00:48 +0000 (23:00 +0100)]
doc: standardize helptext of numfmt and slice into single options
* src/numfmt.c (usage): Correct synopsis and make command description
clearer. Start option descriptions with lowercase letter; use
semicolon instead of period where needed; indent continuation lines;
gettextize single options for ease of translation and maintenance;
sort options alphabetically.
* doc/coreutils.texi (numfmt invocation): Sort numfmt options
alphabetically. Enforce double-blank-after-period style.
This addresses http://bugs.gnu.org/13681.
Improved-by: Bernhard Voelker
Pádraig Brady [Sun, 10 Feb 2013 12:47:23 +0000 (12:47 +0000)]
maint: consolidate developer debug messages
Both factor and numfmt recently introduced debug messages
for developers, enabled by --verbose and ---devdebug respectively.
There were a few issues though:
1. They used different mechanisms to enable these messages.
2. factor used --verbose which might be needed for something else
3. They used different methods to output the messages,
and numfmt used error() which added an unwanted newline
4. numfmt marked all these messages for translation and factor
marked a couple. We really don't need these translated.
So we fix the above issues here while renaming the enabling
option for both commands to ---debug (still undocumented).
* src/factor.c (verbose): Rename to dev_debug and change from int to
bool as it's just a toggle flag.
(long_options): Rename --verbose to ---debug.
* src/system.h (devmsg): A new inline function to output a message
if enabled by a global dev_debug variable in the compilation unit.
* src/numfmt.c: Use devmsg() rather than error().
Also remove the translation tags from these messages.
Also change debug flag to bool from int.
* tests/misc/numfmt.pl: Adjust for the ---devdebug to ---debug change.
* cfg.mk (sc_marked_devdiagnostics): Add a syntax check to ensure
translations are not added to devmsg calls.
Reported by Göran Uddeborg in http://bugs.gnu.org/13665
Pádraig Brady [Sat, 9 Feb 2013 04:39:40 +0000 (04:39 +0000)]
tests: tail-2/inotify-rotate: fix a false failure on NFS
* tests/tail-2/inotify-rotate.sh: Avoid a subshell with bash,
which in turn causes the `kill` to be ineffective to the tail
processes (as the SIGTERM is sent to the subshell which doesn't
propagate the signal on to its children). On NFS the test
cleanup will then fail as there will be .nfs files maintained
in the directory for the files still opened by the tail processes.
Reported by Bernhard Voelker.
Pádraig Brady [Fri, 8 Feb 2013 16:05:25 +0000 (16:05 +0000)]
tests: skip numfmt grouping tests on some systems
* tests/misc/numfmt.pl: When the system locale grouping doesn't
match our expected format for grouping 1234 in the fr_FR locale,
reset the locale to 'C' so as to skip all locale tests.
Jim Meyering [Thu, 7 Feb 2013 17:43:41 +0000 (09:43 -0800)]
tests: avoid actual/expected mismatch due to changed diagnostic
* tests/cp/fail-perm.sh: Adjust expected diagnostic to match
just-changed cp diagnostic.
* tests/ln/hard-to-sym.sh: Likewise.
* .mailmap: Also map my new address.
Pádraig Brady [Thu, 7 Feb 2013 16:47:45 +0000 (16:47 +0000)]
build: update gnulib submodule; also bootstrap to latest
Notes tests/init.sh is still in sync with gnulib
* bootstrap: update to latest
* gnulib: update avoiding secure_getenv and subsequent patches
as these are reported to fail on FreeBSD at least.
Benno Schulenberg [Fri, 4 Jan 2013 21:45:34 +0000 (22:45 +0100)]
maint: improve error messages upon failed read, write, access, close
Note we use "failed to {access,close}" for those single operations,
and "error {read,writ}ing" for those partial operation failures.
* src/copy.c: Improve error messages for failing read, write and close.
* src/cp.c: Improve error messages for failing access.
* src/dd.c: Improve error messages for failing read, write and open.
* src/head.c: Improve error message for failing close.
* src/install.c: Improve error messages for failing access.
* src/ln.c: Likewise.
* src/mv.c: Likewise.
* src/touch.c: Improve error message for failing close.
* src/truncate.c: Likewise.
Assaf Gordon [Tue, 5 Feb 2013 16:04:41 +0000 (11:04 -0500)]
doc: fix a numfmt help section typo
* src/numfmt.c (usage): Change erroneous "G" to "M".
Ondřej Vašík [Tue, 5 Feb 2013 14:00:47 +0000 (15:00 +0100)]
stty: add support for DTR/DSR hardware control flow
Originally requested in Red Hat bugzilla #445213.
* src/stty.c (mode_info): Add support for DTR/DSR hardware flow control,
if available.
* doc/coreutils.texi: Document it.
* tests/misc/stty.sh: Add it to the list of serial options to avoid.
* NEWS: Mention the improvement.
Pádraig Brady [Tue, 5 Feb 2013 15:37:47 +0000 (15:37 +0000)]
numfmt: correct a printf format
Prompted by the continuous integration build failure at:
http://hydra.nixos.org/build/4010493
* src/numfmt.c (parse_format_string): Correct both sign and size of
a printf format, which only gives a warning on 32 bit builds.
Assaf Gordon [Thu, 6 Dec 2012 22:30:23 +0000 (22:30 +0000)]
numfmt: a new command to format numbers
* AUTHORS: Add my name.
* NEWS: Mention the new program.
* README: Reference the new program.
* src/numfmt.c: New file.
* src/.gitignore: Ignore the new binary.
* build-aux/gen-lists-of-programs.sh: Update.
* scripts/git-hooks/commit-msg: Allow numfmt: commit prefix.
* po/POTFILES.in: Add new c file.
* tests/misc/numfmt.pl: A new test file giving >93% coverage.
* tests/local.mk: Reference the new test.
* man/.gitignore: Ignore the new man page.
* man/local.mk: Reference the new man page.
* man/numfmt.x: A new template.
* doc/coreutils.texi: Document the new command.
Pádraig Brady [Mon, 4 Feb 2013 11:39:20 +0000 (11:39 +0000)]
cut: fix a segfault with disjoint open ended ranges
Fixes the issue introduced in unreleased commit v8.20-60-gec48bea.
* src/cut.c (set_fields): Don't access the bit array if
we've an open ended range that's outside any finite range.
* tests/misc/cut.pl: Add tests for this case.
Reported by Marcel Böhme in http://bugs.gnu.org/13627
Paul Eggert [Fri, 1 Feb 2013 21:32:48 +0000 (13:32 -0800)]
doc: say how to tac char-by-char
This fixes Bug#12115, reported by Reuben Thomas.
* doc/coreutils.texi (tac invocation): Document how to reverse a
file character by character. Break out MS-DOS into a separate
section, like 'cat' does.
Bernhard Voelker [Mon, 28 Jan 2013 13:56:44 +0000 (14:56 +0100)]
df: do not treat rootfs specially
Like any other pseudo file system, df should show rootfs only
when the -a option is specified, i.e. specifying -trootfs alone
is not sufficient. As the rootfs entry is now elided by the
general deduplication in filter_mount_list (commit v8.20-103-gbb116d3),
all other references to rootfs can be removed again.
* src/df.c (show_rootfs): Remove global variable.
(ROOTFS): Remove constant.
(filter_mount_list): Remove case to handle rootfs specially.
(main): In the case for handling the -t option, remove setting
of the show_rootfs variable.
* tests/df/skip-rootfs.sh: Adapt the test case "df -t rootfs":
the rootfs file system must not be printed (because no -a).
* doc/coreutils.texi (df invocation): Correct the documentation
about eliding mount entries: it is not the first occurrence of
the the device which wins, but now rather the entry with the
shortest mount point name. Also adapt the description about
eliding pseudo file system types like rootfs.
* NEWS (Changes in behavior): Adapt entry.
Ondrej Oprala [Fri, 25 Jan 2013 00:07:58 +0000 (01:07 +0100)]
df: prefer fullpath entries when deduplicating
* src/df.c (struct devlist): Add a new element for storing
pointers to mount_entry structures.
(devlist_head, dev_examined): Remove.
(filter_mount_list): Add new function to filter out the rootfs
entry (unless -trootfs is specified), and duplicities. The
function favors entries with a '/' character in me_devname
or those with the shortest me_mountdir string, if multiple
entries fulfill the first condition.
Use struct devlist to build up a list of entries already known,
and finally rebuild the global mount_list.
(get_all_entries): Call the above new function unless the -a
option is specified.
(get_dev): Remove the code for skipping rootfs and duplicities.
* tests/df/skip-duplicates.sh: Add test cases.
Co-authored-by: Bernhard Voelker <mail@bernhard-voelker.de>
Stephan Krempel [Fri, 25 Jan 2013 02:48:46 +0000 (02:48 +0000)]
timeout: ensure a blocked SIGALRM from the parent is unblocked
* src/timeout.c (unblock_signal): A new function to unblock a
specified signal, or warn if not possible.
(set_timeout): Ensure SIGALRM is unblocked before we setup the timer.
* tests/misc/timeout-blocked.pl: A new test for the issue.
* tests/local.mk: Reference the new test.
* NEWS: Mention the fix.
Fixes: http://bugs.gnu.org/13535
Pádraig Brady [Tue, 22 Jan 2013 11:13:16 +0000 (11:13 +0000)]
seq: fix to always honor the step value
* src/seq.c (main): With 3 positive integer args we were
checking the end value was == "1", rather than the step value.
* tests/misc/seq.pl: Add tests for this case.
Reported by Marcel Böhme in http://bugs.gnu.org/13525
Pádraig Brady [Wed, 9 Jan 2013 12:23:35 +0000 (12:23 +0000)]
seq: fix misaligment with -w when no precision for start value
* src/seq.c (get_default_format): Also account for the case where '.'
is auto added to the start value, which is significant when the
number sequence narrows.
* tests/misc/seq.pl: Add two new tests for the failing cases.
* NEWS: Mention the fix.
Fixes http://bugs.gnu.org/13394
Pádraig Brady [Tue, 22 Jan 2013 01:34:07 +0000 (01:34 +0000)]
cut: fix -f to work with the -d$'\n' edge case
* src/cut.c (cut_fields): Handle the edge case where '\n' is
the delimiter, which could be used for example to suppress
the last line if it doesn't contain a '\n'.
* test/misc/cut.pl: Add tests for this edge case.
Pádraig Brady [Mon, 21 Jan 2013 15:37:37 +0000 (15:37 +0000)]
cut: with -f, process each line independently
Previously line N+1 was inspected before line N was fully output,
which causes output ordering issues at the terminal or delays
from intermittent sources like tail -f.
* src/cut.c (cut_fields): Adjust so that we record the
previous output character so we can use that info to
determine wether to output a '\n' or not.
* tests/misc/cut.pl: Add tests to ensure existing
functionality isn't broken.
* NEWS: Mention the fix.
Fixes bug http://bugs.gnu.org/13498
Paul Eggert [Thu, 24 Jan 2013 03:58:35 +0000 (19:58 -0800)]
build: update gnulib submodule to latest
* bootstrap.conf (gnulib_modules): Add statat.
The fstatat module was split in two, and we need both halves.
Pádraig Brady [Thu, 24 Jan 2013 01:38:17 +0000 (01:38 +0000)]
doc: fix an example in the od man page
* man/od.x: s/-w 16/-w16/ as -w takes an optional
parameter and so the space is significant.
Bernhard Voelker [Wed, 23 Jan 2013 00:26:40 +0000 (01:26 +0100)]
doc: fix order of du options in usage and texinfo manual
* src/du.c (usage): Bring options into alphabetical order.
* doc/coreutils.texi (du invocation): Likewise.
Furthermore, use the @itemx macro for the long options
--max-depth and --threshold instead of @item.
Bernhard Voelker [Wed, 23 Jan 2013 00:03:38 +0000 (01:03 +0100)]
maint: define usage note about mandatory args centrally
Each program with at least one long option which is marked as
'required_argument' and which has also a short option for that
option, should print a note about mandatory arguments.
Define that well-known note centrally and use it rather than
literal printf/fputs, and add it where it was missing.
* src/system.h (emit_mandatory_arg_note): Add new function.
* src/cp.c (usage): Use it rather than literal printf/fputs.
* src/csplit.c, src/cut.c, src/date.c, src/df.c, src/du.c:
* src/expand.c, src/fmt.c, src/fold.c, src/head.c, src/install.c:
* src/kill.c, src/ln.c, src/ls.c, src/mkdir.c, src/mkfifo.c:
* src/mknod.c, src/mv.c, src/nl.c, src/od.c, src/paste.c:
* src/pr.c, src/ptx.c, src/shred.c, src/shuf.c, src/sort.c:
* src/split.c, src/stdbuf.c, src/tac.c, src/tail.c, src/timeout.c:
* src/touch.c, src/truncate.c, src/unexpand.c, src/uniq.c:
Likewise.
* src/base64.c (usage): Add call of the above new function
because at least one long option has a required argument.
* src/basename.c, src/chcon.c, src/date.c, src/env.c:
* src/nice.c, src/runcon.c, src/seq.c, src/stat.c, src/stty.c:
Likewise.
Jakob Truelsen [Mon, 21 Jan 2013 05:29:12 +0000 (06:29 +0100)]
du: add -t SIZE, --threshold=SIZE option
* src/du.c (opt_threshold): Add variable to hold the value of
the --threshold option specified by the user.
(long_options): Add a required_argument entry for the new
--threshold option.
(usage): Add --threshold option.
(process_file): Elide printing the entry if its size does not
meet the value specified by the --threshold option.
(main): In the argument parsing loop, add a case for the new
-t option. Convert the given argument by permitting the
well-known suffixes for megabyte, gigabytes, etc.
Handle the special case "-0": give an error as this value is
not permitted.
* doc/coreutils.texi (du invocation): Add documentation for the
above new option.
* tests/du/threshold.sh: Add new test to exercise the new option.
* tests/local.mk (all_tests): Mention the above test.
Co-authored-by: Bernhard Voelker <mail@bernhard-voelker.de>
Bernhard Voelker [Sun, 20 Jan 2013 22:47:32 +0000 (23:47 +0100)]
tests: remove test case du/slink
This test tried to ensure that not all symlinks (across all
file system types) have Zero size and refers to a change
in system.h from 2002-08-31 (commit SH-UTILS-2_0_15-55-g62808a7).
The test used to do this by working on symlinks to long file
names. This assumption is dependant on the underlying file
system, and in some environments like XEN does not even work
on file systems known to work otherwise.
The test for dereferencing and no-dereferencing symlinks is
already covered by other tests (du/deref.sh, du/deref-args.sh,
and du/no-deref.sh). Therefore, remove it.
* tests/du/slink.sh: Remove file.
* tests/local.mk (all_tests): Remove the above test.
Discussed in:
http://lists.gnu.org/archive/html/coreutils/2013-01/msg00053.html
Bernhard Voelker [Fri, 11 Jan 2013 08:14:22 +0000 (09:14 +0100)]
maint: fix alphabetical order in .gitignore
Since commit v8.20-67-g0f525b6, .gitignore sometimes
showed up as changed because the entries "*.gcda" and
"*.gcno" had not been in alphabetical order.
* .gitignore: Exchange the entries "*.gcda" and "*.gcno".
Benno Schulenberg [Sat, 17 Nov 2012 10:49:21 +0000 (11:49 +0100)]
uptime: gettextize an overlooked string, and normalize another
* src/uptime.c: Add calls to gettext() and select_plural().
Benno Schulenberg [Fri, 4 Jan 2013 21:07:49 +0000 (22:07 +0100)]
doc: make a --help text fragment identical to three others
* src/ln.c (usage): Move a newline to the next text fragment, so
the preceding fragment about backup methods becomes the same as
the ones for cp, mv, and install. A bit easier for translators.
Pádraig Brady [Fri, 4 Jan 2013 18:07:01 +0000 (18:07 +0000)]
factor: apply a more general fix to enable correct assembly
In addition to the previous 64 bit guards we've placed in longlong.h
there are additional _LP64 guards required for mips with -mcpu >= 3,
to avoid a build failure (http://bugs.gnu.org/13353) and on sparc
with -mcpu >= v9 in 32 bit mode where for example,
`factor
2123123123123123123123` would go into an infinite loop.
Since factor.c currently operates on uintmax_t, we restrict the use
of the assembly in longlong.h to when 'long' has the same width, to
provide a more general guard for this code.
* src/factor.c: Restrict the use of longlong.h assembly code,
to when the width of intmax_t == long.
* src/longlong.h: Remove the previous _LP64 guards to avoid
divergence from GMP's longlong.h
* NEWS: Adjust the info on build and runtime fixes.
Paul Eggert [Sun, 6 Jan 2013 15:36:54 +0000 (07:36 -0800)]
doc: sync parse-datetime from gnulib
* doc/coreutils.texi (Top): Sync from gnulib parse-datetime.texi menu.
Karl Berry [Sun, 6 Jan 2013 12:32:22 +0000 (12:32 +0000)]
doc: avoid @sc in texinfo; it is unnecessary
* doc/coreutils.texi: avoid @sc and use explicit capitals.
* doc/local.mk (sc-use-small-caps-NUL): Remove, as no longer applicable.
Karl Berry [Fri, 4 Jan 2013 18:17:55 +0000 (18:17 +0000)]
doc: remove stale pr news in the manual
* coreutils.texi (pr invocation): remove list of ancient news
items; the main documentation already covers what is needed.
Jim Meyering [Tue, 1 Jan 2013 02:54:51 +0000 (03:54 +0100)]
maint: update all copyright year number ranges
Run "make update-copyright", but then also run this,
perl -pi -e 's/2\d\d\d-//' tests/sample-test
to make that one script use the single most recent year number.
Jim Meyering [Tue, 1 Jan 2013 02:54:41 +0000 (03:54 +0100)]
build: update gnulib submodule to latest
Jim Meyering [Sat, 29 Dec 2012 14:30:48 +0000 (15:30 +0100)]
maint: adjust NEWS entry wording
* NEWS: Adjust wording in a few entries.
Pádraig Brady [Thu, 27 Dec 2012 04:14:14 +0000 (04:14 +0000)]
doc: improve od --help and man page
* src/od.c: Redorder the information output by --help
to ease interpretation and so that appropriate sections
are generated by help2man.
* doc/coreutils.texi (od invocation): Fix an incorrect
reference to @var{n}, which should be @var{bytes}.
* man/od.x: Add an "Examples" section, and move the
default od format to there, and add a commonly required
format to generate hexdumps.
Reported by Akim Demaille in http://bugs.gnu.org/13280.
Mike Frysinger [Fri, 7 Dec 2012 20:44:18 +0000 (15:44 -0500)]
factor: disable x86_64 assembly code for x32 builds
The current x86_64 asm code does not work for x32 (__ILP32__) ABIs,
so disable it. Note simply deleting the q suffix is not enough.
* src/longlong.h: Restrict x86_64 assembly to _LP64 targets,
which is consistent with other checks in longlong.h and
avoids this code on x32.
* NEWS: Mention the build fix.
Pádraig Brady [Thu, 20 Dec 2012 00:09:15 +0000 (00:09 +0000)]
tests: avoid false positive valgrind failures
* init.cfg (require_valgrind_): Check the `true` program,
which will check more valgrind failure cases as now
detailed in the function comments.
Pádraig Brady [Wed, 19 Dec 2012 23:58:10 +0000 (23:58 +0000)]
dd: fix a printf format mismatch in an error message
* src/dd.c (dd_copy): To print an off_t portably we need
to use PRIdMAX and cast to intmax_t, otherwise there
could be a mismatch between say a 32 bit off_t
and uintmax_t. This was flagged by -Wformat on
a 64 bit host when compiling with CFLAGS=-m32.
Pádraig Brady [Wed, 19 Dec 2012 19:27:10 +0000 (19:27 +0000)]
seq: fix newline output when -s specified
This regression was introduced in commit v8.19-132-g3786fb6.
* src/seq.c (seq_fast): Don't use puts() to output the first number,
and instead insert it into the buffer as for other numbers.
Also output the terminator unconditionally.
* tests/misc/seq.pl: Add some basic tests for the -s option.
* NEWS: Mention the fix.
* THANKS.in: Reported by Philipp Gortan.
Bernhard Voelker [Thu, 20 Dec 2012 15:38:56 +0000 (16:38 +0100)]
tests: add tests for basename's --zero option
The -z option has been introduced in commit v8.15-60-ga3eb71a,
i.e. in coreutils-8.16. Time to add some tests for it.
* tests/misc/basename.pl: Add tests exercising the -z option.
In the foreach loop to append a newline to the end of each
expected 'OUT' string, skip the -z tests.
Assaf Gordon [Thu, 20 Dec 2012 10:42:22 +0000 (11:42 +0100)]
doc: tweak 'lcov' in HACKING
* HACKING: In the paragraph about creating coverage statistics,
use the correct -b (--base-directory) parameter.
Pádraig Brady [Wed, 19 Dec 2012 11:44:28 +0000 (11:44 +0000)]
maint: rewrap a long line noticed by make syntax-check
* configure.ac: Wrap the recently introduced long line.
Pádraig Brady [Sat, 15 Dec 2012 03:15:38 +0000 (03:15 +0000)]
doc: clarify when dd iflag=fullblock is useful
* doc/coreutils.texi (dd invocation): Explain that iflag=fullblock
ensures that count= will count blocks rather than reads, and
reference that in both the count= and iflag=fullblock descriptions.
Suggested by John Reiser.
Pádraig Brady [Tue, 18 Dec 2012 13:06:15 +0000 (13:06 +0000)]
tests: avoid a race in timeout-group.sh
* tests/misc/timeout-group.sh: The kernel might possibly delay
signal propagation to timeout.cmd long enough, that it exits
normally without running the signal handler (as sleep will
be in the same process group and so get the signal too).
So avoid this by explicitly checking that the signal handler
is called, which should always happen under normal circumstances.
Reported by Stefano Lattarini on linux-2.6.30-2-686 and bash-4.2.36.
Pádraig Brady [Wed, 19 Dec 2012 09:13:21 +0000 (09:13 +0000)]
build: avoid --enable-gcc-warnings on GCC <= 4.5
* configure.ac: Only enable warnings automatically when
on GCC >= 4.6 (and when building from a git checkout)
as that was the first GCC version to support fine-grained
control of warnings, allowing them to be adjusted around
certain code sections. gnulib relies on this for certain
warnings, so avoid auto enabling this option lest we trigger
build failures on now over two year old compilers.
Reported by Zartaj Majeed with GCC 4.5.3 on cygwin.
Zartaj Majeed [Tue, 18 Dec 2012 09:50:50 +0000 (09:50 +0000)]
build: fix cygwin build issues
* doc/local.mk (doc/constants.texi): Ensure the doc directory
is present which is needed when doing a non source dir build,
when the doc/constants.texi target is built before other doc targets.
* src/local.mk: Add $(EXEEXT) to the make-prime-list calls.
Pádraig Brady [Sat, 15 Dec 2012 03:23:06 +0000 (03:23 +0000)]
maint: consistently use @dots{} in coreutils.texi
* doc/coreutils.texi: s/\.\.\./@dots{}/ except in code and examples.
Pádraig Brady [Wed, 12 Dec 2012 19:54:12 +0000 (19:54 +0000)]
readlink: support multiple command line arguments
This allows efficient processing of multiple files,
while also increasing compatibility with BSD's readlink(1).
We also add the -z, --zero option to delimit output items
with the NUL character which disambiguates output in the
presence of '\n' characters.
* src/readlink.c (usage): Add the --zero description,
and also adjust the description of --no-newline accordingly.
(main): Handle the -z option and iterate over multiple arguments.
Also as in commit v8.15-24-g9d46b25 we use fputs() and putchar()
rather than printf() for performance reasons.
* doc/coreutils.texi (readlink invocation): Document the
new --zero option, adjust the --no-newline description, and
tweak the general info to indicate multiple files are supported.
* tests/readlink/multi.sh: A new test for the new functionality.
* tests/local.mk: Reference the new test.
* man/readlink.x: Adjust the summary and also reference realpath.
* NEWS: Mention the improvement.
* THANKS.in: Suggested by Aaron Davies.
Assaf Gordon [Fri, 14 Dec 2012 18:27:26 +0000 (13:27 -0500)]
maint: update gitignore entries
* .gitignore: ignore GCC coverage data files.
Assaf Gordon [Fri, 14 Dec 2012 07:47:17 +0000 (08:47 +0100)]
doc: mention "git stash" in HACKING
* HACKING: In the paragraph about switching branches, mention
"git stash" as a way to continue while preserving uncommitted
changes.
Bernhard Voelker [Fri, 14 Dec 2012 23:13:55 +0000 (00:13 +0100)]
tail,stat: improve support for the ceph file system
Teach tail -f that it must use polling on ceph file systems, and
let stat -f --format=%T report the file system type name, "ceph".
Website: http://ceph.com/
* src/stat.c (human_fstype): Add a case: ceph, 0x00C36400, remote.
* NEWS (Improvements): Mention it.
* THANKS.in: Update.
Reported by Konrad Wróblewski in http://bugs.gnu.org/13172.
Bernhard Voelker [Fri, 14 Dec 2012 09:45:21 +0000 (10:45 +0100)]
maint: fix typos found by misspellings
* doc/coreutils.texi (df invocation): s/occurence/occurrence/.
* tests/df/skip-rootfs.sh: s/supressed/suppressed/
Jim Meyering [Sat, 8 Dec 2012 20:04:14 +0000 (12:04 -0800)]
tests: add test case and note that last week's cut change is a bug fix
* tests/misc/cut-huge-to-eol-range.sh: New test, showing that
the change in v8.20-51-g7d03466 is a bug fix after all.
* tests/local.mk (all_tests): Add it.
* NEWS (Bug fixes): Mention it.
Bernhard Voelker [Sat, 8 Dec 2012 18:09:19 +0000 (19:09 +0100)]
cp: fix --no-preserve=mode to not exit 1
cp --no-preserve=mode exited 1 unconditionally. Furthermore,
the tests which would have detected this error - namely
link-preserve.sh and reserve-mode.sh - failed to test
cp's exit code.
* src/copy.c (copy_reg): In the case x->explicit_no_preserve_mode,
do only set return_val to false iff the previous set_acl ()
failed.
* tests/cp/link-preserve.sh: Check cp's exit code.
* tests/cp/link-symlink.sh: Likewise.
* tests/cp/preserve-mode.sh: Likewise.
* NEWS: Mention the fix.
Bug introduced in commit v8.19-145-g24ebca6.
Reported by Florian Pritz in http://bugs.gnu.org/13119.
Ondrej Oprala [Fri, 7 Dec 2012 20:10:40 +0000 (21:10 +0100)]
df: do not print duplicate entries and rootfs by default
* src/df.c (struct devlist): Add new struct for storing already-
examined device numbers.
(devlist_head): Add new store of the above type.
(show_rootfs): Add new global boolean to not skip rootfs.
(dev_examined): Add new function to check if the device has
already been traversed.
(get_dev): Filter out rootfs unless "-t rootfs" or the -a
option is specified. Filter out duplicate entries by calling
the above new dev_examined unless the -a option is specified.
(main): Set the show_rootfs variable appropriately when the -t
option is specified for rootfs. Free device list (guarded by
IF_LINT).
* tests/df/skip-duplicates.sh: Add test to exercise the skipping
of duplicate entries.
* tests/df/skip-rootfs.sh: Add test to exercise the skipping
of the rootfs pseudo file system.
* tests/local.mk: Add the above new tests.
* NEWS (Changes in behavior): Mention the changes.
* doc/coreutils.texi (df invocation): Document df's behavior about
skipping rootfs and duplicate entries.
Co-authored-by: Bernhard Voelker.
Cojocaru Alexandru [Thu, 6 Dec 2012 02:03:41 +0000 (03:03 +0100)]
cut: avoid a redundant heap allocation
* src/cut.c (set_fields): Don't allocate memory for
`printable_field' if there are no finite ranges.
This is achieved by keeping max_range_endpoint as 0 when
there are no finite ranges. max_range_endpoint is then
used throughout the code to guard against allocation of,
and access to the bit array.
The extra allocation was introduced via commit v8.10-3-g2e636af.
Pádraig Brady [Thu, 6 Dec 2012 16:51:41 +0000 (16:51 +0000)]
maint: fix a referenced coreutils version in a test comment
* tests/misc/cut.pl: This particular bug existed up to v8.10.
Bernhard Voelker [Thu, 6 Dec 2012 09:11:42 +0000 (10:11 +0100)]
tests: fix regex to match "-" in ipcent field in df/total-verify.sh
The regular expression failed to match for file systems that
do not provide inode statistics, e.g. VFAT or CIFS (depending
on the underlying peer file system).
* tests/df/total-verify.sh: Fix the regular expression to match
a dash in the ipcent field again.
Reported by Assaf Gordon in http://bugs.gnu.org/13099.
Bug introduced in commit v8.20-18-gdae8d22.