12010-01-13 Jim Meyering <meyering@redhat.com> 2 3 version 8.4 4 * NEWS: Record release date. 5 62010-01-13 Pádraig Brady <P@draigBrady.com> 7 8 tests: avoid spurious failures on older shells 9 * tests/tail-2/inotify-hash-abuse: Use kill rather than wait 10 to determine if the tail process is still running. 11 * tests/tail-2/inotify-hash-abuse2: Ditto. 12 132010-01-13 Jim Meyering <meyering@redhat.com> 14 15 tests: work around spurious test failure with OpenBSD4.5's /bin/sh 16 * tests/ls/infloop: OpenBSD4.5's /bin/sh would mistakenly include 17 "set -x"-output in an application's stderr stream when stderr is 18 redirected before stdout. This was causing one spurious test failure. 19 The work-around: redirect stdout first. 20 Reported by Nelson Beebe. 21 22 tests: don't silently skip the sort-version tests 23 * tests/misc/sort-version: Don't use <<- and indented here-doc contents. 24 s/<<-/<</ and unindent the here-document contents. Otherwise, 25 bash would ignore the indented delimiter and use EOF, thus silently 26 skipping this test. OpenBSD5.4's shell reported the failure: 27 $ printf 'cat<<-x\n foo\n x\n'|sh 28 sh: <stdin>[4]: here document `x' unclosed 29 [Exit 1] 30 by contrast, bash warns but still exits successfully: 31 $ printf 'cat<<-x\n foo\n x\n'|bash && echo you lose 32 bash: line 3: warning: here-document at line 1 delimited by \ 33 end-of-file (wanted `x') 34 foo 35 x 36 you lose 37 382010-01-12 Eric Blake <ebb9@byu.net> 39 40 tests: avoid spurious failure on old kernel 41 * tests/touch/no-dereference: Skip test if utimensat doesn't 42 support symlinks. 43 Reported by Bernhard Voelker. 44 452010-01-12 Pádraig Brady <P@draigBrady.com> 46 47 maint: update info about getting the prerequisite automake 48 * README-prereq: Now that we require automake-1.11.1 49 update the instructions from getting it from the git repo 50 51 maint: remove an already handled item from TODO 52 * TODO: The question regarding printf octal escapes is answered in 53 commit 4bcefa62, 2003-04-21, "Fix printf POSIX compatibility bug ..." 54 55 maint: fix tests on solaris by using /usr/xpg4/bin 56 * tests/check.mk: Prepend /usr/xpg4/bin to the $PATH if present. 57 Using the more standard utilities allows tests such as misc/printenv, 58 which uses the -E option to grep, to complete. 59 602010-01-12 Jim Meyering <meyering@redhat.com> 61 62 build: update gnulib, to get fixed getlogin-related tests 63 64 build: fix build failure due to missing libxattr 65 Configure is supposed to detect insufficient XATTR support. 66 However, if a system has the required headers, but no library, 67 the configure script would mistakenly enable USE_XATTR. 68 * m4/xattr.m4 (gl_FUNC_XATTR): If the attr_copy_file function 69 is not found, don't set USE_XATTR. 70 Nelson Beebe reported a link failure on RHEL 5.3. 71 Also, do not let the combination of --disable-xattr and 72 a stray LIB_XATTR environment setting perturb the build. 73 * NEWS (Build-related): Mention it. 74 75 doc: mention the wchar.h vs. glibc build problem 76 * NEWS (Build-related): Mention the wchar.h issue. 77 782010-01-12 Pádraig Brady <P@draigBrady.com> 79 80 nproc: return a possibly more accurate total CPU count 81 * gnulib: Update, for num_processors() improvement. 82 * NEWS: Mention the fix. 83 842010-01-12 Kamil Dudka <kdudka@redhat.com> 85 86 ls: reorder includes to work around broken <sys/capability.h> 87 * src/ls.c: Include <sys/capability.h> later, to avoid build 88 failure with a header from libcap-2.16-1 or earlier. 89 See http://bugzilla.redhat.com/483548 for details. 90 912010-01-08 Eric Blake <ebb9@byu.net> 92 93 maint: move coreutils specific rule into cfg.mk 94 * gnulib: Update, for maint.mk improvement. 95 * cfg.mk (_makefile_at_at_check_excpetions): New rule, needed 96 for latest change to maint.mk. 97 982010-01-07 Jim Meyering <meyering@redhat.com> 99 100 post-release administrivia 101 * NEWS: Add header line for next release. 102 * .prev-version: Record previous version. 103 * cfg.mk (old_NEWS_hash): Auto-update. 104 105 version 8.3 106 * NEWS: Record release date. 107 108 maint: change an email address in THANKS 109 * THANKS: Adjust Denis' address. 110 1112010-01-07 Eric Blake <ebb9@byu.net> 112 113 pr: ensure the page header line is of the required format 114 Before this change, with too long a file name, the name would 115 abut the date field on the left and possibly also the "Page N" 116 field on the right, rather than leaving a one-space separator 117 in each case. Fixes a regression introduced on Mar 6 2009, 118 by commit a4053c5291d5797734b3e4f042f9e1adf3944fd6 119 120 * src/pr.c (print_header): Ensure that there is at least one 121 space before and after the file name part of the header line. 122 * NEWS: Mention it. 123 * tests/pr/W20l24f-ll: s/xPage/ x Page/. 124 * THANKS: Update. 125 Reported by Denis McKeon, in https://savannah.gnu.org/bugs/?28492. 126 127 maint: apply correct license to auxiliary files 128 * gnulib: Update, for maint.mk improvements. 129 * HACKING: Use GFDL 1.3, not 1.2. 130 * NEWS: Likewise. 131 * README: Likewise. 132 * cfg.mk (old_NEWS_hash): Update accordingly. 133 * .gitignore: Ignore file created by 'make update-NEWS-hash'. 134 1352010-01-06 Jim Meyering <meyering@redhat.com> 136 137 build: require newer versions of automake and autoconf 138 * configure.ac: Require autoconf-2.62 and automake-1.11.1 or newer. 139 * bootstrap.conf (buildreq): Require automake-1.11.1 or newer, 140 to ensure people use a version with the fix for CVE-2009-4029. 141 Note that the coreutils-8.2 tarball included a fixed Makefile.in. 142 Require autoconf-2.62, per automake. 143 1442010-01-06 Eric Blake <ebb9@byu.net> 145 146 cp, touch: avoid problem with new glibc 147 * gnulib: Update, for utimens fix. 148 * NEWS: Mention the fix. 149 Reported by Guillaume Ayoub in http://bugs.debian.org/563726. 150 See also http://bugzilla.redhat.com/552320. 151 1522010-01-05 Philip Rowlands <phr@doc.ic.ac.uk> 153 154 doc: fix typo in NEWS 155 * NEWS: Fix typo: s/repeated/repeatedly/ 156 1572010-01-05 Jim Meyering <meyering@redhat.com> 158 159 build: update gnulib submodule to latest 160 161 maint: always free a buffer, to avoid even semblance of a leak 162 * src/tac.c (main): Free the input buffer in most cases. 163 1642010-01-04 Jim Meyering <meyering@redhat.com> 165 166 maint: use more readable operator: "||" rather than "|" 167 * src/cp.c (make_dir_parents_private): Use "||" rather than "|", 168 so that clang understands there is no undefined pointer dereference. 169 1702010-01-03 Jim Meyering <meyering@redhat.com> 171 172 maint: record update-copyright options for this package 173 * cfg.mk: Next time, just run "make update-copyright". 174 1752010-01-01 Eric Blake <ebb9@byu.net> 176 177 ls: fix color of broken symlinks colored as target 178 * src/ls.c (print_color_indicator): When using 'LINK target' in 179 dircolors, treat broken symlink as C_ORPHAN. 180 * tests/misc/ls-misc (sl-dangle2, sl-dangle3, sl-dangle4) 181 (sl-dangle5): Test for it, and add more coverage. 182 * NEWS: Document it. 183 * THANKS: Update. 184 Reported by Chris Jones. 185 1862010-01-01 Jim Meyering <meyering@redhat.com> 187 188 df: use fputs in place of printf in a few more places 189 * src/df.c (print_header): Use fputs rather than printf in more places. 190 Suggested by Eric Blake. 191 192 build: update gnulib submodule to latest 193 194 maint: add a few copyrights; remove obsolete README file 195 * tests/README: Remove long-obsolete file. 196 * tests/Makefile.am (EXTRA_DIST): Remove README. 197 * tests/misc/truncate-dir-fail: Add copyright comment. 198 * tests/misc/selinux: Likewise. 199 * tests/misc/chcon: Likewise. 200 * tests/misc/chcon-fail: Likewise. 201 * tests/sample-test: Use only 2010 in this list. 202 203 maint: update all FSF copyright year lists to include 2010 204 Use this command: 205 git ls-files | grep -v COPYING \ 206 | xargs env UPDATE_COPYRIGHT_USE_INTERVALS=1 \ 207 build-aux/update-copyright 208 2092010-01-01 Stéphane Raimbault <stephane.raimbault@makina-corpus.com> 210 211 pr --help: add missing space between short and long options usage message 212 * src/pr.c (usage): Add missing space. 213 214 pr --help: improve a line-break 215 * src/pr.c (usage): Move the newline character a bit farther. 216 217 df: add comments to help translators align column headers 218 * src/df.c (print_header): Add a comment telling translators to 219 retain the message length, and another to align header translations. 220 2212009-12-31 Jim Meyering <meyering@redhat.com> 222 223 maint: newer gnulib; don't hard-code my GPG key ID 224 * cfg.mk (gpg_key_ID): Remove definition, now that maint.mk automates it. 225 * gnulib: Update to latest. 226 227 doc: update tail's documentation to allow for new -F semantics 228 * src/tail.c (usage): Reword tail -F description, so that it no 229 longer mentions details specific to the non-inotify implementation. 230 Also, join diagnostic strings (while staying under the 509-byte limit) 231 to ease formatting of translations. The latter was prompted by 232 a report from Stéphane Raimbault. 233 * doc/coreutils.texi (tail invocation): Update description here, too. 234 2352009-12-31 Eric Blake <ebb9@byu.net> 236 237 touch: work around ntfs-3g bug 238 * gnulib: Update, for utimensat fix. 239 * NEWS: Improve wording about touch fixes. 240 * THANKS: Update. 241 Reported by Stuart Citrin. 242 2432009-12-30 Jim Meyering <meyering@redhat.com> 244 245 build: update gnulib submodule to latest 246 247 doc: mention two tail -F bug fixes in NEWS 248 * NEWS (Bug fixes): Two tail -F fixes. 249 250 tail: test for a bug in inotify-enabled tail -F 251 tail -F a b would stop tracking additions to b after "mv a b". 252 * tests/tail-2/F-vs-rename: New file. 253 * tests/Makefile.am (TESTS): Add it. 254 2552009-12-30 Giuseppe Scrivano <gscrivano@gnu.org> 256 257 tail -F: don't stop following the target of a rename 258 This fixes a bug whereby tail -F would fail to track changes 259 to a file that was a target of a rename, and when the source of 260 the rename was another tailed file. 261 262 * src/tail.c (tail_forever_inotify): Ensure the wd is not already 263 present in the hash table before trying to add it. When a new watch 264 descriptor is added to the `wd_to_name' hash table, check that it is 265 not already present. If it is present then remove the previous element. 266 2672009-12-30 Pádraig Brady <P@draigBrady.com> 268 269 maint: improve the info about $PATH in README-prereq 270 * README-prereq: It wasn't obvious that the $PATH should 271 be set before building any of the prerequisite packages, 272 so move that information up. 273 2742009-12-29 Jim Meyering <meyering@redhat.com> 275 276 tail: add another test to exercise abort-inducing flaw in tail -F 277 * tests/tail-2/inotify-hash-abuse2: New test, based on a reproducer 278 by Rob Wortman. 279 * tests/Makefile.am (TESTS): Add it. 280 281 tail: add a test to exercise abort-inducing flaw in tail -F 282 * tests/tail-2/inotify-hash-abuse: New file, derived from 283 a report by Rob Wortman. 284 * tests/Makefile.am (TESTS): Add it. 285 Improved by: Pádraig Brady. 286 2872009-12-29 Giuseppe Scrivano <gscrivano@gnu.org> 288 289 tail: remove `fdspec' from the hash table before changing its key 290 * src/tail.c (tail_forever_inotify): Avoid modifying fdspec->wd while 291 it is in the wd_to_name hash table. Once it is removed, it can be 292 added using the new `wd' as key for the hash table. This fixes the 293 abort-inducing bug reported by Rob Wortman in 294 http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/19372 295 2962009-12-29 Jim Meyering <meyering@redhat.com> 297 298 maint: quiet "make" in doc/ 299 * doc/Makefile.am (constants.texi): Add a use of AM_V_GEN. 300 301 tail: rename an internal variable 302 * src/tail.c (tail_forever_inotify): s/wd_table/wd_to_name/ 303 304 tail: avoid read-beyond-end-of-buffer error 305 * src/tail.c (tail_forever_inotify): Do not use f[i] in a context 306 where i may be larger than the largest valid index. In the final 307 "if" clause in which we'd remove an inotify watch, we might have 308 used f[n_files]. Use fspec instead, since it is guaranteed to 309 be defined. 310 3112009-12-26 Eric Blake <ebb9@byu.net> 312 313 maint: ignore more built files 314 Recent gnulib changes added new built files. 315 316 * .gitignore: Add arg-nonnull.h, link-warning.h, 317 unused-parameter.h. 318 319 tac: supply link dependency 320 * src/Makefile.am (tac_LDADD): Add LIB_GETHRXTIME. 321 * THANKS: Update. 322 Reported by Robert Schwebel. 323 3242009-12-26 Jim Meyering <meyering@redhat.com> 325 326 build: update gnulib submodule to latest 327 328 tail: shrink internal struct by 8 bytes 329 * tail.c (struct File_spec): Rearrange struct members to decrease 330 size by 8 bytes to 76,96 on i686,x86_64 respectively. 331 3322009-12-25 Jim Meyering <meyering@redhat.com> 333 334 maint: tail: avoid in-function #if directives 335 * src/tail.c (fremote): Add a comment. 336 Move definition "up" to precede first use, so we can 337 remove its prototype and the #if..#endif around each use. 338 (any_remote_file): Rename from any_remote_files. 339 3402009-12-25 Pádraig Brady <P@draigBrady.com> 341 342 tail: fix --follow to not use inotify on remote files 343 * src/tail.c (struct File_spec): Add a flag to record if file is remote. 344 (recheck): If we're using inotify then check if the file has gone remote 345 and if so, drop it with a warning. 346 (any_remote_files): A new function to check for any open remote files. 347 (tailable_stdin): A new function to refactor the check for whether 348 a tailable file was specified through stdin. 349 (fremote): A new function to check if a file descriptor 350 refers to a remote file. 351 (tail_forever_inotify): Add some comments. 352 (tail_file): Record if a file is remote when initially opened. 353 (main): Disable inotify if any remote files specified. 354 Also document the caveat about remounted files not 355 being noticed by inotify. 356 * NEWS: Mention the fix. 357 3582009-12-23 Pádraig Brady <P@draigBrady.com> 359 360 wc: line-buffer the printed counts 361 * src/wc.c (main): Set stdout to line buffered mode 362 to ensure parallel running instances don't intersperse 363 their output. This adds 6.5% to the run time in the worst case 364 of many zero length files, but has neglible impact for 365 standard sized files. 366 * tests/misc/wc-parallel: New test for atomic output. 367 * tests/Makefile.am: Reference it. 368 * NEWS: Mention the fix 369 This is similar to commit 710fe413, 20-10-2009, 370 "md5sum, sha*sum, sum: line-buffer the printed checksums" 371 3722009-12-22 Pádraig Brady <P@draigBrady.com> 373 374 stat: Recognize k-afs, gfs, ocfs2 file system types 375 * src/stat.c (human_fstype): Add k-afs, gfs/gfs2 and ocfs2. 376 * NEWS: Update the stat -f entry. 377 378 stat: add support for more file system types 379 * src/stat.c (human_fstype): Add the following FS types: 380 fuseblk, rpc_pipefs. Also fix a typo of minux3 to minix3, 381 and mention the fs-magic-compare make target to help update the list. 382 * NEWS: Mention the fix. 383 3842009-12-20 Jim Meyering <meyering@redhat.com> 385 386 build: correct coreutils-specific distcheck rules 387 * dist-check.mk (built_programs): Use $(bin_PROGRAMS), not $(PROGRAMS). 388 Otherwise, my-instcheck would fail due to non-installation of e.g., 389 the noinst_PROGRAMS, setuidgid and getlimits. 390 (taint-distcheck): Correct the grep command that checks for libtool 391 traces in configure. 392 3932009-12-20 Eric Blake <ebb9@byu.net> 394 395 touch: fix ctime regression in 'touch -a' 396 Regression introduced in coreutils 8.1 due to a bug in the Linux 397 kernel implementation of utimensat with mtime of UTIME_OMIT. 398 399 * gnulib: Update to latest, to pick up utimensat fix. 400 * NEWS: Mention the change. 401 * THANKS: Update. 402 Reported by John Stanley. 403 4042009-12-19 Pádraig Brady <P@draigBrady.com> 405 406 maint: don't include the strverscmp gnulib module 407 * bootstrap.conf (gnulib_modules): Remove the strverscmp module 408 which is not used since commit e505736f, on 03-10-2008, 409 "ls and sort: use filevercmp instead of strverscmp" 410 411 doc: enhance and reference info about version comparison 412 * doc/coreutils.texi (sort invocation): Reference the additional 413 info about filevercmp rather than the unused strverscmp. 414 (Details about version sort): Add some examples that are not 415 handled well by fileversmp. 416 * src/ls.c: Change a comment referencing the now unused strverscmp. 417 418 rm: fix --one-file-system regression due to fts conversion 419 * src/remove.c (rm_fts): Fix incorrect comparison of 420 device and inode numbers. 421 * tests/rm/one-file-system2: Add a separate test so 422 that it can be run as a normal user (It doesn't need to mount). 423 * tests/Makefile.am: Reference it. 424 * NEWS: Mention the fix. 425 Reported by Jan Larres. 426 4272009-12-14 Jim Meyering <meyering@redhat.com> 428 429 maint: improve dist-check.mk rules 430 * dist-check.mk (null_AM_MAKEFLAGS): Remove LIBTOOL. Adding it was 431 erroneous, since it is required when building from a distribution 432 tarball of a libtool-using project. Reported by Ralf Wildenhues. 433 (my-distcheck): Reorganize to use a subshell and set -e, so that 434 failures propagate "out". Without this change, setting LIBTOOL=false 435 would cause a failure that would then be ignored, probably due to a 436 problem in $(install-transform-check). 437 4382009-12-14 Thiago Farina <tfransosi@gmail.com> 439 440 base64: use *_OPTION_DESCRIPTION macros instead of hard-coded strings 441 * src/base64 (usage): Use HELP_OPTION_DESCRIPTION and 442 VERSION_OPTION_DESCRIPTION macros, not literal strings. 443 4442009-12-13 Jim Meyering <meyering@redhat.com> 445 446 tests: unpack xz-compressed tarballs when possible, not always *.gz 447 * dist-check.mk: Unpack compressed tarball using xz when possible, 448 since that's faster. 449 450 maint: make dist-check.mk more easily shared 451 * dist-check.mk (built_programs): More generic, but still assumes src/. 452 Don't set GZIP in environment when untarring. 453 (my-distcheck): Use $(DIST_ARCHIVES), rather than assuming that 454 there is always a .tar.gz file. 455 456 nohup: if fd_repoen fails (redirecting stdin), report it 457 * src/nohup.c (main): Don't ignore fd_reopen failure. 458 459 tests: make the taint-distcheck rule easier to share with other projects 460 * dist-check.mk (taint-distcheck): Skip this test in a project 461 that uses libtool. 462 463 stat: recognize "sockfs" file system type, ... 464 ... now that its magic number appears in <linux/magic.h>. 465 * src/stat.c (human_fstype) [S_MAGIC_SOCKFS]: Add case. 466 467 maint: move definitions from maint.mk to dist-check.mk 468 * dist-check.mk (null_AM_MAKEFLAGS): Define here, not in maint.mk. 469 (built_programs): Likewise. 470 (my-distcheck): Move comments to... 471 (coreutils-path-check): ...the code they refer to. 472 Remove obsolete comments. 473 (null_AM_MAKEFLAGS): Add gperf, even though it's not used here. 474 * gnulib: Update to latest, for fixed maint.mk. 475 4762009-12-12 Jim Meyering <meyering@redhat.com> 477 478 tests: tail-without-inotify: avoid spurious test failure 479 * tests/tail-2/wait: Account for the possibility that the kernel 480 lacks inotify support. Reported by Chris Clayton. 481 482 factor: add a missing va_end 483 * src/factor.c (debug): Add missing va_end. 484 4852009-12-11 Jim Meyering <meyering@redhat.com> 486 487 build: update gnulib submodule to latest; adapt a patch 488 * gl/lib/tempname.c.diff: Adjust patch to apply to gnulib, now that 489 most TABs in indentation have been converted to spaces by running 490 this command: f=tempname.c.diff; patch-xform $f > k && mv k $f 491 492 post-release administrivia 493 * NEWS: Add header line for next release. 494 * .prev-version: Record previous version. 495 * cfg.mk (old_NEWS_hash): Auto-update. 496 497 version 8.2 498 * NEWS: Record release date. 499 500 tests: use a slightly better CU_TEST_NAME setting 501 * tests/check.mk (CU_TEST_NAME): Better test names. 502 503 tail: don't call fstat on an uninitialized FD 504 This bug showed up via valgrind as a "Conditional jump or move 505 depends on uninitialized value(s)" error. 506 * src/tail.c (ignore_fifo_and_pipe): New function. 507 (main): Use it only when tailing forever. 508 The code to compute n_viable and mark some F[i] as ignored would call 509 isapipe on an uninitialized file descriptor. But n_viable and those 510 .ignored marks are useful/used only when tailing forever. This bug 511 was introduced via commit f0ff8c73 (7.6), "tail: make the new 512 piped-stdin test as portable as the old one". 513 * NEWS (Bug fixes): Mention it. 514 515 doc: NEWS: mention that gnulib's mgetgroups fix affects id 516 * NEWS (Bug fixes): Mention the "id" bug fix inherited via this gnulib 517 change: "mgetgroups: do not write bytes beyond end of malloc'd buffer" 518 http://git.sv.gnu.org/cgit/gnulib.git/commit/?id=51d5e813e9ee6cf23 519 5202009-12-10 Jim Meyering <meyering@redhat.com> 521 522 build: update gnulib submodule to latest 523 524 tests: avoid spurious failure when run via valgrind 525 * tests/misc/printenv: Ignore LD_PRELOAD differences. 526 5272009-12-09 Jim Meyering <meyering@redhat.com> 528 529 doc: NEWS: the "make distcheck" vulnerability dates back to 5.0 530 * NEWS (Bug fixes): Correct the introduced-in version number. 531 This was introduced on 2003-04-02 by commit 722a49ea. 532 533 doc: NEWS: mention the "make distcheck" vulnerability 534 * NEWS (Bug fixes): Mention implications of the "make distcheck" change. 535 This was introduced on 2008-07-22 by commit 9bb0d576, "tests: ensure 536 "make check" w/tainted build dir no longer impacts $HOME". 537 538 tests: don't let "umask 077" cause root-only cp/preserve-gid failure 539 * tests/cp/preserve-gid: Use working_umask_or_skip_ to set umask to 022. 540 5412009-12-08 Jim Meyering <meyering@redhat.com> 542 543 build: update gnulib submodule to latest 544 5452009-12-08 Pádraig Brady <P@draigBrady.com> 546 547 maint: remove an erroneous comment 548 * tests/misc/timeout: Remove an erroneous comment 549 introduced through copy and paste. 550 551 sort: fix failure if sort's parent has ignored SIGCHLD 552 * src/sort.c (main): Reset the SIGCHLD handler to the default 553 as otherwise wait() could return an error. 554 * tests/misc/sort-compress: Set the CHLD handler in a subshell 555 to SIG_IGN to ensure the sort command resets it to SIG_DFL. 556 * NEWS: Mention the fix. 557 558 timeout: fix failure if timeout's parent has ignored SIGCHLD 559 * src/timeout.c (main): Reset the SIGCHLD handler to the default 560 as otherwise wait() could return -1 and set errno to ECHILD. 561 This condition was ignored until commit 0b1dcf33, on 31-08-2009, 562 "timeout: defensive handling of all wait() errors" 563 but subsequently timeout would run the command correctly 564 but then fail with an error message. 565 * tests/misc/timeout: In a subshell set the CHLD handler to 566 SIG_IGN to ensure the timeout command resets it to SIG_DFL. 567 * NEWS: Mention the fix. 568 569 tests: fix stty-row-col failure on small fixed terminals 570 * tests/misc/stty-row-col: Linux virtual consoles at least, 571 issue an error if you try to increase their size, so skip the 572 test if we can't increase the dimensions of the tty by 1 cell. 573 Reported by Matthew Burgess. 574 575 tests: fix stty failure with serial control settings 576 * tests/misc/stty: Don't check the serial control settings as 577 these are ignored by various Linux kernels. 578 Reported by Matthew Burgess. 579 5802009-12-07 Jim Meyering <meyering@redhat.com> 581 582 build: update gnulib submodule to latest 583 584 build: distcheck: do not leave a $TMPDIR/coreutils directory behind 585 * dist-check.mk (tmpdir): Rename from TMPDIR. Use ./tests/torture 586 unconditionally, rather than $TMPDIR-with-default-to-/tmp. 587 Otherwise, running "make distcheck" could leave an empty /tmp/coreutils 588 directory behind. 589 (tp): Simplify, now that it's always in the build-dir. 590 (taint-distcheck): Set HOME earlier, in case $(MAKE) misbehaves. 591 (my-instcheck, coreutils-path-check): Add diagnostics, so it's easier 592 to diagnose when each runs. 593 (coreutils-path-check): Run configure with --quiet, to reduce output. 594 Inspired by Ralf Wildenhues' report of /tmp/coreutils being left behind. 595 5962009-12-06 Jim Meyering <meyering@redhat.com> 597 598 tests: readdir-mountpoint-inode avoid false-positive w/virtualbox 599 * tests/ls/readdir-mountpoint-inode: With some systems, stat can 600 succeed on a mount point and report that the inode number is 0. 601 Since ls displays "?" for those, that would otherwise show up as a 602 difference. Skip such mount points. Reported by Sergei Steshenko 603 in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/19142 604 6052009-12-06 Pádraig Brady <P@draigBrady.com> 606 607 tests: don't run tail-2/inotify-race by default 608 * tests/tail-2/inotify-race: Note the caveats of the test. 609 I.E. the intermittent skips and the gdb hang reported 610 by Alan Curry. Add extra info to the log on why the test 611 is skipped as it may be due to multiple reasons. Mark 612 the test as very expensive so that it's not normally run. 613 6142009-12-05 Eric Blake <ebb9@byu.net> 615 616 id: handle systems without getgroups support 617 If getgroups failed with ENOSYS, mgetgroups would unnecessarily 618 fail, and that provoked id into freeing an uninitialized pointer. 619 Meanwhile, we were not using xalloc_die properly. Both issues 620 are better solved in gnulib, by introducing xgetgroups; this 621 patch uses the new interface. 622 623 Regression introduced by commit 6a31fd8d7. 624 625 * gnulib: Update, for mgetgroups improvments. 626 * src/id.c (print_full_info): Adjust caller to die on allocation 627 failure, and no longer worry about ENOSYS. 628 * src/group-list.c (print_group_list): Likewise. 629 * src/setuidgid.c (main): Likewise. 630 * NEWS: Mention the fix. 631 * THANKS: Update. 632 Reported by Scott Harrison. 633 6342009-12-03 Jim Meyering <meyering@redhat.com> 635 636 tests: fix a bug in sanitize_path_ that inhibited verbose output 637 * tests/test-lib.sh (sanitize_path_): Use "set -- ...", not "set - ...", 638 since the latter turns off the -x setting we rely on for VERBOSE=yes 639 output. 640 6412009-12-01 Eric Blake <ebb9@byu.net> 642 643 sort: fix link failure on Solaris 644 Commit f9d0bb8481 made sort depend on xnanosleep. 645 646 * src/Makefile.am (sort_LDADD): Add LIB_NANOSLEEP. 647 6482009-12-01 Jim Meyering <meyering@redhat.com> 649 650 rm: fix empty-name bug introduced with conversion to use fts 651 While "rm ''" would properly fail, "rm F1 '' F2" would fail 652 to remove F1 and F2, due to the empty string argument. 653 This bug was introduced on 2009-07-12, via commit 4f73ecaf, 654 "rm: rewrite to use fts". 655 * gnulib: Update to latest, for fixed fts.c. 656 * NEWS (Bug fixes): Describe it. 657 * tests/rm/empty-name: Adjust for changed diagnostic. 658 (mk_file): Define, copied from misc/ls-misc. 659 (empty-name-2): New test, for today's fix. 660 * lib/xfts.c (xfts_open): Reflect the change in fts_open, now that 661 it no longer fails immediately when one argument is the empty string. 662 Assert that the bit flags were not the cause of failure. 663 * po/POTFILES.in: Remove xfts.c. 664 * THANKS: Update. 665 Reported by Ladislav Hagara. 666 6672009-11-30 Pádraig Brady <P@draigBrady.com> 668 669 bootstrap: fix handling of various perl --version formats 670 * bootstrap (get_version): Don't use perl's $] special 671 variable, as that requires updating all bootstrap.conf files to 672 use perl's x.yyyzzz version format. Instead make the regular 673 expression more general to support version formats from older 674 perl-5.005_002 (5.5.2) and perl-5.11 which has other numbers 675 in the version line. 676 6772009-11-29 Jim Meyering <meyering@redhat.com> 678 679 bootstrap: update from gnulib, for perl-5.11.x support 680 * bootstrap (get_version): Handle perl separately, 681 since perl-5.11's --version output is different. 682 683 build: update gnulib submodule to latest 684 6852009-11-28 Jim Meyering <meyering@redhat.com> 686 687 maint: chown.c: remove a comment 688 * src/chown.c: Remove old spec-like comment. 689 6902009-11-24 Eric Blake <ebb9@byu.net> 691 692 tests: fix link failure on cygwin 693 Counterpart to commit 8fe40b84bd8, since test-link.c uses rename, 694 and we override gnulib with a rename() replacement that can xalloc_die. 695 696 * gl/modules/link-tests.diff: New file. 697 698 build: fix link failure on cygwin 699 Cygwin 1.5 has a broken sleep, and the gnulib tests dragged in 700 rpl_sleep which then caused a link failure because it wasn't in 701 libcoreutils.a. We could solve it by using the gnulib sleep module. 702 However, sleep and usleep may interact poorly with SIGALRM, and they 703 have less granularity; so it is better to adopt a policy that if we 704 must sleep, prefer xnanosleep. 705 706 * src/sort.c (pipe_fork): Use xnanosleep, to avoid the need for 707 rpl_sleep on cygwin, and to reduce granularity. 708 (MAX_FORK_TRIES_COMPRESS, MAX_FORK_TRIES_DECOMPRESS): Increase, 709 to account for reduction in granularity. 710 * src/tail.c (tail_file): Use xnanosleep in debug code. 711 * cfg.mk (sc_prohibit_sleep): New rule. 712 7132009-11-23 Jim Meyering <meyering@redhat.com> 714 715 tests: avoid test failures when PATH contains an unsearchable directory 716 * tests/test-lib.sh (sanitize_path_): New function. 717 Always call it. 718 7192009-11-22 Dmitry V. Levin <ldv@altlinux.org> 720 721 tests: do not fail on read-only root file system 722 * tests/touch/not-owner: Handle the case when the root file system is 723 mounted read-only. 724 Reported by Solar Designer. 725 7262009-11-20 Jim Meyering <meyering@redhat.com> 727 728 maint: cfg.mk: remove factored-out ftp host/dir definitions 729 * cfg.mk (gnu_ftp_host-alpha, gnu_ftp_host-beta gnu_ftp_host-stable): 730 (gnu_rel_host, url_dir_list): Remove definitions. The defaults, 731 now provided by maint.mk, are the same. 732 * gnulib: Update for latest, including those maint.mk additions. 733 734 maint: correct comments in test scripts 735 * tests/misc/pwd-long: Fix spelling of cygwin1.dll in comment. 736 * tests/rm/fail-eperm: Likewise. 737 Reported by Eric Blake. 738 739 maint: don't list "warnings" module explicitly 740 * bootstrap.conf (gnulib_modules): Remove "warnings", now that 741 it's pulled in automatically via "manywarnings". 742 743 maint: move xfreopen module to gnulib 744 * gl/lib/xfreopen.c: Remove file. 745 * gl/lib/xfreopen.h: Likewise. 746 * gl/modules/xfreopen: Likewise. 747 748 build: update gnulib submodule to latest 749 7502009-11-19 Jim Meyering <meyering@redhat.com> 751 752 tests: avoid spurious failures due to insecure directory in PATH 753 These tests perform no PATH search, and used to simply delete PATH from 754 the environment. However, that is not portable, as seen on Cygwin, 755 where cygwin.dll must be resolvable via PATH when starting a sub-shell. 756 With commit 0cc04241, we took the alternate approach of untainting the 757 incoming $ENV{PATH}, but that fails when it contains an other-writable 758 directory. Instead, now we hard code it to '/bin:/usr/bin'. 759 760 * tests/misc/pwd-long: Hard code $ENV{PATH} to a safe value. 761 * tests/rm/fail-eperm: Likewise. 762 Reported by Gilles Espinasse, Andreas Schwab, and Bauke Jan Douma. 763 7642009-11-18 Jim Meyering <meyering@redhat.com> 765 766 build: "make stable" emitted an invalid gnupload command 767 * cfg.mk (gnu_ftp_host-stable): Rename from gnu_ftp_host-major. 768 * README-release: Change another s/major/stable/. 769 770 post-release administrivia 771 * NEWS: Add header line for next release. 772 * .prev-version: Record previous version. 773 * cfg.mk (old_NEWS_hash): Auto-update. 774 775 version 8.1 776 * NEWS: Record release date. 777 778 build: update gnulib for Solaris utimens workaround 779 780 build: update gnulib submodule to latest 781 7822009-11-17 Jim Meyering <meyering@redhat.com> 783 784 maint: remove local gnulib-related patches 785 * gl/lib/printf-args.c.diff: Remove file. No longer needed. 786 * gl/lib/vasnprintf.c.diff: Likewise. 787 788 build: update gnulib for Solaris 10 unsetenv work-around 789 790 doc: mention the du/fts vs. NFSv4 mount-point work-around 791 * NEWS (Changes in behavior): Mention it. 792 793 build: update from gnulib for (un)setenv fixes 794 7952009-11-16 Jim Meyering <meyering@redhat.com> 796 797 build: update gnulib submodule to latest 798 799 true, false: perform initialization only when argc == 2 800 * src/true.c (main): There is no reason to examine argv[0], 801 call atexit, etc., in the usual case in which we're about to exit. 802 This has the side effect of making it so that these programs 803 no longer segfault when subjected to execve abuse. 804 Before this change, these commands would make "true" segfault: 805 printf '%s\n' '#include <unistd.h>' 'int main(int c, char**v)' \ 806 '{ execve (v[1], 0, 0); }' > k.c && gcc k.c && ./a.out $PWD/true 807 Now it succeeds. Reported by Tetsuo Handa and Bart Van Assche 808 via Ondřej Vašík in http://bugzilla.redhat.com/537684. 809 810 tail -F can fail to track a file after it's been rotated 811 Tailing forever and by-name (--follow=name, -F), tail would 812 sometimes fail to follow a file that had been removed via rename. 813 If you can't apply this patch and have tail 7.6 or newer, you can 814 work around the bug via the undocumented --disable-inotify option. 815 * src/tail.c (tail_forever_inotify): When tailing by name (-F), 816 do not un-watch a file upon receipt of the IN_MOVE_SELF event. 817 Reported by Arjan Opmeer in http://bugs.debian.org/548439. 818 * NEWS (Bug fixes): Mention it. 819 Also see http://marc.info/?l=coreutils-bug&m=125829031916515 820 * tests/Makefile.am (TESTS): Add tail-2/inotify-rotate. 821 * tests/tail-2/inotify-rotate: New test. 822 8232009-11-14 Jim Meyering <meyering@redhat.com> 824 825 tests: help-version: exit nonzero when $built_programs is empty 826 * tests/misc/help-version: Use "Exit 1", rather than "Exit $fail" 827 with fail defined to 0 when $built_programs is empty. 828 829 build: do use AM_GNU_GETTEXT's "need-formatstring-macros" option 830 * configure.ac: Revert commit 49741b61 and add a comment. 831 Reported by Eric Blake. 832 8332009-11-14 Pádraig Brady <P@draigBrady.com> 834 835 tests: avoid a spurious failure on a loaded system 836 * tests/misc/timeout-parameters: This test could fail due to 837 the 1-second timeout expiring before a command of "no_such" 838 could be exec'd and fail. Increase to 10 seconds. 839 8402009-11-13 Jim Meyering <meyering@redhat.com> 841 842 build: require gettext-0.17 843 * configure.ac: Require gettext-0.17; it was released two years ago. 844 845 build: correct gettext configure-time support 846 * configure.ac: Use AM_GNU_GETTEXT([external], [need-ngettext]), 847 rather than AM_GNU_GETTEXT([external], [need-formatstring-macros]). 848 Reported by Martin Jacobs in 849 http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3181 850 * THANKS: Add his name. 851 852 build: update gnulib to latest, for fixed test-getgroups.c 853 854 tests: avoid a spurious timeout on a heavily-loaded system 855 * tests/misc/timeout-parameters: This test would fail due to 856 the 1-second timeout expiring before a command of "." could 857 be exec'd and fail. Increase to 10 seconds. 858 8592009-11-13 Eric Blake <ebb9@byu.net> 860 861 build: update gnulib, for getgroups improvements 862 A replacement getgroups is now guaranteed to exist, but it may 863 fail with ENOSYS. mgetgroups is moved to gnulib, and now takes 864 gid_t instead of GETGROUPS_T (but setgroups still needs GETGROUPS_T). 865 866 * gnulib: Update to latest. 867 * gl/modules/mgetgroups: Delete, moved to gnulib. 868 * gl/m4/mgetgroups.m4: Likewise. 869 * gl/lib/mgetgroups.h: Likewise. 870 * gl/lib/mgetgroups.c: Likewise. 871 * src/group-list.c (print_group_list): Adjust callers. 872 * src/id.c (print_full_info): Likewise. 873 8742009-11-12 Jim Meyering <meyering@redhat.com> 875 876 build: bootstrap: add a comment; generalize autoheader check 877 * bootstrap: Sync from gnulib and diff. 878 879 build: update gnulib to latest; more *BSD and Solaris work-arounds 880 8812009-11-11 Jim Meyering <meyering@redhat.com> 882 883 bootstrap: use git_modules_config in one more place 884 * bootstrap: Make bootstrap's --gnulib-srcdir more useful (for testing). 885 8862009-11-10 Eric Blake <ebb9@byu.net> 887 888 doc: fix typo 889 * doc/coreutils.texi (mktemp invocation): Quote shell variable. 890 8912009-11-09 Jim Meyering <meyering@redhat.com> 892 893 build: update gnulib submodule to latest for its FreeBSD fixes 894 8952009-11-09 Pádraig Brady <P@draigBrady.com> 896 897 ls: fix capability coloring 898 Capability checking was incorrectly done on just the base name 899 rather than on the whole path. Consequently there could be both 900 false positives and negatives when coloring files with capabilities. 901 Also capability checking was not done at all in certain cases for 902 non executable files. Note passing absolute rather than relative 903 names to cap_get_file() reduces the has_capability() overhead 904 from around 33% to 30%. I.E. ls --color is now around 3% faster. 905 906 * src/ls.c (struct fileinfo): Add a has_capability member. 907 (print_color_indicator): Refactor to pass just a fileinfo pointer 908 and a flag to say if we're dealing with a symlink target. 909 (print_name_with_quoting): Likewise. 910 (gobble_file): Set has_capability in the fileinfo struct. Also do 911 a capability check even if executable coloring is disabled. 912 Ditto for SETUID and SETUID coloring. 913 Comment on how expensive has_capability() is. 914 (print_long_format): Adjust to refactored print_name_with_quoting. 915 (quote_name): Likewise. 916 (print_file_name_and_frills): Likewise. 917 * tests/ls/capability: Test the various false positive and negatives. 918 * THANKS: Add reporter (Ivan Labath). 919 * NEWS: Mention the fix. 920 9212009-11-07 Eric Blake <ebb9@byu.net> 922 923 build: consistently use freopen-safer 924 cat, head, ptx, shuf, tac, tail, tee, tr, and uniq used freopen 925 on stdout, and were potentially vulnerable. dircolors, du, and 926 tsort only used it on stdin, which is unaffected by freopen_safer, 927 but this covers all uses for consistency. 928 929 * cfg.mk (sc_require_stdio_safer): New rule. 930 * gl/modules/xfreopen (Depends-on): Add freopen-safer. 931 * gl/lib/xfreopen.c (includes): Use stdio--.h. 932 * src/ptx.c (includes): Likewise. 933 * src/shuf.c (includes): Likewise. 934 * src/uniq.c (includes): Likewise. 935 * src/dircolors.c (includes): Likewise. 936 * src/du.c (includes): Likewise. 937 * src/tsort.c (includes): Likewise. 938 939 mktemp: fix bug with -q and closed stdout 940 If stdin or stdout is closed, then freopen(,stderr) can violate 941 the premise that STDERR_FILENO==fileno(stderr), which in turn 942 breaks mktemp -q. 943 944 * bootstrap.conf (gnulib_modules): Add freopen-safer. 945 * src/mktemp.c (includes): Use stdio--.h. 946 * tests/misc/close-stdout: Enhance test to catch bug. 947 9482009-11-07 Jim Meyering <meyering@redhat.com> 949 950 maint: make du's cycle-detection code consistent 951 * src/du.c (process_file): Revert the du.c-changing part of 952 commit 8ba5d1a7. Use cycle_warning_required instead. 953 954 chcon, chgrp, chmod and chown now diagnose a directory cycle 955 * lib/xfts.c (cycle_warning_required): New function. 956 * lib/xfts.h: Declare it. 957 * src/chown-core.c (change_file_owner): Diagnose a cycle. 958 * src/chmod.c (process_file): Likewise. 959 * src/chcon.c (process_file): Likewise. 960 * NEWS (Bug fixes): Mention this. 961 9622009-11-06 Giuseppe Scrivano <gscrivano@gnu.org> 963 964 nproc: A new program to count the available processors 965 * AUTHORS: Add my name. 966 * NEWS: Mention it. 967 * README: Likewise. 968 * bootstrap.conf (gnulib_modules): Add nproc. 969 * doc/coreutils.texi (nproc invocation): Add nproc info. 970 * man/Makefile.am (nproc.1): Add dependency. 971 * man/nproc.x: New template. 972 * man/.gitignore: Ignore generated man page. 973 * po/POTFILES.in: Add src/nproc.c. 974 * src/.gitignore: Exclude nproc. 975 * src/Makefile.am (EXTRA_PROGRAMS): Add nproc. 976 * src/nproc.c: New file. 977 * tests/Makefile.am (TESTS): Add misc/nproc-{avail,positive}. 978 * tests/misc/nproc-avail: New file. 979 * tests/misc/nproc-positive: New file. 980 9812009-11-06 Jim Meyering <meyering@redhat.com> 982 983 build: move do-release-commit-and-tag to gnulib 984 * bootstrap.conf (gnulib_modules): Add do-release-commit-and-tag. 985 * build-aux/do-release-commit-and-tag: Remove file. Now it's in gnulib. 986 * gnulib: Update submodule to the latest, to get the just-moved script. 987 9882009-11-05 Eric Blake <ebb9@byu.net> 989 990 mktemp: use more robust means to avoid double-close of stdout 991 Reverts earlier patch - fflush() can succeed but fclose() fail for 992 some cases of write failures, and we want to catch those. 993 994 * src/mktemp.c (stdout_closed): New variable. 995 (maybe_close_stdout): New function, borrowed from dd.c. 996 (main): Track whether stdout has been closed. 997 998 mktemp: enhance test to catch just-fixed typo behavior 999 Penance for botching the conflict resolution while rebasing my series. 1000 1001 * tests/misc/mktemp (check_tmp): Test for the bug when wrong parameter 1002 is used. 1003 10042009-11-05 Jim Meyering <meyering@redhat.com> 1005 1006 mktemp: don't try to close stdout twice 1007 * src/mktemp.c (main): Rather than calling close_stream (which would 1008 make atexit-called close_stdout try to close it a second time), 1009 check for write failure via ferror and fflush. 1010 1011 mktemp: don't use suff_len in place of #-of-`X's variable 1012 * src/mktemp.c (mkstemp_len, mkdtemp_len): Pass x_len as final 1013 argument, and not suff_len. 1014 10152009-11-05 Eric Blake <ebb9@byu.net> 1016 1017 mktemp: add suffix handling 1018 Now that mkstemps is supported, we might as well use it. 1019 1020 * src/mktemp.c (TMPDIR_OPTION): New enum value. 1021 (longopts): Add new option. 1022 (usage): Document it. 1023 (count_trailing_X_s): Rename... 1024 (count_consecutive_X_s): ...to this, and add parameter. 1025 (mkstemp_len, mkdtemp_len): Add parameter. 1026 (main): Implement new option. 1027 (AUTHORS): Add myself. 1028 * AUTHORS (mktemp): Likewise. 1029 * tests/misc/mktemp: Test new option. 1030 * doc/coreutils.texi (mktemp invocation): Document it. 1031 * NEWS: Likewise. 1032 Fixes http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=548316. 1033 1034 build: reflect gnulib changes to tempname 1035 In glibc 2.11 and gnulib, gen_tempname added a parameter 1036 suffixlen (unfortunately, it is typed as int rather than 1037 size_t, for historical compatibility to a poor choice by BSD). 1038 1039 * gnulib: Import latest changes. 1040 * gl/lib/tempname.h.diff: Accommodate new suffixlen parameter. 1041 * gl/lib/tempname.c.diff (check_x_suffix): Allow for X in suffix 1042 beyond x_suffix_len. 1043 (gen_tempname_len): Add suffixlen parameter. 1044 (__gen_tempname): Update caller. 1045 * src/mktemp.c (mkstemp_len, mkdtemp_len): Update callers. 1046 1047 build: override gnulib tempname via diff 1048 Diffs are more robust than wholesale replacement, because bootstrap 1049 will inform us of any incompatible changes made in upstream gnulib. 1050 1051 * gl/lib/tempname.h: Change... 1052 * gl/lib/tempname.h.diff: ...to diff. 1053 * gl/lib/tempname.c: Change... 1054 * gl/lib/tempname.c.diff: ...to diff. 1055 1056 mktemp: rearrange --help output 1057 * src/mktemp.c (usage): Align indentation and sort by long 1058 options. Describe valid templates. 1059 Suggested by http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=548316. 1060 1061 tests: enhance mktemp test 1062 * tests/misc/mktemp: Add more coverage. 1063 1064 doc: document mktemp 1065 * doc/coreutils.texi (mktemp invocation): New node. 1066 * TODO: Delete completed task. 1067 1068 mktemp: don't leave file behind on write failure 1069 * src/mktemp.c (main): Remove just-created file if stdout had 1070 problems. 1071 * bootstrap.conf (gnulib_modules): Add remove. 1072 * tests/misc/close-stdout: Test it. 1073 * NEWS: Document it. 1074 10752009-11-05 Jim Meyering <meyering@redhat.com> 1076 1077 du: cleanup: remove dead-code vestige of already-removed option 1078 * src/du.c (MEGABYTES_LONG_OPTION, main): Remove vestiges 1079 of already-removed long option, --megabytes. 1080 1081 du now diagnoses cycles, rather than ignoring them 1082 * src/du.c (symlink_deref_bits): New global, decl moved from ... 1083 (main): ...here. 1084 (process_file): When fts detects a directory cycle that can't 1085 be due to symlinks, report it and arrange to exit nonzero. 1086 * NEWS (Bug fixes): Mention it. 1087 1088 maint: factor out cycle warning, now that du will use it, too 1089 * src/system.h (emit_cycle_warning): Define. Factored out of... 1090 * src/remove.c (rm_fts): ...here. Use the new macro. 1091 10922009-11-03 Jim Meyering <meyering@redhat.com> 1093 1094 tests: rm: add test for today's change in behavior 1095 * tests/Makefile.am (root_tests): Add rm/read-only to the list. 1096 * tests/rm/read-only: New file. 1097 1098 rm -f: ignore EROFS when it's really ENOENT 1099 rm -f must not print a diagnostic for a nonexistent file. However, 1100 most linux-based kernel unlinkat functions set errno to EROFS when 1101 the named file (regardless of whether it exists) would lie on a 1102 read-only file system. remove.c now performs an extra fstatat call 1103 in that case, to determine whether the file exists. 1104 * src/remove.c (excise): Map EROFS to ENOENT, if a file is nonexistent. 1105 Reported by Steven Drake in <http://savannah.gnu.org/bugs/?27923>. 1106 * NEWS (Changes in behavior): Mention it. 1107 1108 tests: inotify-race: don't let malfunctioning gdb hang the test 1109 * tests/tail-2/inotify-race: Apply timeout to each gdb invocation. 1110 11112009-11-02 Eric Blake <ebb9@byu.net> 1112 1113 build: avoid some warnings 1114 * gl/lib/mbsalign.c (mbsalign): Mark unused parameter. 1115 * bootstrap.conf (gnulib_modules): Remove obsolete 1116 rename-dest-slash. 1117 * gnulib-tests/Makefile.am (AM_CFLAGS): Reduce set of warnings for 1118 gnulib tests. 1119 * gl/modules/rename-tests.diff (Makefile.am): New file, to add 1120 LIBINTL to LDADD, since we avoid canonicalize-lgpl module. 1121 * gl/lib/regcomp.c.diff (regerror, calc_next) 1122 (build_collating_symbol, parse_bracket_element, build_equiv_class) 1123 (free_tree): Mark unused parameters. 1124 * gl/lib/regex_internal.h.diff (re_string_elem_size_at): New file, 1125 to mark unused parameters. 1126 * gl/lib/printf-args.c.diff (PRINTF_FETCHARGS): New file, to avoid 1127 type mismatch. 1128 * gl/lib/vasnprintf.c (VASNPRINTF): New file, to avoid shadowing 1129 local variable name. 1130 * .gitignore: Ignore temporary build artifacts. 1131 1132 build: update gnulib submodule to latest, for fewer compiler warnings 1133 11342009-10-31 Jim Meyering <meyering@redhat.com> 1135 1136 admin: automate one more part of the release process 1137 This script automates the process of updating NEWS, performs 1138 the resulting final commit (thus with a consistent log message), 1139 and applies a signed tag (v$VERSION) to the result. 1140 * build-aux/do-release-commit-and-tag: New script. 1141 * README-release: Document it. 1142 1143 admin: fix typo in release procedure 1144 * README-release: s/gzip/coreutils/ 1145 11462009-10-30 Jim Meyering <meyering@redhat.com> 1147 1148 tests: prohibit fail=0 initialization 1149 * cfg.mk (sc_prohibit_fail_0): New rule. 1150 * .x-sc_prohibit_fail_0: New file. 1151 * Makefile.am (syntax_check_exceptions): Distribute the new file. 1152 1153 tests: factor 350 fail=0 initializations into test-lib.sh 1154 Run this command to remove the factored-out "fail=0" lines. 1155 perl -ni -e '/^fail=0$/ or print' $(g grep -l '^fail=0$') 1156 * tests/test-lib.sh: Initialize fail=0 here, not in 300+ scripts. 1157 * tests/...: nearly all bourne shell scripts 1158 Suggested by Eric Blake. 1159 1160 tests: remove the less-regular fail=0 assignments manually 1161 * tests/tail-2/assert-2: 1162 * tests/tail-2/assert: 1163 * tests/cp/file-perm-race: 1164 * tests/misc/df: 1165 * tests/misc/truncate-dir-fail: 1166 11672009-10-29 Jim Meyering <meyering@redhat.com> 1168 1169 tests: don't let a fail=1 env. setting induce unwarranted test failure 1170 * cfg.mk (sc_fail_is_initialized): New rule. 1171 Fix the offenders: 1172 * tests/cp/acl: Set fail=0 1173 * tests/cp/backup-is-src: Likewise. 1174 * tests/cp/file-perm-race: Likewise. 1175 * tests/cp/reflink-auto: Likewise. 1176 * tests/cp/same-file: Likewise. 1177 * tests/ln/backup-1: Likewise. 1178 * tests/misc/su-fail: Likewise. 1179 * tests/misc/truncate-owned-by-other: Likewise. 1180 * tests/mkdir/p-3: Likewise. 1181 * tests/mkdir/selinux: Likewise. 1182 * tests/mkdir/special-1: Likewise. 1183 * tests/mv/acl: Likewise. 1184 * tests/mv/backup-is-src: Likewise. 1185 * tests/mv/diag: Likewise. 1186 * tests/mv/force: Likewise. 1187 * tests/mv/hard-link-1: Likewise. 1188 * tests/mv/into-self-3: Likewise. 1189 * tests/mv/sticky-to-xpart: Likewise. 1190 * tests/touch/now-owned-by-other: Likewise. 1191 1192 remove stray closing comment delimiter, "*/", in previous change 1193 * gl/lib/regexec.c.diff: Fix a typo. 1194 11952009-10-29 Eric Blake <ebb9@byu.net> 1196 1197 maint: avoid exiting with magic number 1198 Cope with gnulib's new sc_prohibit_magic_number_exit rule. 1199 1200 * .x-sc_prohibit_magic_number_exit: New file, to add exemptions. 1201 * Makefile.am (syntax_check_exceptions): Distribute it. 1202 * lib/euidaccess-stat.c (main): Fix culprits. 1203 * src/chcon.c (main): Likewise. 1204 * src/runcon.c (main): Likewise. 1205 * src/setuidgid.c (main): Likewise. 1206 12072009-10-29 Jim Meyering <meyering@redhat.com> 1208 1209 build (--enable-gcc-warnings): enable gcc's -Werror also in lib/ 1210 * configure.ac (GNULIB_WARN_CFLAGS): Define. 1211 * lib/Makefile.am (AM_CFLAGS): Use $(GNULIB_WARN_CFLAGS) 1212 rather than $(WARN_CFLAGS) and add $(WERROR_CFLAGS). 1213 * gl/lib/regcomp.c.diff: New file. 1214 * gl/lib/regex_internal.c.diff: New file. 1215 * gl/lib/regexec.c.diff: New file. 1216 1217 build: update gnulib submodule to latest 1218 1219 build: allow whitespace violations in gl/lib/*.diff files 1220 * .gitattributes: Exempt gl/lib/*.diff. 1221 * .x-sc_prohibit_tab_based_indentation: Likewise. 1222 * .x-sc_space_tab:Likewise. 1223 12242009-10-29 Eric Blake <ebb9@byu.net> 1225 1226 nice, nohup, su: detect write failure to stderr 1227 These programs can print non-fatal diagnostics to stderr prior to 1228 exec'ing a subsidiary program. However, if we thought the situation 1229 warranted a diagnostic, we insist that the diagnostic be printed 1230 without error, rather than blindly exec, as it may be a security risk. 1231 1232 For an example, try 'nice -n -1 nice 2>/dev/full'. Failure to raise 1233 priority (by lowering niceness) is not fatal, but failure to inform 1234 the user about failure to change priority is dangerous. 1235 1236 * src/nice.c (main): Declare failure if writing advisory message 1237 to stderr fails. 1238 * src/nohup.c (main): Likewise. 1239 * src/su.c (main): Likewise. 1240 * tests/misc/nice: Test this. 1241 * tests/misc/nohup: Likewise. 1242 * NEWS: Document this. 1243 12442009-10-28 Jim Meyering <meyering@redhat.com> 1245 1246 doc: tell --enable-gcc-warnings users where to report problems 1247 * README-hacking: Add a caveat for --enable-gcc-warnings. 1248 1249 build: make doc checks more user-friendly 1250 * doc/Makefile.am (check-texinfo): Begin moving each individual test 1251 into its own rules. 1252 (sc-avoid-builtin, sc-avoid-path): New rules. 1253 Extracted from check-texinfo. 1254 (syntax_checks): Add them. 1255 1256 doc: avoid failing "make check" 1257 * doc/coreutils.texi (env invocation): s/builtin/built-in/ 1258 12592009-10-28 Pádraig Brady <P@draigBrady.com> 1260 1261 doc: improve the echo and printf help on escapes 1262 * src/printf.c (usage): Merge strings with echo.c to 1263 aid translators. Move the description for \NNN beside 1264 the other numeric escape codes. Don't mention 1265 "character" as that suggests character conversion. 1266 * src/echo.c (usage): Likewise. 1267 Also mention the \xHH escape sequence. 1268 1269 echo, printf: interpret \e as the Escape character 1270 Match gcc, perl, bash, ksh, tcsh, ... in supporting \e. 1271 * src/printf.c (print_escape_char): Output \x1B when \e encountered. 1272 * src/echo.c (main): Likewise. 1273 * src/stat.c (print_escape_char): Likewise. 1274 * doc/coreutils.texi (echo invocation): Add \e to the list. 1275 * tests/misc/printf: Verify that \e outputs \x1B. 1276 * NEWS: Mention the change in behaviour. 1277 12782009-10-28 Eric Blake <ebb9@byu.net> 1279 1280 printenv: ignore bogus variable names 1281 Exposed by env a=b=c printenv a=b. 1282 1283 * src/printenv.c (main): Silently reject = in names. 1284 * tests/misc/printenv: Test for it. 1285 * NEWS: Document this. 1286 12872009-10-28 Pádraig Brady <P@draigBrady.com> 1288 1289 maint: avoid "make syntax-check" failure 1290 * src/printenv.c: Remove unused "long-options.h" 1291 12922009-10-28 Eric Blake <ebb9@byu.net> 1293 1294 doc: turn env comments into documentation 1295 * src/env.c: Convert introductory comments... 1296 * doc/coreutils.texi (env invocation): ...into documentation. 1297 Suggested by Jim Meyering. 1298 1299 env, printenv: add -0/--null option 1300 Allows for unambiguous processing when environment values (or even 1301 non-portable names!) contain newline. 1302 1303 * src/env.c (longopts): Add new option. 1304 (usage): Document it. 1305 (main): Implement it. 1306 * src/printenv.c (longopts): New variable. 1307 (usage): Document new option. 1308 (main): Implement it. 1309 * doc/coreutils.texi (Common options): New macro optNull. 1310 (du invocation, env invocation, printenv invocation): Use it. 1311 * NEWS: Mention this. 1312 * tests/misc/env-null: New test. 1313 * tests/Makefile.am (TESTS): Run it. 1314 1315 tests: add printenv coverage 1316 * tests/misc/printenv: New test. 1317 * tests/Makefile.am (TESTS): Run it. 1318 * .gitignore: Ignore more cruft. 1319 1320 tests: fix PATH problems on cygwin 1321 * tests/misc/sort-compress: Remove non-portable over-restriction 1322 of PATH; besides, commit 3ea177e changed sort to no longer default 1323 to gzip. 1324 * tests/rm/fail-eperm: Untaint, rather than clear, PATH. 1325 * tests/misc/pwd-long: Likewise. Also skip test if long path 1326 cannot be created. 1327 (normalize_to_cwd_relative): Use eq rather than ==, since cygwin 1328 perl doesn't properly handle 64-bit ino_t numerically. 1329 13302009-10-27 Eric Blake <ebb9@byu.net> 1331 1332 tests: clean up tests of env -- handling 1333 The comment in env.c about -- handling has not matched the behavior 1334 in the code since the initial commit back in 1992. 1335 1336 * src/env.c: Fix bogus comment. 1337 * tests/misc/env: Further tweaks, avoiding PATH problems inherent 1338 in testing -i, and testing program name containing =. 1339 * doc/coreutils.texi (env invocation): Mention that intermediate 1340 program is needed to invoke program with name containing =. 1341 1342 doc: document PATH interactions with env 1343 * doc/coreutils.texi (env invocation): Mention that PATH is 1344 modified prior to exec. 1345 * tests/misc/env: Test this. 1346 1347 env: reject bogus -u arguments 1348 * src/env.c (main): Use unsetenv rather than putenv to remove 1349 items from environ, and check for failure. 1350 * bootstrap.conf (gnulib_modules): Add unsetenv. 1351 * tests/misc/env: Test this. 1352 * NEWS: Document it. 1353 1354 maint: let gnulib provide environ 1355 * bootstrap.conf (gnulib_modules): Add environ. 1356 * src/env.c (environ): Delete declaration. 1357 * src/printenv.c (environ): Likewise. 1358 * src/stdbuf.c (environ): Likewise. 1359 * src/su.c (environ): Likewise. 1360 13612009-10-26 Eric Blake <ebb9@byu.net> 1362 1363 tests: avoid file name not portable to cygwin 1364 * tests/misc/chroot-fail: Use 'no_such', not '...', since cygwin 1365 1.5 silently strips trailing dots. 1366 * tests/misc/nice-fail: Likewise. 1367 * tests/misc/stdbuf: Likewise. 1368 * tests/misc/timeout-parameters: Likewise. 1369 13702009-10-26 Jim Meyering <meyering@redhat.com> 1371 1372 tests: rm/one-file-system: work around umount failure 1373 * tests/rm/one-file-system (cleanup_): Unmount a/b, rather than 1374 "$other_partition_tmpdir", to accommodate those who link /etc/mtab 1375 to /proc/mounts. Reported by Gilles Espinasse in 1376 http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/18508 1377 1378 tests: adjust new env test not to fail 1379 * tests/misc/env: Create ./-i as a link to our "echo" binary, 1380 rather than as a bourne shell script, so that env can exec it. 1381 Set PATH to ".". 1382 1383 tests: nice: adjust new tests to work more portably 1384 * tests/misc/nice (tests): Accommodate a nice program for which 1385 "nice -n -1 nice" prints nothing. It should print -1 or (usually) 0. 1386 Otherwise, we'd get syntax errors. 1387 1388 nice: execute program even when setpriority fails due to EACCES 1389 * src/nice.c (perm_related_errno): New function. 1390 (main): Use it, rather than testing only errno == EPERM. 1391 * NEWS (Bug fixes): Mention it. 1392 13932009-10-26 Pádraig Brady <P@draigBrady.com> 1394 1395 timeout: don't orphan monitored programs if they ignore specified signals 1396 * src/timeout.c (install_signal_handlers): Handle any user 1397 specified signal, so that if it does not cause the child 1398 to exit then we don't exit and orphan the child. Previously this 1399 for example, would leave an orphan dd process running: 1400 timeout -sUSR1 1s dd if=/dev/zero of=/dev/null 1401 * NEWS: Mention the fix. 1402 14032009-10-24 Eric Blake <ebb9@byu.net> 1404 1405 tests: test recent status changes 1406 * tests/misc/nice: Enhance test. 1407 * tests/misc/chroot-fail: New test. 1408 * tests/misc/env: Likewise. 1409 * tests/misc/nice-fail: Likewise. 1410 * tests/misc/su-fail: Likewise. 1411 * tests/Makefile.am (TESTS): Run new tests. 1412 1413 maint: move chroot test 1414 * tests/chroot/credentials: Move... 1415 * tests/misc/chroot-credentials: ...here, to reduce number of 1416 directories. 1417 * tests/Makefile.am (root_tests): Reflect rename. 1418 1419 tests: enhance stdbuf and timeout tests 1420 * tests/misc/timeout-parameters: Validate exact exit status. 1421 * tests/misc/stdbuf: Likewise. 1422 * tests/misc/timeout: Likewise. Use require_built_. 1423 * tests/misc/arch: Likewise. 1424 1425 nohup: use EXIT_CANCELED if not POSIXLY_CORRECT 1426 * src/nohup.c (NOHUP_FAILURE): Rename... 1427 (POSIX_NOHUP_FAILURE): ...to this. 1428 (main): Pay attention to POSIXLY_CORRECT, to determine whether to 1429 use status 125 or 127. 1430 * doc/coreutils.texi (nohup invocation): Document this. 1431 * NEWS: Likewise. 1432 * tests/misc/invalid-opt (exit_status): Adjust expected results. 1433 * tests/misc/help-version (expected_failure_status): Likewise. 1434 * tests/misc/nohup: Likewise. 1435 1436 chroot, env, nice, su: use EXIT_CANCELED for internal failure 1437 * src/chroot.c (main): Use EXIT_CANCELED, not EXIT_FAILURE. 1438 * src/env.c (main): Likewise. 1439 * src/nice.c (main): Likewise. 1440 * src/su.c (change_identity, main): Likewise. 1441 * doc/coreutils.texi (chroot invocation, env invocation) 1442 (nice invocation, su invocation): Document this. 1443 * NEWS: Likewise. 1444 * tests/misc/invalid-opt (exit_status): Adjust expected results. 1445 * tests/misc/help-version (expected_failure_status): Likewise. 1446 1447 tests: accommodate BSD getopt 1448 * tests/misc/invalid-opt (err_subst): Support alternate spelling. 1449 14502009-10-23 Eric Blake <ebb9@byu.net> 1451 1452 build: prohibit improper use of stat and lstat 1453 * cfg.mk (sc_prohibit_stat_macro_address): New rule. 1454 * src/ln.c (do_link): Adjust comment to avoid false positive. 1455 * src/stat.c (do_stat): Likewise. 1456 * src/touch.c (main): Likewise. 1457 1458 build: update gnulib submodule to latest, for test cleanups 1459 14602009-10-22 Eric Blake <ebb9@byu.net> 1461 1462 maint: turn on compiler warnings for gnulib tests 1463 * gnulib-tests/Makefile.am (AM_CFLAGS): Add WARN_CFLAGS. 1464 * configure.ac (enable-gcc-warnings): Also use -funit-at-a-time, 1465 to silence gcc 4.3.4 -Wdisabled-optimization. 1466 * .gitignore: Ignore some more files. 1467 14682009-10-22 Jim Meyering <meyering@redhat.com> 1469 1470 build: prohibit direct use of readlink or readlinkat 1471 * cfg.mk (sc_prohibit_readlink): New rule. 1472 Suggested by Eric Blake. 1473 14742009-10-22 Giuseppe Scrivano <gscrivano@gnu.org> 1475 1476 tests: add a test for the `tail -f' race condition bug 1477 If new data becomes available between the initial read and when tail 1478 registers the inotify watch descriptors, ensure that it is read 1479 before a new event happens on the file. 1480 * tests/Makefile.am (TESTS): Add tail-2/inotify-race. 1481 * tests/tail-2/inotify-race: New file. 1482 1483 tail -f: avoid a race condition 1484 * NEWS (Bug fixes): Mention it. 1485 * src/tail.c (check_fspec): New function. 1486 (tail_forever_inotify): Ensure there is no new data before entering the 1487 inotify events wait loop. 1488 14892009-10-22 Eric Blake <ebb9@byu.net> 1490 1491 build: update gnulib submodule to latest, for utimens enhancements 1492 1493 tests: ensure touch honors trailing slash 1494 * tests/touch/trailing-slash: New test. 1495 * tests/Makefile.am (TESTS): Run it. 1496 14972009-10-21 Pádraig Brady <P@draigBrady.com> 1498 1499 md5sum, sha*sum, sum: line-buffer the printed checksums 1500 * src/md5sum.c (main): Set stdout to line buffered mode 1501 to ensure parallel running instances don't intersperse 1502 their output. This adds 5% to the run time in the worst case 1503 of many zero length files, or 2% with standard file sizes. 1504 * src/sum.c (main): Likewise. 1505 * tests/misc/md5sum-parallel: New test for atomic output. 1506 * tests/Makefile.am: Reference it. 1507 * NEWS: Mention the fix 1508 15092009-10-20 Pádraig Brady <P@draigBrady.com> 1510 1511 maint: issue warnings for more missing optional libraries 1512 * README-hacking: Suggest to use ./configure --quiet so that 1513 any warnings are easily noticed. 1514 * m4/gmp.m4 (cu_GMP): Warn if libgmp is not available. 1515 * m4/jm-macros.m4 (coreutils_MACROS): Normalize the libcap warning. 1516 * m4/xattr.m4 (gl_FUNC_XATTR): Warn if libattr is not available. 1517 15182009-10-19 Jim Meyering <meyering@redhat.com> 1519 1520 build: use gnulib's isblank module 1521 * bootstrap.conf (gnulib_modules): Add isblank. 1522 * src/system.h (isblank): Don't define. 1523 * m4/check-decl.m4: Don't check for isblank declaration. 1524 * gnulib: Update submodule to latest. 1525 15262009-10-18 Jim Meyering <meyering@redhat.com> 1527 1528 maint: factor out duplication in currently unused rules 1529 * src/Makefile.am (fs_normalize_perl_subst): Define. 1530 (fs-magic, fs-kernel-magic): Use it. 1531 15322009-10-17 Eric Blake <ebb9@byu.net> 1533 1534 touch: add -h to change symlink timestamps, where supported 1535 * src/touch.c (no_dereference): New flag variable. 1536 (longopts): Add -h/--no-dereference. 1537 (touch): Add symlink handling. 1538 (usage): Document new option. 1539 (main): Accept new option. 1540 * NEWS: Document it. 1541 * doc/coreutils.texi (touch invocation): Likewise. Also mention 1542 birthtime. 1543 * tests/touch/no-dereference: New test. 1544 * tests/Makefile.am (TESTS): Run it. 1545 15462009-10-17 Jim Meyering <meyering@redhat.com> 1547 1548 tests: abmon-align: avoid test failure 1549 * tests/ls/abmon-align: Don't remove (1d;) the first line of output. 1550 That was making the test consider only 11 of 12 month names. 1551 Rewrite not to use \(.*\), as that provoked a malfunction in GNU sed 1552 on powerpc Mac OS X (though we don't know yet whether this is due to a 1553 sed bug, or to miscompilation). Nelson Beebe reported the test failure. 1554 1555 build: update gnulib submodule to latest 1556 15572009-10-15 Jim Meyering <meyering@vm.meyering.net.localdomain> 1558 1559 build: don't let environment settings perturb build 1560 Setting the envvars, LIB_FDATASYNC, LIB_XATTR or LIB_CRYPT 1561 could cause a configure-time and/or build-time malfunction. 1562 Typically, a configure-time function-in-library test is performed 1563 via code like this: 1564 1565 LIB_VAR= 1566 AC_SUBST([LIB_VAR]) 1567 prefix_saved_LIBS=$LIBS 1568 AC_SEARCH_LIBS([FUNC], [LIB_NAME], 1569 [test "$ac_cv_search_FUNC" = "none required" || 1570 LIB_VAR=$ac_cv_search_FUNC]) 1571 LIBS=$prefix_saved_LIBS 1572 1573 However, in each of the files affected by this change, the LIB_VAR= 1574 initialization was omitted. Thus, when set in the environment, its 1575 value would propagate into generated Makefiles when FUNC is not found 1576 in LIB_NAME. 1577 * m4/jm-macros.m4 (coreutils_MACROS): Initialize AC_SUBST'd var 1578 * m4/lib-check.m4 (cu_LIB_CHECK): Likewise. 1579 * m4/xattr.m4 (gl_FUNC_XATTR): Likewise. 1580 15812009-10-13 C de-Avillez <hggdh2@gmail.com> 1582 1583 tail: add add missing backslash at the end of a line in usage 1584 * src/tail.c (usage): Add missing backslash at the end of a line. 1585 15862009-10-12 Eric Blake <ebb9@byu.net> 1587 1588 tail: tweak usage for more clarity 1589 * src/tail.c (usage): Spell out -n +K. 1590 * THANKS: Update. 1591 Reported by Jan-Pawel Wrozstinski. 1592 15932009-10-10 Eric Blake <ebb9@byu.net> 1594 1595 touch: optimize use of utimens 1596 * src/touch.c (main): Use UTIME_NOW rather than calling gettime. 1597 (touch): Use UTIME_OMIT rather than stat. 1598 1599 copy: allow symlink timestamp preservation on more systems 1600 * src/copy.c (utimens_symlink): Simplify by using lutimens. 1601 * m4/jm-macros.m4 (coreutils_MACROS): Drop utimensat; gnulib does 1602 this for us. 1603 * tests/cp/preserve-slink-time: Recognize lutimes support. 1604 1605 build: update gnulib submodule to latest, for utimens improvements 1606 16072009-10-10 Jim Meyering <meyering@redhat.com> 1608 1609 tests: adjust tail-2/pid to work around FreeBSD 6.1 failure 1610 * tests/tail-2/pid: Run tail -f --pid=... on an actual file, not on 1611 /dev/null, to avoid this failure on FreeBSD 6.1: tail: /dev/null: 1612 cannot change nonblocking mode: Inappropriate ioctl for device 1613 16142009-10-10 Eric Blake <ebb9@byu.net> 1615 1616 maint: touch up previous LDADD patch 1617 * src/Makefile.am (dir_LDADD): Delete; the ls_LDADD line covers this. 1618 16192009-10-10 Jim Meyering <meyering@redhat.com> 1620 1621 build: build uname(1) unconditionally 1622 Before, on a system without the uname function, the build 1623 system would detect that and not build/install a uname program. 1624 Now that gnulib guarantees a uname function, ... 1625 * configure.ac: Don't check for the uname function. 1626 * src/Makefile.am (build_if_possible__progs): Move uname... 1627 (EXTRA_PROGRAMS): ...to this list. 1628 1629 maint: list program names one per line 1630 * src/Makefile.am (EXTRA_PROGRAMS): List them one per line. 1631 (build_if_possible__progs): Likewise. 1632 1633 build: ls: fix link failure due to missing -lacl 1634 * src/Makefile.am (ls_LDADD): Re-add $(LIB_ACL). 1635 Inadvertently-removed by commit 78c93601. 1636 16372009-10-10 Eric Blake <ebb9@byu.net> 1638 1639 maint: touch up previous LDADD patch 1640 * src/Makefile.am (stdbuf_LDADD): Add missing primer. 1641 (hostname_LDADD, uname_LDADD): Add GETHOSTNAME_LIB. 1642 * bootstrap.conf (gnulib_modules): Add uname. 1643 1644 maint: improve additional library tracking 1645 * src/Makefile.am (LDADD): Refactor, to make per-library additions 1646 to individual programs easier to maintain. 1647 16482009-10-09 Jim Meyering <meyering@redhat.com> 1649 1650 chcon: don't disable just because SELinux is disabled 1651 * src/chcon.c (main): Now that gnulib provides getfilecon wrappers, 1652 we can revert most of the 2009-10-05 commit 3a97d664, "chcon: exit 1653 immediately if SELinux is disabled", since chcon is still useful as 1654 long as the file system provides handlers for the security.* 1655 name space. gnulib's getfilecon wrappers ensure that an offending 1656 context now evokes a return value of -1. 1657 Prompted by comments from Stephen Smalley in 1658 http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/18378/focus=18394 1659 * NEWS (Bug fixes): Mention it. 1660 1661 ls: remove explicit getfilecon work-around 1662 * src/ls.c (gobble_file): Remove l?getfilecon work-around, 1663 now that the gnulib wrappers handle it for us. 1664 1665 build: update gnulib submodule to latest, for getfilecon wrappers 1666 16672009-10-09 Eric Blake <ebb9@byu.net> 1668 1669 maint: use X2NREALLOC in more places 1670 * src/chroot.c (set_additional_groups): Use X2NREALLOC rather than 1671 x2nrealloc. 1672 * src/factor.c (emit_factor): Likewise. 1673 * src/setuidgid.c (main): Likewise. 1674 1675 maint: remove unused macros and declarations 1676 * src/system.h (EDQUOT, EISDIR, ENOSYS, EOVERFLOW, F_OK, X_OK) 1677 (W_OK, R_OK): Delete; macros provided by gnulib. 1678 (includes): Gnulib guarantees both <time.h> and <sys/time.h>, in 1679 either order. 1680 (free, malloc, memchr, realloc, getenv, lseek): Delete, gnulib 1681 guarantees these declarations. 1682 * m4/check-decl.m4 (gl_CHECK_DECLS): Delete checks now done by 1683 gnulib. 1684 1685 maint: move timeout exit statuses 1686 * src/timeout.c (EXIT_TIMEDOUT, EXIT_CANCELED): Remove as 1687 macros... 1688 * src/system.h (EXIT_TIMEDOUT, EXIT_CANCELED): ...and provide as 1689 enum values instead. 1690 * src/stdbuf.c (EXIT_CANCELED): Delete. 1691 1692 stat: test recent patch 1693 * tests/misc/stat-slash: New test. 1694 * tests/Makefile.am (TESTS): Run it. 1695 16962009-10-08 Eric Blake <ebb9@byu.net> 1697 1698 stdbuf: improve path search 1699 * src/stdbuf.c (set_program_path): Use gnulib methods for better 1700 file name handling. 1701 * bootstrap.conf (gnulib_modules): Add xreadlink. 1702 1703 stat: work with recent gnulib changes 1704 * src/stat.c (do_stat): Don't mask function-like stat macro. 1705 17062009-10-08 Jim Meyering <meyering@redhat.com> 1707 1708 stat: add support for many more file system types 1709 * src/stat.c (human_fstype): Add the following FS types, 1710 from <linux/magic.h>: afs, anon-inode FS, btrfs, cgroupfs, 1711 cramfs-wend, debugfs, futexfs, inotifyfs, minux3, securityfs, 1712 selinux, xenfs. 1713 Also add "nilfs". 1714 * src/Makefile.am (fs-kernel-magic): New rule. 1715 * NEWS (Bug fixes): Mention this. 1716 1717 stat: recognize CIFS and HFS file system types 1718 * src/stat.c (human_fstype) [CIFS, HFS]: Add new file system types. 1719 Prompted by a report from Stuart Kemp. 1720 Normalize the form of a few hexadecimal magic numbers. 1721 Alphabetize on S_MAGIC_ case names. 1722 * src/Makefile.am (fs-magic-compare, fs-def, fs-magic): New rules, to 1723 automate comparison of our list with that in the Linux statfs man page. 1724 * NEWS (Bug fixes): Mention it. 1725 17262009-10-07 Guenter Knauf <lists@gknw.net> 1727 1728 md5sum, sha*sum: also accept openssl checksum syntax 1729 * src/md5sum.c (split_3): Accept openssl checksum syntax, which 1730 differs only by two spaces from that of the bsd checksum tools: 1731 openssl: MD5(f)= d41d8cd98f00b204e9800998ecf8427e 1732 bsd: MD5 (f) = d41d8cd98f00b204e9800998ecf8427e 1733 17342009-10-06 Jim Meyering <meyering@redhat.com> 1735 1736 maint: make release-making instructions more generic 1737 * README-release: Make instructions more generic. 1738 1739 post-release administrivia 1740 * NEWS: Add header line for next release. 1741 * .prev-version: Record previous version. 1742 * cfg.mk (old_NEWS_hash): Auto-update. 1743 1744 version 8.0 1745 * NEWS: Record release date. 1746 1747 build: update gnulib submodule to latest 1748 17492009-10-06 Ondřej Vašík <ovasik@redhat.com> 1750 1751 chcon: exit immediately if SELinux is disabled 1752 This change happens to avoid an abort in chcon when SELinux is 1753 disabled while operating on a file with an "unlabeled" context from 1754 back in 2006. However, that same abort can still be triggered by the 1755 same file when running chcon with SELinux enabled. This bug in chcon 1756 will be fixed in a subsequent commit via a getfilecon wrapper. See 1757 http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/18378/focus=18384 1758 for how to correct your disk attributes to avoid triggering this bug. 1759 * src/chcon.c (main): Exit immediately if SELinux is disabled. 1760 Reported in http://bugzilla.redhat.com/527142 by Yanko Kaneti. 1761 * src/runcon.c (main): Do not hardcode program name in error message. 1762 * THANKS: Update. 1763 17642009-10-03 Jim Meyering <meyering@redhat.com> 1765 1766 build: update gnulib submodule to latest 1767 17682009-10-02 James R. Van Zandt <jrvz@comcast.net> 1769 1770 dircolors: highlight .cgm and .emf as images 1771 * src/dircolors.hin: Add .cgm, .emf. 1772 * THANKS: Update. 1773 17742009-10-02 Jim Meyering <meyering@redhat.com> 1775 1776 maint: remove obsolete syntax-check exclusion 1777 * cfg.mk (local-checks-to-skip): Remove strftime-check. 1778 17792009-10-02 Pádraig Brady <P@draigBrady.com> 1780 1781 tail: avoid a race where we could miss new data with --pid 1782 * src/tail.c (tail_forever, tail_forever_inotify): Close a race in 1783 tail_forever_inotify where new data written after the file check by 1784 a now dead process, but before the pid check, is not output. We use 1785 the POSIX guarantee that read() and write() are serialized wrt each 1786 other even in separate processes, to assume full file consistency 1787 after exit() and so poll for new data _after_ the writer has exited. 1788 This also allows us to not redundantly _wait_ for new data if the 1789 process is dead. 1790 * tests/tail-2/pid: Remove the now partially invalid sub second sleep 1791 check as we now don't unconditionally wait, and replace it with a check 1792 for the redundant sleep. Also clarify some of the existing comments. 1793 * NEWS: Mention the fix. 1794 17952009-10-02 Jim Meyering <meyering@redhat.com> 1796 1797 maint: move gnu-web-doc-update script to gnulib 1798 * bootstrap.conf (gnulib_modules): Add gnu-web-doc-update. 1799 Remove gendocs, since gnu-web-doc-update depends on it. 1800 * gnu-web-doc-update: Remove file, now that we get it from gnulib. 1801 1802 build: update gnulib submodule to latest 1803 18042009-09-30 Jim Meyering <meyering@redhat.com> 1805 1806 tests: tail-2/pid: use a 3-second timeout, not 1 1807 * tests/tail-2/pid: When using the timeout program to ensuring that 1808 tail -s.1 --pid=$PID_T_MAX does not wait forever, use a timeout longer 1809 than 1 second. A 1-second timeout could be too short on a very busy 1810 system, and result in a timeout, and hence false-positive failure. 1811 1812 2009-09-30 Jim Meyering <meyering@redhat.com> 1813 1814 build: update gnulib submodule to latest 1815 1816 build: translate diagnostics from two new files 1817 * po/POTFILES.in: Add two new files: lib/siglist.h, lib/strsignal.c 1818 1819 build: now that we use the lock module, don't exclude lock.m4 1820 * bootstrap.conf: Don't exclude lock.m4. 1821 18222009-09-30 Pádraig Brady <P@draigBrady.com> 1823 1824 ls: always print "?" for allocated size of a dereferenced dangling symlink 1825 Previously for `ls -Ls` (but not `ls -Lsl`), we referenced 1826 the st_blocks returned from the previous failed stat() call. 1827 This undefined value was seen to be 0 for dangling symlinks at least. 1828 * src/ls.c (print_file_name_and_frills, length_of_file_name_and_frills): 1829 Don't use st_blocks if the previous stat() failed 1830 * tests/ls/dangle: Add a test case 1831 * NEWS: Mention the fix, and roll up related items into a single entry. 1832 18332009-09-30 Jim Meyering <meyering@redhat.com> 1834 1835 build: use gnulib's freopen module 1836 * bootstrap.conf (gnulib_modules): Add freopen, strsignal, fsync. 1837 Exposed via make CFLAGS=-DGNULIB_POSIXCHECK 2>&1 \ 1838 |perl -lne '/.* use gnulib module (\S+).*/ and print $1' \ 1839 |sort |uniq -c|sort -nr 1840 (avoided_gnulib_modules): Don't avoid the "lock" module. 1841 Now it's required, as a dependency of the strsignal module. 1842 18432009-09-29 Jim Meyering <meyering@redhat.com> 1844 1845 stat: interpret "-" as standard input 1846 * src/stat.c (do_stat): Interpret a command line argument of "-" 1847 to mean "standard input", like many other tools do. 1848 (do_statfs): Fail upon any attempt to use "-". 1849 * NEWS (Changes in behavior): Mention it. 1850 * tests/misc/stat-hyphen: New test, to exercise the above. 1851 * tests/Makefile.am (TESTS): Add misc/stat-hyphen. 1852 1853 ls: don't use an undefined struct stat after failed stat/lstat 1854 * src/ls.c (format_inode): Access f->stat only if f->stat_ok is set. 1855 * NEWS (Bug fixes): Mention it. 1856 Improved-by: Pádraig Brady <P@draigBrady.com> 1857 1858 ls: print "?", not "0" as inode of dereferenced dangling symlink 1859 ls prints inode numbers two ways: for long (-l) listings, 1860 and for short ones, e.g., ls -li and ls -i. The code to print 1861 long listings properly printed "?" when the inode was unknown, 1862 but the code for handling short listings would print 0 instead. 1863 Factor out the formatting code into a new function so ls prints 1864 the right string ("?") from both places: 1865 * NEWS (Bug fixes): Mention it. 1866 * src/ls.c (format_inode): New function. 1867 (print_long_format): Use it here. 1868 (print_file_name_and_frills): Use it here, too. 1869 * tests/ls/dangle: Exercise this fix. 1870 Reported by Yang Ren in http://bugzilla.redhat.com/525400 1871 1872 ls: with -LR, exit with status 2 upon detecting a cycle 1873 * src/ls.c (print_dir): Diagnosing the cycle is not enough. 1874 Also set exit status to 2. This is what Solaris' /bin/ls does, too. 1875 * tests/ls/infloop: Rework test: match both expected stdout and stderr. 1876 Require an exit status of 2 in this case. 1877 * doc/coreutils.texi (ls invocation): Mention that a loop provokes 1878 in an exit status of 2. 1879 * NEWS (Bug fixes): Mention it. 1880 Reported by Yang Ren in http://bugzilla.redhat.com/525402. 1881 * THANKS: Correct ordering of Yang Ren's names. 1882 18832009-09-26 Jim Meyering <meyering@redhat.com> 1884 1885 maint: factor coreutils-specific code out of bootstrap 1886 * bootstrap (bootstrap_epilogue): Define a default, empty function. 1887 Remove coreutils-specific code, and instead, 1888 invoke this new function at the end of this script. 1889 * bootstrap.conf (bootstrap_epilogue): Define, to override the default. 1890 18912009-09-25 Eric Blake <ebb9@byu.net> 1892 1893 cp, mv: use linkat to guarantee semantics 1894 * src/copy.c (copy_internal): Use linkat, not link. 1895 1896 ln: add -L/-P options 1897 * src/ln.c (STAT_LIKE_LINK): Delete. 1898 (logical): New flag. 1899 (long_options): Add -L, -P. 1900 (usage): Mention them. 1901 (main): Choose between them. 1902 (do_link): Perform correct action. 1903 * tests/ln/misc: Move hard-to-sym portion of test... 1904 * tests/ln/hard-to-sym: ...into new test, and add more. 1905 * tests/Makefile.am (TESTS): Run new test. 1906 * NEWS: Document this. 1907 * doc/coreutils.texi (link invocation, ln invocation): Likewise. 1908 * bootstrap.conf (gnulib_modules): Add linkat. 1909 1910 build: update gnulib submodule to latest 1911 19122009-09-23 Pádraig Brady <P@draigBrady.com> 1913 1914 maint: Use logical rather than bitwise operators on bools 1915 This is because bitwise operators are: 1916 - confusing and inconsistent in a boolean context 1917 - non short circuiting 1918 - brittle in C89 where bool can be an int (so > 1) 1919 1920 maint: expr: avoid compiler warnings without GMP 1921 * src/expr.c (mpz_clear, mpz_get_str, mpz_out_str) 1922 [!HAVE_GMP]: Reference unused arguments. 1923 19242009-09-23 Eric Blake <ebb9@byu.net> 1925 1926 build: update gnulib submodule to latest 1927 1928 maint: summarize gnulib changes 1929 * NEWS: Provide a blurb about recent gnulib improvements. Fix typo 1930 in readlink blurb. 1931 19322009-09-23 Jim Meyering <meyering@redhat.com> 1933 1934 doc: ls: further improve --help message re --color 1935 * src/ls.c (usage): Correct grammar, change voice, shorten. 1936 Inspired by a report from Bruno Schulenberg. 1937 19382009-09-23 Eric Blake <ebb9@byu.net> 1939 1940 readlink: pick up gnulib changes to readlink -f 1941 * bootstrap.conf (obsolete_gnulib_modules): Move rename... 1942 (gnulib_modules): ...here. Add symlink. 1943 * NEWS: Document the change in readlink. 1944 * doc/coreutils.texi (readlink invocation): Likewise. 1945 * tests/readlink/can-f: Update test to new semantics, and add test 1946 of loop. 1947 19482009-09-23 Jim Meyering <meyering@redhat.com> 1949 1950 maint: df.c: adapt to newer gnulib 1951 * src/df.c: Don't include "canonicalize.h". No longer needed, 1952 since canonicalize_file_name is now guaranteed to be declared 1953 in <stdlib.h>, thanks to gnulib. 1954 1955 build: update gnulib submodule to latest 1956 19572009-09-22 Pádraig Brady <P@draigBrady.com> 1958 1959 doc: stdbuf: mention it can have a non standard exit status 1960 * doc/coreutils.texi (Exit status): Add stdbuf to the list 1961 1962 maint: uptime: fix a theoretical compile warning 1963 * src/uptime.c (print_uptime) [!HAVE_UTMPX_H && !HAVE_UTMP_H]: 1964 Reference possibly unused arguments. 1965 1966 ls: fix a performance regression 1967 * src/ls.c (print_color_indicator): This reinstates commit f3f1ccfd, 1968 21-10-2008, "ls: make it possible to disable file capabilities checking" 1969 which was inadvertently reverted with commit 3a169f4c, 14-09-2009, 1970 "ls: handle disabling of colors consistently ...". 1971 19722009-09-22 Eric Blake <ebb9@byu.net> 1973 1974 build: avoid compiler warnings on cygwin 1.5 1975 * src/copy.c (utimens_symlink): Avoid unused variables. 1976 * src/su.c (getusershell): Rely on gnulib for prototype. 1977 19782009-09-21 Jim Meyering <meyering@redhat.com> 1979 1980 doc: ls: add an article, "the" 1981 * src/ls.c (usage): Tweak wording. 1982 19832009-09-21 Pádraig Brady <P@draigBrady.com> 1984 1985 ls: handle disabling of colors consistently for all tile types 1986 * src/ls.c (print_color_indicator): Use consistent syntax for 1987 all file and directory subtypes, and fall back to the color 1988 of the base type if there is no enabled color for the subtype. 1989 This allows turning off specific colors for o+w dirs for example. 1990 * tests/ls/color-dtype-dir: Add a case to test that turning off 1991 coloring for o+w directories, falls back to standard dir color. 1992 * NEWS: Mention the fix 1993 Introduced by commit ac467814, 2005-09-05, 1994 "Colorize set-user-ID ... files and sticky ... directories." 1995 1996 doc: ls: make help for --color more concise and accurate 1997 * src/ls.c (usage): Shorten the --color ancillary info by 1998 two lines, while replacing --color=none with --color=never. 1999 Mention "always" is the default parameter of the --color option, 2000 along with the primary help for that option. 2001 Mention the ancillary --color info in the --color primary help. 2002 2003 doc: normalize and add missing entries to texinfo menu 2004 * doc/coreutils.texi: Add the missing arch, base64, link, readlink, 2005 and unlink entries. Also remove extraneous '.' from some entries 2006 and try to align all entries on the same column. 2007 * THANKS: Add Benno Schulenberg. 2008 2009 doc: mention the texinfo documentation in --help 2010 * src/system.h: Rename emit_bug_reporting_address() to 2011 emit_ancillary_info() and update it to not print the translation 2012 project address in en_* locales, and _do_ print it in the 'C' 2013 (and other) locales so that it's included in the default man page. 2014 Also mention how to invoke the texinfo documentation for each command. 2015 Also move the "hard-locale.h" include to the 8 files that now use it. 2016 * man/help2man: Strip the newly added texinfo reference from the 2017 --help output as a more verbose version is already added by help2man. 2018 Suggestion from C de-Avillez 2019 20202009-09-21 Jim Meyering <meyering@redhat.com> 2021 2022 maint: automate the web-doc updating procedure 2023 * gnu-web-doc-update: New script, destined for gnulib. 2024 * README-release: Refer to the new script. 2025 20262009-09-19 Jim Meyering <meyering@redhat.com> 2027 2028 dircolors: arrange to highlight names with the .lz suffix 2029 * src/dircolors.hin: Add .lz, for GNU lzip. 2030 Suggested by Matias A. Fonzo. 2031 2032 mktemp: adapt to new, 3-argument gen_tempname_len 2033 * src/mktemp.c (mkstemp_len, mkdtemp_len): Update callers of 2034 gen_tempname_len. 2035 * gl/lib/tempname.c, gl/lib/tempname.h: Rebase against recently 2036 API-modified copy of tempname module in gnulib. 2037 Reported by Lluís Batlle. 2038 20392009-09-17 Jim Meyering <meyering@redhat.com> 2040 2041 build: merge bootstrap changes from gnulib 2042 * bootstrap: Update from gnulib. 2043 20442009-09-17 Eric Blake <ebb9@byu.net> 2045 2046 rm, rmdir: improve cross-compilation support 2047 * bootstrap.conf (gnulib_modules): Drop rmdir-errno. 2048 * src/rmdir.c (errno_rmdir_non_empty): Check both cases allowed by 2049 POSIX, rather than relying on configure-time check that might 2050 fail during cross-compilation. Reverts commit 9b6eb98d41. 2051 20522009-09-15 Ondřej Vašík <ovasik@redhat.com> 2053 2054 cp: fix a probably redundant chmod when setting xattrs 2055 * src/copy.c (copy_reg): Fix initial value of access_changed variable. 2056 This was introduced by Pádraig Brady in commit cca83faf, 2009-09-14, 2057 "cp,mv: preserve extended attributes even for read-only files" 2058 20592009-09-14 Jim Meyering <meyering@redhat.com> 2060 2061 doc: NEWS: mention origin of touch -t ....60 bug 2062 * NEWS: It is an old bug. 2063 2064 doc: touch, document that it accepts .60 2065 * doc/coreutils.texi (touch invocation): Document that SS may be 60. 2066 2067 touch: don't reject "60" as number of seconds in a legacy time stamp 2068 A valid command like "touch -t 197101010000.60 F" would fail due 2069 to the suffix of ".60". This bug is fixed via the latest change 2070 to gnulib's posixtm module. 2071 * tests/touch/60-seconds: New test. 2072 * tests/Makefile.am (TESTS): Add it. 2073 * NEWS (Bug fixes): Mention it. 2074 2075 build: update gnulib submodule to latest, for fixed posixtm module 2076 2077 maint: use #!/bin/sh consistently in shell-based test scripts 2078 * tests/misc/sort-continue: Change first line to standard #!/bin/sh, 2079 not #!/bin/bash (though it doesn't matter, since each is invoked 2080 via $(SHELL) dir/test-name. 2081 20822009-09-14 Pádraig Brady <P@draigBrady.com> 2083 2084 tests: fix dd/skip-seek-past-file to work on ecryptfs 2085 * tests/dd/skip-seek-past-file: Require sparse support 2086 to ensure that when we're checking if we can create an 2087 $OFF_T_MAX length file, that we don't actually allocate 2088 any space. This was an issue on ecryptfs and was reported 2089 by Bert Wesarg. 2090 20912009-09-14 Ondřej Vašík <ovasik@redhat.com> 2092 2093 cp,mv: preserve extended attributes even for read-only files 2094 * src/copy.c (copy_reg): Temporarily set u+rw on the destination file 2095 to allow GNU/Linux to set xattrs. 2096 * tests/misc/xattr: Test that change. 2097 * NEWS (Bug fixes): Mention it. 2098 Reported by Ernest N. Mamikonyan. 2099 21002009-09-14 Jim Meyering <meyering@redhat.com> 2101 2102 doc: improve timeout's --help message 2103 * src/timeout.c (usage): Improve --help description. 2104 21052009-09-13 Jim Meyering <meyering@redhat.com> 2106 2107 maint: use consistent cpp indentation in all .c files 2108 * src/stty.c: Make cpp indentation reflect nesting. 2109 * src/factor.c: Likewise. 2110 2111 doc: NEWS: say quadratic and linear, rather than O(N^2) and O(N) 2112 * NEWS: Use a slightly less technical description. 2113 Suggested by Andreas Schwab. 2114 2115 doc: improve NEWS 2116 * NEWS (rm -r, without -f): Mention that the N in "O(N)" represents 2117 hierarchy depth. Suggested by Ralf Wildenhues. 2118 (rm -r, standards conformance): Make wording more accurate. 2119 21202009-09-11 Jim Meyering <meyering@redhat.com> 2121 2122 id: don't print context=... when POSIXLY_CORRECT is set 2123 * src/id.c (print_full_info) [POSIXLY_CORRECT]: Don't print context. 2124 Reported by Ulrich Drepper. 2125 * NEWS (Changes in behavior): Mention it. 2126 * doc/coreutils.texi (id invocation): Document that id also prints the 2127 security context, when possible, and when POSIXLY_CORRECT is not set. 2128 * tests/id/no-context: New file. Test for this. 2129 * tests/Makefile.am (TESTS): Add it. 2130 21312009-09-11 Eric Blake <ebb9@byu.net> 2132 2133 rm: avoid compiler warning 2134 * src/remove.c (rm_fts): Don't allow fall-through when assertions 2135 are disabled. 2136 2137 euidaccess-stat: remove unnecessary macros 2138 * lib/euidaccess-stat.c (F_OK, R_OK, W_OK, X_OK): Delete; now 2139 guaranteed by gnulib. 2140 2141 rm: use gnulib faccessat 2142 * bootstrap.conf (gnulib_modules): Add faccessat. Replace strdup 2143 with strdup-posix. 2144 * m4/jm-macros.m4 (coreutils_MACROS): Revert previous change, now 2145 that gnulib does it for us. 2146 * src/remove.c (write_protected_non_symlink): Use faccessat in 2147 more situations. 2148 21492009-09-11 Jim Meyering <meyering@redhat.com> 2150 2151 rm: improve efficiency of rm -r (without -f) from O(N^2) to O(N) 2152 where N is the depth of the deepest hierarchy rm is processing. 2153 * src/remove.c (write_protected_non_symlink): Use faccessat to 2154 avoid O(N)-per-entry cost of calling euidaccess. 2155 * m4/jm-macros.m4 (coreutils_MACROS): Check for faccessat. 2156 * NEWS (Improvements): Mention it. 2157 2158 build: placate gcc's new -Wskip-jump-init 2159 * remove.c (rm_fts): Put braces around each of the two offending blocks. 2160 * configure.ac: Don't turn off -Wjump-misses-init. 2161 With the rewrite of remove.c, it is no longer needed. 2162 2163 rm: rewrite to use fts 2164 * remove.c: Don't include "unlinkdir.h"; no longer used. 2165 Do not include <setjmp.h> or "cycle-check.h". Likewise. 2166 Include "xfts.h". 2167 (dir_name, dir_len): Remove definitions. 2168 (CONSECUTIVE_READDIR_UNLINK_THRESHOLD): Likewise. 2169 (INODE_SORT_DIR_ENTRIES_THRESHOLD, NEED_REWIND, D_TYPE): Likewise. 2170 (struct dirstack_state, Dirstack_state): Likewise. 2171 (g_buf, g_n_allocated): Remove declarations. 2172 (hash_freer, hash_compare_strings, rm_malloc): Remove functions. 2173 (rm_free, push_dir, top_dir, pop_dir, right_justify): Likewise. 2174 (full_filename0, xfull_filename, full_filename_): Likewise. 2175 (AD_stack_height, AD_stack_top, AD_stack_pop, AD_stack_clear): Likewise. 2176 (obstack_init_minimal, ds_init, ds_clear, ds_free): Likewise. 2177 (AD_pop_and_chdir, AD_ensure_initialized, AD_mark_helper): Likewise. 2178 (AD_mark_as_unremovable, AD_mark_current_as_unremovable): Likewise. 2179 (AD_push_initial, AD_push, AD_push, AD_is_removable): Likewise. 2180 (write_protected_non_symlink): Change 3rd parameter from 2181 dirstack_state "ds" to full_name. 2182 (prompt): Adjust parameters. Now, state comes from FTS/FTSENT pair. 2183 Those replace fd_cwd and "ds". Remove "filename". Remove pdirent_type 2184 in favor of new "is_dir" parameter. Rename is_empty to is_empty_p. 2185 (DO_RMDIR, DO_UNLINK): Remove definitions. 2186 (remove_entry, fd_to_subdirp, compare_ino): Remove functions. 2187 (dirent_count, dirent_inode_sort_may_be_useful): Likewise. 2188 (preprocess_dir): Likewise. 2189 (fts_skip_tree, mark_ancestor_dirs, excise, rm_fts): New functions. 2190 (remove_cwd_entries, remove_dir, rm_1): Remove functions. 2191 (rm): Rewrite as a simple loop calling fts_read and dispatching 2192 each entry via rm_fts. 2193 * src/rm.c (main): Adapt to new signature of rm(). 2194 * bootstrap.conf (gnulib_modules): Remove unlinkdir, no longer used. 2195 * src/Makefile.am (sc_tight_scope): Also recognize an extern "enum" 2196 declaration. 2197 * tests/rm/empty-name: Adjust expected output to match new diagnostic. 2198 * NEWS (Improvements): Mention it. 2199 2200 maint: doc: adjust README-release 2201 * README-release: Remove mention of bootstrap's old 2202 --gnulib-srcdir=/gnulib option. No longer needed, and its 2203 use can lead to subtle problems. 2204 2205 post-release administrivia 2206 * NEWS: Add header line for next release. 2207 * .prev-version: Record previous version. 2208 * cfg.mk (old_NEWS_hash): Auto-update. 2209 2210 version 7.6 2211 * NEWS: Record release date. 2212 22132009-09-10 Jim Meyering <meyering@redhat.com> 2214 2215 link,ln: use gnulib's link module to work around Solaris 10 deficiency 2216 Before this change, :>f; ln -T f no-such/ would succeed on Solaris 10. 2217 After it, ln fails, as it should: ln: accessing `z/': Not a directory 2218 The command, link f no-such/, had the same problem on that system. 2219 * bootstrap.conf (gnulib_modules): Add "link". 2220 * tests/ln/slash-decorated-nonexistent-dest: New test. 2221 * tests/Makefile.am (TESTS): Add it. 2222 * NEWS (Portability): Mention the improvement. 2223 2224 build: update gnulib submodule to latest 2225 22262009-09-10 Ondřej Vašík <ovasik@redhat.com> 2227 2228 doc: improve various BLOCKSIZE and SIZE help 2229 * doc/coreutils.texi (multiplierSuffixes): Mention that 2230 the suffix can be specified without a leading number 2231 * src/split.c (usage): Refactor SIZE help to within a function 2232 * src/truncate.c (usage): Likewise 2233 * src/ls.c (usage): Likewise 2234 * src/df.c (usage): Likewise. Also add a function with BLOCKSIZE help 2235 * src/du.c (usage): Likewise. 2236 * src/system.h: Define 2 functions to emit common help text 2237 This was prompted by https://bugzilla.redhat.com/show_bug.cgi?id=511188 2238 22392009-09-10 Jim Meyering <meyering@redhat.com> 2240 2241 dd conv=unblock: print final newline consistently 2242 * src/dd.c (dd_copy) [C_UNBLOCK]: Always print the final newline for 2243 non-empty output, not just when output size is a multiple of cbs. 2244 * doc/coreutils.texi (dd invocation) [conv=unblock]: Mention that dd 2245 prints a newline after each output record, not just when replacing 2246 trailing spaces. 2247 Reported by Ulrich Drepper. 2248 * tests/dd/unblock: New file. Test for this. 2249 * tests/Makefile.am (TESTS): Add it. 2250 * NEWS (Bug fixes): Mention it. 2251 22522009-09-09 Jim Meyering <meyering@redhat.com> 2253 2254 maint: make cfg.mk slightly more generic 2255 * cfg.mk (url_dir_list): Don't hard-code "coreutils". Use $(PACKAGE). 2256 22572009-09-08 Jim Meyering <meyering@redhat.com> 2258 2259 * gnulib: Update submodule to latest. 2260 2261 tail: make the new piped-stdin test as portable as the old one 2262 * src/tail.c (main): Adapt piped-stdin test to use the same isapipe, 2263 test as was used in the preceding POSIXLY_CORRECT condition. 2264 Remove the now-subsumed POSIXLY_CORRECT test. 2265 Reported by Pádraig Brady. 2266 * doc/coreutils.texi (tail invocation): Document this change. 2267 * NEWS (Changes in behavior): Reclassify, clarify. 2268 22692009-09-08 Pádraig Brady <P@draigBrady.com> 2270 2271 tests: tail-2/assert: reduce risk of race condition 2272 * tests/tail2/assert: This reverts commit be853120, 25-08-2009, 2273 "tests: tail-2/assert: avoid risk of race condition" 2274 kill -0 doesn't send a signal and so will only confirm that the 2275 background process was forked, which we know already because 2276 we have its pid. 2277 2278 tests: address a race condition in misc/cat-buf 2279 * tests/misc/cat-buf: Increase the delay between writes 2280 to decrease the chance that dd will read both at once. 2281 Since the test is inherently racy, print a warning via 2282 skip_test_ rather than failing outright. 2283 Reported by Jim Meyering. 2284 22852009-09-07 Jim Meyering <meyering@redhat.com> 2286 2287 tail: syntax-only: use "false", rather than equivalent, 0 2288 * src/tail.c (record_open_fd): Initialize "->ignore" to false, not 0. 2289 2290 tail: ignore -f for piped-stdin, as POSIX requires 2291 * src/tail.c (main): Tailing a pipe "forever" is not useful, 2292 and POSIX specifies that tail ignore the -f when there is no 2293 file argument and stdin is a FIFO or pipe. So we do that. 2294 In addition, GNU tail excludes "-" arguments from the list of files 2295 to tail forever, when the associated file descriptor is connected 2296 to a FIFO or pipe. Before this change, ":|tail -f" would hang. 2297 Reported by Ren Yang and Ulrich Drepper. 2298 * tests/tail-2/pipe-f: Test for this. 2299 * tests/tail-2/pipe-f2: Ensure tail doesn't exit early for a fifo. 2300 * tests/Makefile.am (TESTS): Add these tests. 2301 * NEWS (POSIX conformance): Mention it. 2302 23032009-09-07 Pádraig Brady <P@draigBrady.com> 2304 2305 tests: tail-2/flush-initial should not rely on stdbuf 2306 * tests/tail-2/flush-initial: stdbuf is not built on all systems. 2307 In any case it's redundant since stdout will automatically be buffered 2308 since we're redirecting to file. So just call tail without using stdbuf. 2309 23102009-09-07 Jim Meyering <meyering@redhat.com> 2311 2312 tail: don't give up on inotify mode for an already-ignored "-" 2313 * src/tail.c (main): Adjust today's change to honor the 2314 F[i].ignore flag that may have been set in tail_file. 2315 2316 tests: misc/cat-buf: clean up syntax 2317 * tests/misc/cat-buf: Don't suppress dd's stderr. 2318 Remove useless quotes. 2319 2320 tests: ls/color-clear-to-eol: append NL to accommodate old sed 2321 * tests/ls/color-clear-to-eol: Some vendor sed programs fail 2322 to operate on lines that are not NL-terminated. 2323 This affects at least Solaris 10's /bin/sed. 2324 Reported by Pádraig Brady. 2325 2326 tests: tail-2/infloop-1: avoid rare test failure on a busy system 2327 * tests/tail-2/infloop-1: Sleep 3 seconds, not 1, but in increments 2328 of 0.1 second. Before, this test would fail ~1 time in 20 via 2329 "make -j9 check" on a quad-core system. 2330 Correct comment. 2331 2332 build: update gnulib submodule to latest 2333 2334 doc: tweak NEWS 2335 * NEWS (dd): Tweak wording. 2336 Two blank lines between sections. 2337 2338 tail -f: handle "-"/stdin once again 2339 * src/tail.c (main) [HAVE_INOTIFY]: When stdin (i.e., "-", or no args, 2340 but not /dev/stdin) is specified on the command line, don't use inotify. 2341 Reported by Bill Brelsford in <http://bugs.debian.org/545422>. 2342 * tests/tail-2/follow-stdin: New file. Test for this. 2343 * tests/Makefile.am (TESTS): Add the test. 2344 * NEWS (Bug fixes): Mention it. 2345 This bug was introduced in coreutils-7.5 via commit ae494d4b, 2346 2009-06-02, "tail: use inotify if it is available". 2347 23482009-09-06 Jim Meyering <meyering@redhat.com> 2349 2350 tests: tail-2/flush-initial: correct race avoidance code 2351 * tests/tail-2/flush-initial: Wait for the file to be nonempty, 2352 not for the process. Based on a suggestion from Pádraig Brady. 2353 2354 tests: ls-misc: don't let a bogus umask cause test failure 2355 * tests/misc/ls-misc: Set umask to 022. A umask setting permitting 2356 world-write access, e.g., umask o+w, would cause this test to fail. 2357 Report by Mathias Brodala and analysis by Tom Fitzhenry in 2358 <http://bugs.debian.org/544965>. 2359 2360 tail: flush initial output before possibly blocking 2361 * src/tail.c (main): Flush any output from tail_file, 2362 before calling tail_forever_inotify, which can block. 2363 * tests/tail-2/flush-initial: New file. Test for the bug. 2364 * tests/Makefile.am (TESTS): Add tail-2/flush-initial. 2365 * NEWS (Bug fixes): Mention it. 2366 This bug was introduced in coreutils-7.5 via commit ae494d4b, 2367 2009-06-02, "tail: use inotify if it is available". 2368 23692009-09-05 Jim Meyering <meyering@redhat.com> 2370 2371 maint: remove unused file: lib/fdopendir-glibc.c 2372 * lib/fdopendir-glibc.c: Remove unused file. 2373 2374 2009-09-05 Jim Meyering <meyering@redhat.com> 2375 2376 tests: ls/stat-vs-dirent: avoid spurious test failure 2377 * tests/ls/stat-vs-dirent: Avoid test failure when run from a 2378 directory whose name (or ancestor directory name) starts with ".". 2379 23802009-09-05 Pádraig Brady <P@draigBrady.com> 2381 2382 doc: make the tail --sleep-interval help less confusing 2383 * src/tail.c (usage): I read "approximately S seconds" 2384 as "approximately 5 seconds" for approximately 5 seconds. 2385 2386 maint: remove some tab indentation from copy.c 2387 * src/copy.c (copy_internal): Remove tabs erroneously added 2388 in commit 3346c0af. 2389 2390 tests: test old tail -f method even on systems with inotify 2391 * src/tail.c (main): Add an undocumented ---disable-inotify option 2392 to allow disabling inotify. 2393 * tests/tail-2/pid: Run test in both normal and "disable_inotify" modes. 2394 * tests/tail-2/tail-n0f: Likewise. 2395 * tests/tail-2/wait: Likewise. 2396 * tests/tail-2/append-only: Likewise. 2397 23982009-09-05 Jim Meyering <meyering@redhat.com> 2399 2400 build: update gnulib submodule to latest 2401 24022009-09-05 Petr Salinger <Petr.Salinger@seznam.cz> 2403 2404 stty: use TAB0, TAB1, and TAB2 only if defined 2405 * src/stty.c (mode_info) [TAB0, TAB1, TAB2]: Guard each 2406 entry with #ifdef. Required for GNU/kFreeBSD. 2407 Reported by Petr Salinger in http://bugs.debian.org/520368. 2408 24092009-09-05 Eric Blake <ebb9@byu.net> 2410 2411 build: update from gnulib 2412 * gnulib: Update submodule to latest. 2413 24142009-09-04 Eric Blake <ebb9@byu.net> 2415 2416 ln: add comments related to POSIX 2008 2417 * src/ln.c (ENABLE_HARD_LINK_TO_SYMLINK_WARNING): Delete. 2418 (do_link): Update comments per POSIX; add FIXME for -L, -P. 2419 2420 mv, cp: tweak LINK_FOLLOWS_SYMLINKS logic 2421 * gnulib: Update to latest gnulib. 2422 * src/copy.c (copy_internal): Adjust comment in light of POSIX 2423 2008, and deal with macro now being tri-state. 2424 24252009-09-04 Petr Salinger <Petr.Salinger@seznam.cz> 2426 2427 tests: fix a tail-2/pid failure on GNU/kFreeBSD 2428 * tests/tail-2/wait: Increase the file name recheck frequency to 2429 fix a failure on systems without inotify and a file timestamp precision 2430 of 1 second (like GNU/kFreeBSD). 2431 24322009-09-04 Pádraig Brady <P@draigBrady.com> 2433 2434 tests: fix a failure when running tail-2/wait as root 2435 * tests/tail-2/wait: Silently skip a portion of the test 2436 when running as root, rather than failing the whole test. 2437 This regression was introduced with commit 84b5844d, 2009-09-03, 2438 "tests: simplify and fix a race in 2 tail --follow tests". 2439 24402009-09-04 Mike Frysinger <vapier@gentoo.org> 2441 2442 build: fix libcap configure flag handling 2443 * m4/jm-macros.m4 (coreutils_MACROS): The code to handle configure-time 2444 enabling or disabling of libcap support was broken. It would treat any 2445 libcap configure option as --disable-libcap because it doesn't check 2446 $enableval at all. This change makes sure we do the sane thing: 2447 --disable-libcap -> disable and don't run any tests 2448 --enable-libcap -> run tests and fail if not found 2449 default -> run tests and warn if not found 2450 24512009-09-03 Jim Meyering <meyering@redhat.com> 2452 2453 df: don't fail due to an unreadable argument 2454 * src/df.c (main): If open or fstat fails when we're trying to ensure 2455 that all arg-partitions are automounted, fall back on using stat. 2456 Inspired by the report and patch from Olivier Fourdan in 2457 http://bugzilla.redhat.com/520630. 2458 * NEWS (Bug fixes): Mention it. 2459 * tests/df/unreadable: New test for the above. 2460 * tests/Makefile.am (TESTS): Add df/unreadable. 2461 The bug was introduced in coreutils-7.3 via commit dbd17157, 2462 2009-04-28, "df: use open(2), not stat, to trigger automounting". 2463 24642009-09-03 Kamil Dudka <kdudka@redhat.com> 2465 2466 doc: install -C: fix bug in the texi documentation 2467 * doc/coreutils.texi: Move the documentation for install --compare (-C) 2468 from the section on fmt to that for install. 2469 Reported by Florian Schlichting. 2470 24712009-09-03 Pádraig Brady <P@draigBrady.com> 2472 2473 tests: simplify and fix a race in 2 tail --follow tests 2474 * tests/tail-2/pid: Use the timeout command to determine process 2475 longevity, rather than querying /proc/$pid/status. 2476 The latter was racy in any case when inotify is used, as then 2477 tail wakes up periodically even for unchanging files therefore 2478 causing the check for "S (sleeping)" state to fail intermittently. 2479 * tests/tail-2/wait: Likewise. 2480 24812009-09-03 Ondřej Vašík <ovasik@redhat.com> 2482 2483 cp: don't leak resources for each xattr preservation failure 2484 * src/copy.c (copy_reg): Don't return from the function after an 2485 unsuccessful and required preservation of extended attributes. 2486 This resulted in leaking the copy buffer and file descriptors. 2487 * NEWS (Bug fixes): Mention the fix. 2488 The bug was introduced in coreutils-7.1 via commit 0889381c, 2009-01-23, 2489 "cp/mv: add xattr support". 2490 24912009-09-01 Pádraig Brady <P@draigBrady.com> 2492 2493 chcon, chmod, chgrp, chown, du: report fts_close failure 2494 * src/du.c (du_files): Don't fail silently upon fts_close failure. 2495 * src/chcon.c (process_files): Likewise. 2496 * src/chmod.c (process_files): Likewise. 2497 * src/chown-core.c (chown_files): Likewise. 2498 24992009-09-01 Jim Meyering <meyering@redhat.com> 2500 2501 build: update from gnulib 2502 * gnulib: Update submodule to latest. 2503 2504 chcon, chmod, chgrp, chown, du: do not ignore fts_close failure 2505 This is probably never visible, but who knows... 2506 * src/chcon.c (process_files): Don't ignore fts_close failure. 2507 * src/chmod.c (process_files): Likewise. 2508 * src/chown-core.c (chown_files): Likewise. 2509 * src/du.c (du_files): Likewise. 2510 2511 maint: du: remove unnecessary initialization 2512 * src/du.c (main): Don't set "skip_file" unnecessarily. 2513 2514 maint: chown, chgrp, chmod, chcon: remove unnecessary initialization 2515 * src/chown-core.c: Include "ignore-value.h". 2516 (change_file_owner): Don't set "ent" only to ignore it. 2517 * src/chcon.c (process_file): Likewise. 2518 * src/chmod.c: Include "ignore-value.h". 2519 (process_file): Don't set "ent" only to ignore it. 2520 After diagnosing root-dev/ino failure, return false immediately: 2521 Now that we don't set "ent" we must be sure not to use it uninitialized, 2522 and there's no point in issuing --verbose-related output in this case. 2523 2524 maint: shred: remove unnecessary initialization 2525 * src/shred.c (genpattern): Value stored to "n" is never used. 2526 2527 maint: dd: remove unnecessary initialization 2528 * src/dd.c (skip): Remove set-but-never-used variable, soffset. 2529 2530 maint: tail: remove unnecessary initialization 2531 * src/tail.c (tail_bytes): Don't compute "diff" twice. 2532 2533 maint: mbsalign.c: remove unnecessary assignment 2534 * gl/lib/mbsalign.c (mbsalign): Remove assignment, the result of which 2535 is never used. 2536 25372009-09-01 Pádraig Brady <P@draigBrady.com> 2538 2539 timeout: remove a redundant assignment 2540 * src/timeout.c (main): While keeping argc and argv in 2541 sync may be marginally useful, it is redundant to update argc, 2542 so just remove that to suppress the clang warning. 2543 2544 timeout: defensive handling of all wait() errors 2545 * src/timeout.c (main): Handle all possible cases of unexpected 2546 failures from wait(). This was prompted by the clang tool reporting 2547 the possible non-initialization of the status variable. 2548 25492009-09-01 Jim Meyering <meyering@redhat.com> 2550 2551 ls -i: print consistent inode numbers also for mount points 2552 On most unix- and linux-based kernels, ls -i DIR_CONTAINING_MOUNT_POINT 2553 would print the wrong inode number for any entry that is a mount point. 2554 It would do that by relying on readdir's dirent.d_ino values, while 2555 most readdir implementations return the inode number of the underlying, 2556 inaccessible directory. Thus, it is not consistent with what you'd 2557 get when applying stat to the same entry. This bug led to surprising 2558 results like "ls -i" and "ls -i --color" printing different numbers (ls 2559 must usually "stat" a file to colorize its name). This change makes it 2560 so that on offending systems, ls must stat non-command-line-arguments 2561 for which otherwise it would be able to use "for free" dirent.d_ino 2562 values. Regardless of this change, ls is already required to stat every 2563 command-line argument. Note: versions of GNU ls prior to coreutils-6.0 2564 did not perform the invalid optimization, and hence always printed 2565 correct inode numbers. Thus, for the sake of correctness, ls -i is 2566 forgoing the readdir optimization, for any kernel (including linux!) 2567 with POSIX-nonconforming readdir. Note that currently, only Cygwin has 2568 been agile enough to conform. 2569 2570 * src/ls.c (RELIABLE_D_INO): Define. 2571 (print_dir): Use it. 2572 For plenty of discussion, see this long thread: 2573 http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14020 2574 This bug was introduced by the 2006-02-26 commit, 33eb3efe: 2575 "In ls, avoid calling stat for --inode (-i), when possible." 2576 * tests/ls/readdir-mountpoint-inode: New test. 2577 * tests/Makefile.am (TESTS): Add it. 2578 * tests/ls/stat-vs-dirent: Don't suppress failure of this test, 2579 now that ls -i is fixed. Though note that it doesn't test well, 2580 since it compares only the always-stat'd command-line arguments. 2581 * NEWS (Bug fixes): Mention it. 2582 25832009-08-31 Jim Meyering <meyering@redhat.com> 2584 2585 maint: revert my stdbuf change: the result didn't even compile 2586 This reverts commit c1e158489d88bad418d52ceadf37af0b6f5b2112. 2587 25882009-08-30 Jim Meyering <meyering@redhat.com> 2589 2590 maint: stdbuf: move a declaration; no-semantic-change 2591 * src/stdbuf.c (set_program_path): Move a declaration down into 2592 the scope where it's used. 2593 2594 build: quiet "make check" in src/ 2595 * src/Makefile.am (check-duplicate-no-install): Use $(AM_V_GEN). 2596 (check-README): Likewise. And $(AM_V_at). 2597 2598 doc: cp: update note on preserving symlink time stamps 2599 * doc/coreutils.texi (cp invocation): Now, we *do* preserve time 2600 stamps on symlinks, when possible. 2601 2602 build: update bootstrap from gnulib 2603 * bootstrap: Merge from gnulib. 2604 26052009-08-30 Pádraig Brady <P@draigBrady.com> 2606 2607 tests: don't misbehave if $TMPDIR contains spaces 2608 * tests/misc/xattr: Add quotes. 2609 * tests/mv/acl: Likewise. 2610 * tests/mv/backup-is-src: Likewise. 2611 * tests/mv/hard-link-1: Likewise. 2612 * tests/mv/leak-fd: Likewise. 2613 * tests/mv/mv-special-1: Likewise. 2614 * tests/mv/part-fail: Likewise. 2615 * tests/mv/part-hardlink: Likewise. 2616 * tests/mv/part-rename: Likewise. 2617 * tests/mv/part-symlink: Likewise. 2618 * tests/mv/partition-perm: Likewise. 2619 * tests/mv/sticky-to-xpart: Likewise. 2620 26212009-08-29 Jim Meyering <meyering@redhat.com> 2622 2623 tests: other-fs-tmpdir: don't misbehave for quote-unfriendly $TMPDIR 2624 * tests/other-fs-tmpdir: Quote uses of variables that might expand 2625 to strings containing e.g., whitespace. 2626 2627 build: update from gnulib 2628 * gnulib: Update submodule to latest. 2629 2630 tests: move a coreutils-specific test from maint.mk to Makefile.am 2631 * Makefile.am (distcheck-hook): Make taint-distcheck here, since it's 2632 no longer done via maint.mk. 2633 2634 tests: cp/reflink-auto guard against a pathological $TMPDIR 2635 * tests/cp/reflink-auto: Add quotes. 2636 26372009-08-29 Pádraig Brady <P@draigBrady.com> 2638 2639 cp --reflink: preserve attributes on cloned files if asked 2640 * src/copy.c (copy_reg): When cloning only skip the data copying 2641 * tests/cp/reflink-perm: New test to check times and modes copied 2642 * tests/Makefile.am: Reference the new test 2643 * NEWS: Mention the fix 2644 2645 cp --reflink: add an "auto" parameter to fall back to a normal copy 2646 * doc/coreutils.texi (cp invocation): Document the new 2647 "auto" and "always" options to --reflink. 2648 * src/copy.c (copy_reg): Fall back to a standard copy 2649 when reflink() is not supported and --reflink=auto specified. 2650 * src/copy.h [struct cp_options] (reflink): Change type s/bool/enum/. 2651 * src/cp.c (usage): Describe the --reflink={always,auto} options 2652 and expand a little on what --reflink does. 2653 (main): parse the new parameters to --reflink and allow all 2654 --sparse options with --reflink=auto. 2655 * src/install.c (cp_option_init): Init the enum instead of bool. 2656 * src/mv.c (cp_option_init): Likewise. 2657 * tests/cp/reflink-auto: A new test for falling back to normal copy. 2658 * tests/Makefile.am: Reference the new test. 2659 * NEWS: Mention the new feature. 2660 2661 stdbuf: fix a small typo in --help output 2662 * src/stdbuf.c (usage): s/then/the/ 2663 26642009-08-28 Eric Blake <ebb9@byu.net> 2665 2666 build: avoid unused variable warnings on cygwin 2667 * src/copy.c (clone_file, copy_attr_by_fd, copy_attr_by_name): 2668 Mark up unused variables. 2669 * src/remove.c (dirent_inode_sort_may_be_useful): Likewise. 2670 2671 dd: detect closed stderr 2672 * src/dd.c (maybe_close_stdout): Always flush stderr; regression 2673 introduced in commit 381e69ea. 2674 * tests/misc/close-stdout (p): Use consistent style. 2675 * tests/dd/stderr: New test, borrowing from misc/close-stdout. 2676 * tests/Makefile.am (TESTS): Run it. 2677 * NEWS: Mention this. 2678 26792009-08-28 Jim Meyering <meyering@redhat.com> 2680 2681 maint: ignore only man/*.1, not all *.1 files 2682 * .gitignore: Ignore *.1 only in man/ 2683 26842009-08-27 Jim Meyering <meyering@redhat.com> 2685 2686 build: prefix a few rules with $(AM_V_GEN) 2687 * Makefile.am (.version, dist-hook, gen-ChangeLog): Use $(AM_V_GEN) 2688 and $(AM_V_at), so that automake's silent-rules option (make V=1/V=0) 2689 now controls whether the commands are printed at build time. 2690 (THANKS-to-translators, check-ls-dircolors): Likewise. 2691 26922009-08-26 Jim Meyering <meyering@redhat.com> 2693 2694 build: stop earlier if touching ChangeLog fails 2695 * bootstrap.conf: Exit right away if touching ChangeLog fails. 2696 Otherwise, the touch failure message is buried under configure output. 2697 2698 tests: mkdir/selinux: avoid spurious failure on some SELinux systems 2699 * tests/test-lib.sh (require_selinux_enforcing_): New function. 2700 * tests/mkdir/selinux: Use it. 2701 Otherwise, this test would fail on Rawhide with SELinux disabled. 2702 2703 tests: tail-2/assert: avoid risk of race condition 2704 * tests/tail-2/assert: Avoid spurious failure due to race condition. 2705 Rather than sleeping for 1 second and crossing fingers, 2706 wait explicitly for backgrounded tail process to start. 2707 Otherwise, this test would fail under heavy load. 2708 27092009-08-25 Jim Meyering <meyering@redhat.com> 2710 2711 maint: ensure we don't embed Emacs indent-tabs-mode setting lines 2712 Now that we prohibit indentation via TABs, there's no need for 2713 Emacs indent-tabs-mode setting lines, so prohibit those, too. 2714 * cfg.mk (sc_prohibit_emacs__indent_tabs_mode__setting): New rule. 2715 2716 maint: remove Local Variables: indent-tabs-mode: nil from all sources 2717 * src/getlimits.c: Likewise. 2718 * src/group-list.c: Likewise. 2719 * src/groups.c: Likewise. 2720 * src/mktemp.c: Likewise. 2721 * src/setuidgid.c: Likewise. 2722 * src/stdbuf.c: Likewise. 2723 * src/timeout.c: Likewise. 2724 * src/truncate.c: Likewise. 2725 * gl/lib/mbsalign.c: Likewise. 2726 * tests/test-lib.sh: Likewise. 2727 * bootstrap: Likewise. 2728 * README-hacking: Likewise. 2729 2730 doc: HACKING: mention the new space-only indentation policy 2731 2732 maint: teach "make syntax-check" the space-only indentation rule 2733 * cfg.mk (sc_prohibit_tab_based_indentation): New rule. 2734 * .x-sc_prohibit_tab_based_indentation: New file. 2735 * Makefile.am (syntax_check_exceptions): Add file, 2736 .x-sc_prohibit_tab_based_indentation. 2737 2738 global: convert indentation-TABs to spaces 2739 Transformed via this shell code: 2740 t=$'\t' 2741 git ls-files \ 2742 | grep -vE '(^|/)((GNU)?[Mm]akefile|ChangeLog)|\.(am|mk)$' \ 2743 | grep -vE 'tests/pr/|help2man' \ 2744 | xargs grep -lE "^ *$t" \ 2745 | xargs perl -MText::Tabs -ni -le \ 2746 '$m=/^( *\t[ \t]*)(.*)/; print $m ? expand($1) . $2 : $_' 2747 27482009-08-24 Jim Meyering <meyering@redhat.com> 2749 2750 cp: ignore obscure failure to preserve symlink time stamps, 2751 ...when run on a kernel older than what was implied by headers and 2752 libraries tested at configure time. 2753 * src/copy.c (utimens_symlink): Ignore failure when errno == ENOSYS. 2754 * NEWS (Bug fixes): Mention it. 2755 Reported by Todd Zullinger and Kamil Dudka. 2756 Details in this thread: 2757 http://thread.gmane.org/gmane.linux.redhat.fedora.devel/119834 2758 27592009-08-23 Jim Meyering <meyering@redhat.com> 2760 2761 tests: skip (don't fail) a cp test, upon mount-related failure 2762 * tests/cp/cp-mv-enotsup-xattr: Upon a set-up failiure, rather than 2763 failing the test with a "framework failure" diagnostic, just skip it. 2764 Russell Whitaker reported that this test failed on slackware. 2765 2766 build: update from *public* gnulib 2767 * gnulib: Update submodule to latest. 2768 Kamil Dudka reported that bootstrap was broken. 2769 27702009-08-22 Jim Meyering <meyering@redhat.com> 2771 2772 build: update from gnulib 2773 * gnulib: Update submodule to latest. 2774 27752009-08-20 Jim Meyering <meyering@redhat.com> 2776 2777 post-release administrivia 2778 * NEWS: Add header line for next release. 2779 * .prev-version: Record previous version. 2780 * cfg.mk (old_NEWS_hash): Auto-update. 2781 2782 version 7.5 2783 * NEWS: Record release date. 2784 2785 tests: skip the stdbuf tests when the abs build directory name is bogus 2786 * tests/misc/stdbuf: Avoid spurious failure when the directory name 2787 from which we'd set LD_PRELOAD contains unsafe characters. 2788 2789 install: avoid a portability bug when compiling with non-gcc 2790 * src/install.c (extra_mode): Be careful to return only a 0 or 1 2791 value, since this is a "bool" function, and there are still some 2792 compilers for which this is necessary. Without this change, 2793 Bernhard Voelker reported that the Forte Developer 7 C 5.4 2002/03/09 2794 compiler would produce a malfunctioning "install" binary. Details in 2795 http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/17710/focus=17760 2796 27972009-08-19 Jim Meyering <meyering@redhat.com> 2798 2799 tests: make install-C slightly less prone to confusion 2800 * tests/install/install-C: Invoke framework_failure, if necessary. 2801 2802 build: avoid "make dist" failure in man/ 2803 Now that "make check" no longer builds programs like arch, ... 2804 * src/Makefile.am (dist-hook): Depend on $(all_programs), so that the 2805 subsequent build in man/ doesn't fail due to lack of a program like 2806 arch that is not going to be installed. 2807 28082009-08-18 Jim Meyering <meyering@redhat.com> 2809 2810 build: update from gnulib 2811 * gnulib: Update submodule to latest. 2812 28132009-08-18 Giuseppe Scrivano <gscrivano@gnu.org> 2814 2815 nl: deprecate --page-increment in favor of --line-increment 2816 * NEWS: Mention the change. 2817 * doc/coreutils.texi: Document the new --line-increment option. 2818 * src/nl.c (struct option): Add --line-increment, 2819 (usage): Describe it, 2820 (main): Use it. 2821 28222009-08-18 Jim Meyering <meyering@redhat.com> 2823 2824 tests: stdbuf: fix a bug in test script 2825 * tests/misc/stdbuf: Use skip_test_ only after it's defined. 2826 Reported by Berhnard Voelker. 2827 2828 (sc_check-AUTHORS): Rename rule from check-AUTHORS. 2829 2830 build: perform check-AUTHORS via syntax-check, not via "make check" 2831 * src/Makefile.am (check): Don't depend on check-AUTHORS. 2832 That check fails on systems for which a program like stdbuf is 2833 not built. Instead, move this check to "make syntax-check". 2834 (sc_check-AUTHORS): Rename rule from check-AUTHORS. 2835 * cfg.mk (sc_check-AUTHORS): New rule. 2836 Reported by Berhnard Voelker. 2837 2838 sort: use more portable initialization syntax 2839 * src/sort.c (find_unit_order): Spell out 256-element static 2840 initializer, rather than relying on C99 syntax. 2841 Required for Forte Developer 7 C 5.4 2002/03/09 on Solaris 10. 2842 Reported by Bernhard Voelker. 2843 28442009-08-17 Jim Meyering <meyering@redhat.com> 2845 2846 build: suppress warnings due to gcc's new -Wjump-misses-init 2847 * configure.ac: Ignore -Wjump-misses-init violations in remove.c. 2848 2849 build: update from gnulib 2850 * gnulib: Update submodule to latest. 2851 28522009-08-16 Jim Meyering <meyering@redhat.com> 2853 2854 tests: tail-2/append-only: don't discard stderr 2855 * tests/tail-2/append-only: Don't discard a diagnostic that 2856 may help explain why this test fails for some. Details in 2857 http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/17621/focus=17641 2858 28592009-08-14 Jim Meyering <meyering@redhat.com> 2860 2861 tests: skip the misc/stdbuf test if stdbuf was not built 2862 * tests/misc/stdbuf: Skip this test when stdbuf is not built. 2863 Reported by Eric Blake. 2864 2865 build: use gnulib's getopt-gnu module (getopt is now deprecated) 2866 * bootstrap.conf (gnulib_modules): Gnulib's getopt module is now 2867 deprecated; use the new, preferred name, getopt-gnu. 2868 * gnulib: Update to latest. 2869 28702009-08-14 Pádraig Brady <P@draigBrady.com> 2871 2872 cp,mv: fix issues with preserving timestamps of copied symlinks 2873 * src/copy.c (copy_internal): On systems without utimensat don't 2874 use utimens on a symlink, as that would dereference the symlink. 2875 * tests/cp/abuse: To work around possible attribute preservation 2876 failures breaking the test, use cp -dR rather than cp -a. 2877 2878 doc: clarify the cp --reflink NEWS 2879 * NEWS: Remove the description associated with the removed 2880 experimental code which unconditionally tried to reflink() on copy. 2881 Also clarify where --reflink works exactly. 2882 28832009-08-13 Jim Meyering <meyering@redhat.com> 2884 2885 tests: raise ulimit virt-mem limit to avoid new failure 2886 * tests/cp/link-heap: Raise limit from 16MB to ~20MB, 2887 to avoid spurious failure on rawhide. 2888 28892009-08-13 Pádraig Brady <P@draigBrady.com> 2890 2891 tail: fix tail -f failure when inotify used 2892 * src/tail.c (tail_forever_inotify): Remove the redundant and 2893 incorrect error check of the return from inotify_add_watch(). 2894 Also initialize the wd member of each File_spec to an invalid value. 2895 Reported by C de-Avillez. 2896 2897 dd: fix a signal handling race 2898 * src/dd.c (main): Install the signal handlers at startup 2899 rather than just before the copy starts. In this way signals 2900 received before the copy (like during a slow truncate for e.g.) 2901 will be deferred and handled consistently. 2902 * THANKS: Add Bernhard's email address. 2903 * NEWS: Mention the fix. 2904 Reported by Bernhard Voelker. 2905 29062009-08-12 Pádraig Brady <P@draigBrady.com> 2907 2908 tests: improve one of the tail --pid tests 2909 * tests/tail-2/pid: Speed up the test by specifying a 2910 timeout of 100ms rather than the default 1s. Also 2911 skip the test instead of failing in the unlikely case 2912 were the pid required to be missing pid is present. 2913 29142009-08-10 Jim Meyering <meyering@redhat.com> 2915 2916 nl, pinky: replace uses of strcat 2917 * src/nl.c (main): Avoid strcat, on principle. Use stpcpy instead. 2918 * src/pinky.c (print_long_entry): Likewise. 2919 2920 build: update from gnulib, for HOST_NAME_MAX on solaris 10 2921 * gnulib: Update submodule to latest. 2922 29232009-08-07 Giuseppe Scrivano <gscrivano@gnu.org> 2924 2925 cp: accept the --reflink option 2926 * NEWS: Mention it. 2927 * doc/coreutils.texi (cp invocation): Describe it. 2928 * src/copy.h (struct cp_options) [reflink]: New member. 2929 * src/copy.c (usage): Describe it. 2930 (copy_reg): If reflink is true try to clone the file. 2931 (main): Check for --reflink. 2932 (cp_option_init): Initialize the new member. 2933 * src/install.c (cp_option_init): Initialize the new member. 2934 * src/mv.c (cp_option_init): Likewise. 2935 * tests/cp/sparse: Add a new test case. 2936 29372009-08-07 Jim Meyering <meyering@redhat.com> 2938 2939 dd: preserve semantics of O_DIRECT even for final block 2940 * src/dd.c: Include "ignore-value.h" 2941 (iwrite): When disabling O_DIRECT, try to compensate 2942 via POSIX_FADV_DONTNEED and fsync. 2943 Suggested by Eric Sandeen. 2944 29452009-08-06 Jim Meyering <meyering@redhat.com> 2946 2947 maint: move selinux-at module from gl/ to gnulib 2948 * gl/lib/selinux-at.c: Remove file. 2949 * gl/lib/selinux-at.h: Likewise. 2950 * gl/modules/selinux-at: Likewise. 2951 * gnulib: update to latest, to get the new module. 2952 2953 dd: work around buffer length restrictions with oflag=direct (O_DIRECT) 2954 dd oflag=direct would fail to copy a file with size that is 2955 not a multiple of 512 (destination file system specific) 2956 2957 * NEWS (Bug fixes): Mention it. 2958 * src/dd.c (iwrite): Turn off O_DIRECT for any 2959 smaller-than-obs-sized write. Don't bother to restore it. 2960 * tests/dd/direct: New test for the above. 2961 * tests/Makefile.am (TESTS): Add dd/direct. 2962 * doc/coreutils.texi (dd invocation): Mention oflag=direct 2963 buffer size restriction. 2964 Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/17586 2965 Reported by Eric Sandeen. 2966 29672009-08-04 Jim Meyering <meyering@redhat.com> 2968 2969 dd: remove unnecessary #if HAVE_FTRUNCATE 2970 * src/dd.c (main): Remove unnecessary cpp directives. 2971 Gnulib guarantees that ftruncate is usable. 2972 2973 cp -pP (and e.g., -a): preserve time stamps on symlinks, too 2974 * src/copy.c (utimensat_if_possible): New function. 2975 (copy_internal): Remove variable, "preserve_metadata". 2976 Replace with "dest_is_symlink". That covers all cases but one: 2977 the one in which cp --link has created hard links to non-directories. 2978 In that case, there is no need to update attributes of the links. 2979 Use utimensat_if_possible, to preserve timestamps of symlinks. 2980 * NEWS (New features): Mention this. 2981 * tests/Makefile.am (TESTS): Add cp/preserve-slink-time. 2982 * tests/cp/preserve-slink-time: New file. 2983 * m4/jm-macros.m4 (coreutils_MACROS): Test for utimensat. 2984 Reported in http://bugzilla.redhat.com/230866 2985 29862009-08-04 Kamil Dudka <kdudka@redhat.com> 2987 2988 install runs faster again with SELinux enabled 2989 * m4/jm-macros.m4: Pull in SELinux libraries while checking for 2990 matchpathcon_init_prefix (). Emit configure warning when not found 2991 with SELinux enabled. 2992 * NEWS (Bug fixes): Mention it. 2993 The bug was introduced in coreutils-7.0 via commit 0647f3eb, 2008-06-02, 2994 "accommodate older SELinux which lacks matchpathcon_init_prefix". 2995 29962009-08-04 Jim Meyering <meyering@redhat.com> 2997 2998 maint: move the update-copyright rule to gnulib's maint.mk 2999 * gnulib: Update submodule to get latest maint.mk. 3000 * Makefile.am (update-copyright): Remove rule; now it's in maint.mk. 3001 * m4/check-decl.m4: Update sole remaining copyright year list. 3002 30032009-07-31 Jim Meyering <meyering@redhat.com> 3004 3005 build: *really* update to a usable gnulib commit 3006 3007 build: update to a usable gnulib commit 3008 The commit, 5ef90695, 2009-07-29, "maint: move update-copyright 3009 to gnulib" recorded a local-only commit. 3010 Reported by Pádraig Brady. 3011 30122009-07-30 Jim Meyering <meyering@redhat.com> 3013 3014 tests: new function: require_openat_support_ 3015 * tests/rm/inaccessible: Factor out openat-support-detection code... 3016 * tests/test-lib.sh (require_openat_support_): ...into this new function. 3017 3018 tail: tweak indentation 3019 * src/tail.c (tail_forever_inotify): Adjust indentation of continued line. 3020 30212009-07-30 Pádraig Brady <P@draigBrady.com> 3022 3023 tail: properly parse fractional seconds when monitoring a pid 3024 * src/tail.c (tail_forever_inotify): The fractional 3025 part of the delay was 1000 times too large. 3026 * tests/tail-2/pid: Add a test to ensure the 3027 timeout happens for this case. 3028 30292009-07-30 Jim Meyering <meyering@redhat.com> 3030 3031 tests: test for just-fixed tail --pid bug 3032 * tests/tail-2/pid: Ensure tail exits successfully when PID dies. 3033 30342009-07-30 Giuseppe Scrivano <gscrivano@gnu.org> 3035 3036 tail: exit successfully upon watched process death 3037 * src/tail.c (tail_forever_inotify): If a PID is specified and the 3038 watched process dies, exit with status EXIT_SUCCESS, rather than 3039 falling through to an EXIT_FAILURE. 3040 30412009-07-29 Jim Meyering <meyering@redhat.com> 3042 3043 maint: move update-copyright to gnulib 3044 * build-aux/update-copyright: Remove file. 3045 * bootstrap.conf (gnulib_modules): Add update-copyright. 3046 * gnulib: Update submodule to latest. 3047 3048 maint: make update-copyright work in yet another case 3049 * build-aux/update-copyright: Handle the case in which "\n#" 3050 appears between the final year number and the copyright holder name. 3051 * m4/lib-check.m4: Update copyright year list. 3052 Reported by Joel E. Denny. 3053 3054 maint: update NEWS 3055 * NEWS (New features): Mention it. 3056 30572009-07-29 Giuseppe Scrivano <gscrivano@gnu.org> 3058 3059 cp: support btrfs' copy-on-write file clone operation 3060 * src/copy.c [HAVE_SYS_IOCTL_H]: Include <sys/ioctl.h>. 3061 (BTRFS_IOCTL_MAGIC, BTRFS_IOC_CLONE): Define. 3062 (clone_file): New function. 3063 (copy_reg): Use the btrfs clone operation if possible. 3064 30652009-07-29 Jim Meyering <meyering@redhat.com> 3066 3067 maint: update sleep.c's copyright year list 3068 * src/sleep.c: Update copyright year list to include 2009. 3069 * tests/sort-time/rand-gen: Remove long-unused file. 3070 * tests/sort-time/README: Likewise. 3071 30722009-07-29 Joel E. Denny <jdenny@clemson.edu> 3073 3074 maint: improve update-copyright rule 3075 * Makefile.am (update-copyright): Relax the selection rule 3076 to match any file containing the word "Copyright". 3077 Correct the exclusion rule so that it also excludes ChangeLog 3078 and COPYING files that are not in the top level directory. 3079 30802009-07-29 Jim Meyering <meyering@redhat.com> 3081 3082 maint: update-copyright: fix just-introduced bug 3083 * build-aux/update-copyright: ... and revert-for-now the 3084 change that made this script invoke localtime only once. 3085 3086 maint: make update-copyright handle more cases 3087 * build-aux/update-copyright: Handle cases in which the final 3088 year number and copyright holder are on separate lines. 3089 Prompted by a report from Joel E. Denny. 3090 Also, do not invoke localtime for each line we process. 3091 30922009-07-29 Pádraig Brady <P@draigBrady.com> 3093 3094 doc: fix the generated HTML index 3095 * doc/coreutils.texi: Move the "SELinux context" section 3096 down below the "System context" nodes so that the HTML 3097 index is generated correctly. Also some extraneous and missing 3098 '.' characters were corrected in the index. 3099 Reported by Benno Schulenberg. 3100 31012009-07-28 Giuseppe Scrivano <gscrivano@gnu.org> 3102 3103 tail: use the inotify backend also with --pid=PID 3104 * src/tail.c (tail_forever_inotify): When a PID is specified, use 3105 select to block for no more than sleep_interval seconds at a time, 3106 and check for process death upon timeout. 3107 (main): Adapt to new tail_forever_inotify interface. 3108 31092009-07-27 Jim Meyering <meyering@redhat.com> 3110 3111 tests: new test for bug in ls -1U dir arg ... 3112 * tests/misc/ls-misc (multi-arg-U1): New test. 3113 31142009-07-27 Kamil Dudka <kdudka@redhat.com> 3115 3116 ls -1U dir arg ... now works again 3117 * src/ls.c (print_dir): Emit "$dir_name:\n" *before* accumulating (and 3118 possibly printing) directory entry names. 3119 The bug was introduced in coreutils-7.0 via commit 3120 8d974b00, 2008-07-30, "ls -U1 now uses constant memory". 3121 Reported by Julian Bradfield. 3122 * NEWS (Bug fixes): Mention it. 3123 31242009-07-27 Heikki Orsila <heikki.orsila@iki.fi> 3125 3126 tr: improve --help's description of --complement (-c) 3127 31282009-07-27 Pádraig Brady <P@draigBrady.com> 3129 3130 doc: add a sort by line length example 3131 * doc/coreutils.texi (sort invocation): Add an example showing how 3132 to sort data not directly supported by the sort command. 3133 3134 doc: mention realpath in the readlink info 3135 * doc/coreutils.texi (readlink invocation): Add realpath to the index, 3136 and also mention it in the readlink description so people 3137 searching for that functionality can easily make the connection. 3138 31392009-07-26 Jim Meyering <meyering@redhat.com> 3140 3141 build: use a fixed-name temporary in man/Makefile.am 3142 * man/Makefile.am (check-x-vs-1): Using a fixed-name temporary file 3143 is better than one ending in -$$, because many -$$-suffixed files 3144 may accumulate over time. 3145 31462009-07-24 Kamil Dudka <kdudka@redhat.com> 3147 3148 doc: improve readlink description here, too 3149 * doc/coreutils.texi (readlink invocation): Update menus. 3150 Add @cindex entries. 3151 31522009-07-24 Jim Meyering <meyering@redhat.com> 3153 3154 readlink: improve one-line summary: prints canonical file names, too 3155 * src/readlink.c (usage): Adjust one-line summary. 3156 * man/readlink.x: Likewise. 3157 Suggested by Kamil Dudka. 3158 31592009-07-21 Jim Meyering <meyering@redhat.com> 3160 3161 build: update from gnulib 3162 * gnulib: Update submodule to latest. 3163 31642009-07-14 Jim Meyering <meyering@redhat.com> 3165 3166 doc: point to Guile's ChangeLog-writing guidelines 3167 * HACKING (Commit log requirements): Point to Guile's 3168 http://www.gnu.org/software/guile/changelogs/guile-changelogs_3.html. 3169 Mention that a bit of prose can be welcome. 3170 31712009-07-11 Jim Meyering <meyering@redhat.com> 3172 3173 tail: adjust type of a local variable 3174 * src/tail.c (tail_forever_inotify): Declare "len" to be of type 3175 size_t, not ssize_t, since the former is what safe_read returns. 3176 31772009-07-09 Jim Meyering <meyering@redhat.com> 3178 3179 tests: avoid false-positive cp/link-heap failure 3180 * tests/cp/link-heap: Increase address space limit from 14000KB 3181 to 16000KB, to avoid failure with Debian unstable's libc6-dev-2.9-19 3182 3183 build: avoid build warn/failure due to -Wstack-protector 3184 * configure.ac: Do not enable -Wstack-protector. 3185 Otherwise, at least df.c would provoke a warning. 3186 31872009-07-08 Ondřej Vašík <ovasik@redhat.com> 3188 3189 copy.c: remove a duplicate expression 3190 * src/copy.c (copy_attr_error): remove a redundant expression 3191 added in commit e0cf592f, 2009-04-27, "factor out test for errno ...". 3192 31932009-07-08 Jim Meyering <meyering@redhat.com> 3194 3195 build: update from gnulib 3196 * gnulib: Update submodule to latest. 3197 3198 tail: use size_t for counter and index variables, ... 3199 * src/tail.c (any_live_files): ... not "int" or even unsigned int 3200 (tail_forever, tail_forever_inotify, main): Likewise. 3201 3202 tail: declare "file descriptor" variable to be "int", not size_t 3203 * src/tail.c (tail_forever_inotify): Use "int", not size_t 3204 as the type of a file descriptor variable. 3205 32062009-07-04 Jim Meyering <meyering@redhat.com> 3207 3208 move argv-iter module to gnulib 3209 * gl/lib/argv-iter.c: Remove file. 3210 * gl/lib/argv-iter.h: Remove file. 3211 * gl/modules/argv-iter: Remove file. 3212 * gl/modules/argv-iter-tests: Remove file. 3213 * gl/tests/test-argv-iter.c: Remove file. 3214 * gnulib: Update submodule, to get argv-iter 3215 32162009-07-04 Giuseppe Scrivano <gscrivano@gnu.org> 3217 3218 tests: refactor code to use require_proc_pid_status_ 3219 * tests/tail-2/tail-n0f: Read the process status using the test-lib.sh 3220 require_proc_pid_status_ function. 3221 3222 tests: use the "nobody" user's group as the default group id 3223 * tests/chroot/credentials: Use the group id, not its name. 3224 * tests/test-lib.sh (NON_ROOT_GROUP): Use the "nobody" user's group in 3225 place of "nogroup". 3226 32272009-07-03 Jim Meyering <meyering@redhat.com> 3228 3229 build: update from gnulib 3230 * gnulib: Update submodule to latest. 3231 32322009-07-03 Pádraig Brady <P@draigBrady.com> 3233 3234 sort: allow SI and IEC units on separate human sort fields 3235 * src/sort.c: Store the si_present state per key rather than globally 3236 * tests/misc/sort: Add a check that would have previously failed. 3237 Also add a test to demonstrate that invalid IEC/SI mixtures are not 3238 always noticed when they're not significant to the sort. 3239 32402009-07-03 Giuseppe Scrivano <gscrivano@gnu.org> 3241 3242 tail: avoid an inotify portability problem in kernels prior to 2.6.21 3243 * src/tail.c (tail_forever_inotify): Handle the special case in which 3244 an old inotify watcher returns 0. Affects kernels in [2.6.13, 2.6.21). 3245 32462009-07-03 Jim Meyering <meyering@redhat.com> 3247 3248 tests: tail-2/wait: rename internal file name 3249 * tests/tail-2/wait: Rename file from not_accessible to unreadable, 3250 since all the test cares about is readability. 3251 32522009-07-03 Giuseppe Scrivano <gscrivano@gnu.org> 3253 3254 tests: tail-2/wait: don't fail when run as root 3255 * tests/tail-2/wait: Ensure that the unreadable file really is not 3256 readable before trying to run "tail -f" on it. 3257 32582009-07-03 Pádraig Brady <P@draigBrady.com> 3259 3260 doc: update the info on sort -b and -k 3261 * doc/coreutils.texi (sort invocation): Mention in the description 3262 of -b, that the locale can also affect whether blanks are significant. 3263 Update the list of ordering options for a --key that cause it 3264 to not inherit any global ordering options. 3265 Update the list of ordering options that implicitly skip whitespace. 3266 3267 maint: generalize the development prerequisites docs 3268 * README-hacking: Add a little more high level info and 3269 merge notes on specific developer prerequisites into README-prereq 3270 * README-prereq: Remove the Fedora 8 specific information 3271 and generalize the information to be applicable to any system. 3272 32732009-06-29 Jim Meyering <meyering@redhat.com> 3274 3275 tail: add comments noting potential inotify-related problems 3276 * src/tail.c (tail_forever_inotify): Add two FIXME comments. 3277 32782009-06-28 Jim Meyering <meyering@redhat.com> 3279 3280 maint: bootstrap: merge changes from gnulib 3281 * bootstrap: Indent using spaces, not TABs. 3282 3283 maint: bootstrap: sync submodule usage from gnulib 3284 * bootstrap: Config for git submodule use only if .gitmodules exists. 3285 3286 maint: bootstrap: split a few long lines 3287 * bootstrap (found_aux_dir): Avoid lines longer than 80 columns. 3288 32892009-06-27 Jim Meyering <meyering@redhat.com> 3290 3291 maint: don't change COPYING 3292 * COPYING: Don't modify Copyright date list in imported file. 3293 This file is one of very few exceptions in that we version-control it, 3294 even though its primary source is another package. 3295 Spotted by Eric Blake. 3296 3297 maint: add a rule to automate the annual copyright-year-update process 3298 * build-aux/update-copyright: New file. 3299 * Makefile.am (changelog_etc): Add update-copyright. 3300 (update-copyright): New rule. 3301 33022009-06-27 Pádraig Brady <P@draigBrady.com> 3303 3304 stdbuf: fix to stop -i option causing an assertion 3305 * src/stdbuf.c (main): Fix the array bounds check in the assert 3306 * tests/misc/stdbuf: Add a test for all standard streams 3307 33082009-06-25 Pádraig Brady <P@draigBrady.com> 3309 3310 doc: clarify the tail inotify NEWS 3311 * NEWS: Say why inotify was used 3312 33132009-06-23 Jim Meyering <meyering@redhat.com> 3314 3315 maint: update all Copyright year lists to include 2009 3316 3317 maint: remove old TODO files 3318 * lib/TODO: Remove file. 3319 * tests/join/TODO: Likewise. 3320 3321 doc: README-hacking tweak 3322 * README-hacking: Move the "While building..." sentence down 3323 to where it belongs. 3324 3325 tests: tail-2/pid: include more info upon failure 3326 * tests/tail-2/pid: Print unexpected $state upon failing. 3327 33282009-06-20 Jim Meyering <meyering@redhat.com> 3329 3330 doc: typo fix in README-hacking 3331 * README-hacking: Fix a typo. 3332 Don't make building from a git-cloned tree sound so hard. 3333 3334 build: update from gnulib (hash module updates; maint.mk tweak) 3335 * gnulib: Update submodule to latest. 3336 33372009-06-17 Jim Meyering <meyering@redhat.com> 3338 3339 doc: fix a typo 3340 * doc/coreutils.texi (stdbuf invocation): Insert missing "to". 3341 33422009-06-17 Pádraig Brady <P@draigBrady.com> 3343 3344 stdbuf: A new program to run a command with modified stdio buffering 3345 * AUTHORS: Register as the author. 3346 * NEWS: Mention this change. 3347 * README: Add stdbuf command to list. 3348 * configure.ac: Only enable on ELF systems with GCC. 3349 * cfg.mk (sc_system_h_headers): Use VC_LIST_EXCEPT rather than 3350 VC_LIST, so we can add an exception, if needed. 3351 * .x-sc_system_h_headers: New file. Exempt libstdbuf.c. 3352 * Makefile.am (syntax_check_exceptions): Add .x-sc_system_h_headers. 3353 * doc/coreutils.texi (stdbuf invocation): Add stdbuf info. 3354 * man/.gitignore: Ignore generated manpage. 3355 * src/.gitignore: Ignore stdbuf and libstdbuf.so binaries. 3356 * man/Makefile.am (stdbuf.1): Add dependency. 3357 * man/stdbuf.x: New file with example usage. 3358 * po/POTFILES.in: Reference new command and shared library sources. 3359 * src/Makefile.am (build_if_possible__progs): Add stdbuf and libstdbuf, 3360 (pkglib_PROGRAMS): Reference optional shared lib, 3361 (libstdbuf_so_LDADD): Ensure we don't link with non PIC libcoreutils.a. 3362 (libstdbuf_so_LDFLAGS): Add -shared GCC option, 3363 (libstdbuf_so_CFLAGS): Add -fPIC GCC option. 3364 (check-README): Exclude libstbuf. 3365 (check-AUTHORS): ditto. 3366 (sc_tight_scope): Exclude functions starting with __. 3367 * src/libstdbuf.c: The LD_PRELOAD shared library to control buffering. 3368 * src/stdbuf.c: New file to setup env variables before execing command. 3369 * tests/Makefile.am: Reference new test file. 3370 * tests/misc/help-version: Set expected exit codes. 3371 * tests/misc/invalid-opt: ditto. 3372 * tests/misc/stdbuf: Add 9 tests. 3373 33742009-06-16 Jim Meyering <meyering@redhat.com> 3375 3376 doc: cp: describe an oddity of combining -H/-L and --preserve=links 3377 * doc/coreutils.texi (cp invocation) [-L]: Elaborate. 3378 [--preserve=links]: Remove comments saying that we need documentation 3379 for just this situation. Provide more explanation and examples. 3380 Reported by Brian M. Carlson in http://bugs.debian.org/525048. 3381 33822009-06-15 Jim Meyering <meyering@redhat.com> 3383 3384 maint: revert last change: we're not ready for "local" in scripts, yet 3385 Revert "use a local var: more readable" 3386 This reverts commit c0d82452883a10911c9cbc69c84144d99b7e6b08. 3387 3388 use a local var: more readable 3389 33902009-06-15 Giuseppe Scrivano <gscrivano@gnu.org> 3391 3392 tail: use inotify if it is available 3393 * NEWS: Document the new feature. 3394 * m4/jm-macros.m4: Check if inotify is present. 3395 * src/tail.c (tail_forever_inotify): New function. 3396 (main): Use the inotify-based function, if possible. 3397 * tests/Makefile.am: Add new tests for tail. 3398 * tests/test-lib.sh (require_proc_pid_status_, get_process_status_): 3399 New functions. 3400 * tests/tail-2/pid: New file. 3401 * tests/tail-2/wait: New file. 3402 * tests/tail-2/tail-n0f: Refactor code into the test-lib.sh 3403 require_proc_pid_status_ function. 3404 34052009-06-13 Jim Meyering <meyering@redhat.com> 3406 3407 diag: say "failed to...", rather than "cannot..." in a few diagnostics 3408 * src/chroot.c (main): ...it's more precise. 3409 * src/nohup.c (main): Likewise. 3410 * src/setuidgid.c (main): Likewise. 3411 * src/timeout.c (main): Likewise. 3412 34132009-06-13 Cliff Miller <cbm@whatexit.org> 3414 3415 sort: Ignore fields where end position is before the start position 3416 * NEWS: Mention the fix 3417 * THANKS: Add Cliff Miller 3418 * src/sort.c (keycompare): Ensure lima >= texta 3419 * tests/misc/sort: Add 3 corresponding tests 3420 34212009-06-11 Pádraig Brady <P@draigBrady.com> 3422 3423 tests: ls --color, permissions override hardlink coloring 3424 * tests/ls/multihardlink: Add a test case to demonstrate 3425 and test this non obvious behavior. 3426 34272009-06-11 Kamil Dudka <kdudka@redhat.com> 3428 3429 ls --color: do not colorize files with multiple hard links by default 3430 * src/ls.c: Rename hl->mh, do not colorize files with multiple 3431 hard links by default. 3432 * src/dircolors.c: Rename HARDLINK -> MULTIHARDLINK, hl -> mh. 3433 * src/dircolors.hin: Do not colorize files with multiple hard links by 3434 default. 3435 * tests/Makefile.am: Rename the test case accordingly. 3436 * tests/ls/multihardlink: Additionally test ls' default behavior 3437 and factor out some duplication. 3438 * NEWS: Mention the change in behavior. 3439 34402009-06-08 Pádraig Brady <P@draigBrady.com> 3441 3442 maint: Add a syntax-check to ensure all .x-sc_ files are distributed 3443 * Makefile.am: Add a couple of missing entries to 3444 syntax_check_exceptions for distribution. 3445 * cfg.mk: Add a rule to ensure the syntax_check_exceptions list 3446 stays in sync with the .x-sc_* files in the repository. 3447 34482009-06-07 Jim Meyering <meyering@redhat.com> 3449 3450 build: update from gnulib 3451 * gnulib: Update submodule to latest. 3452 3453 sort: die immediately upon heap allocation failure 3454 * src/sort.c (register_proc): Handle hash_insert failure. 3455 34562009-06-04 Mike Frysinger <vapier@gentoo.org> 3457 3458 dircolors: add screen-256color-bce to TERM list 3459 * src/dircolors.hin: Add screen-256color-bce. 3460 34612009-06-03 Jim Meyering <meyering@redhat.com> 3462 3463 doc: HACKING: minor adjustments, additions 3464 * HACKING (Amending...): Remove spurious "-e" used with commit --amend. 3465 (log message policy): Mention the 72-column limit. 3466 "build:" and "maint:" are common prefixes, these days. 3467 3468 doc: adjust wording in README-prereq 3469 3470 dircolors: recognize .xz, .txz, .tbz and .tlz suffixes 3471 * src/dircolors.hin: Add .xz, .txz, .tbz and .tlz. 3472 3473 doc: use newer URL for XZ utils 3474 * README-hacking: Use <http://tukaani.org/xz/> 3475 * README-prereq: Mention xz, not lzma. 3476 34772009-06-03 Matěj Cepl <mcepl@redhat.com> 3478 3479 doc: adjust README-prereq instructions 3480 * README-prereq: Mention new requirement on automake-1.11, 3481 with its new location and updated dependency on autoconf-2.62. 3482 Remove the reference to coreutils-7.0 so that this file 3483 implicitly refers to the latest or release version of coreutils. 3484 Fix and clarify the instructions for updating the $PATH. 3485 34862009-06-02 Jim Meyering <meyering@redhat.com> 3487 3488 doc: HACKING: mention the GNU Coding Standards 3489 * HACKING (Add documentation): Add a link to the GCS. 3490 3491 build: no longer list gnulib's "memchr" module as obsolete 3492 * bootstrap.conf (obsolete_gnulib_modules): Remove memchr from 3493 the list, now that it fixes a problem in some modern C libraries. 3494 (gnulib_modules): Add it here. 3495 3496 build: make generated man/*.1 files read-only 3497 This should help people notice that they are generated. 3498 Note: each file already has a comment to that effect from help2man. 3499 * man/Makefile.am (.x.1): Make generated files read-only. 3500 Also, don't redirect directly to the target, $@. 3501 3502 build (man/): use automake's new $(AM_V_GEN) variable 3503 * man/Makefile.am (.x.1, check-x-vs-1, check-programs-vs-x): 3504 Mark with $(AM_V_GEN), so that automake-1.11 prints 3505 "GEN $@" by default (stick with "GEN" in spite of the latter two 3506 rules not officially generating anything -- they're just tests). 3507 3508 chroot: make --groups= work without --userspec=; be more robust 3509 * src/chroot.c (set_additional_groups): Add comments. 3510 Given an empty or all-comma group list, diagnose it and return nonzero. 3511 When more than one group is invalid, diagnose all of them, 3512 not just the first. 3513 (main): Honor --groups= also when --userspec= is not specified. 3514 Now that set_additional_groups consistently diagnoses its failures, 3515 don't diagnose it separately here. 3516 * tests/chroot/credentials: Do not invoke with an empty group list. 3517 3518 chroot: don't set bogus user-ID or group-ID for --u=U: or --u=:G 3519 * src/chroot.c (main): Initialize both "uid" and "gid". To -1. 3520 This also allows one to set the user-ID or primary group-ID to 0, 3521 in case it's not that already. 3522 * tests/chroot/credentials: Test for the above. 3523 3524 chroot: set-*-ID failure must provoke nonzero exit before execvp 3525 * src/chroot.c (main): Exit upon set-group-ID or set-user-ID failure. 3526 3527 tests: use "nobody" as the default group name in chroot test 3528 * tests/test-lib.sh (NON_ROOT_GROUP): Use "nobody", not "nogroup". 3529 3530 build: make distcheck rules use --enable-gcc-warnings 3531 * dist-check.mk (warn_cflags): Remove definition, now that it's 3532 been subsumed by --enable-gcc-warnings. 3533 (my-distcheck): Use configure with --enable-gcc-warnings and remove 3534 use of $(warn_cflags). 3535 35362009-05-30 Eric Blake <ebb9@byu.net> 3537 3538 head, tail: make --help less ambiguous 3539 * src/head.c (usage): Use -n K, not -n N, to avoid confusion. 3540 * src/tail.c (usage): Likewise. 3541 * doc/coreutils.texi (head invocation, tail invocation): 3542 Likewise. 3543 Reported by Christophe Lyon. 3544 35452009-05-26 Michael Speer <knomenet@gmail.com> 3546 3547 sort: new --human-numeric-sort option to sort KiB MB etc. 3548 * NEWS: Document the new option 3549 * doc/coreutils.texi (sort invocation): ditto 3550 * src/sort.c (main): handle the new --human-numeric-sort option (-h). 3551 (human_numcompare): A new function to compare SI and IEC suffixes 3552 before falling back to the standard --numeric comparison. 3553 (find_unit_order): A new helper function to find the order 3554 of magnitude of a number string as determined by its suffix. 3555 (check_mixed_SI_IEC): A new helper function to exit with error 3556 if both SI and IEC suffixes are presented. 3557 * tests/misc/sort: Add 8 tests to test the new functionality. 3558 * THANKS: Update 3559 35602009-05-26 Giuseppe Scrivano <gscrivano@gnu.org> 3561 3562 chroot: accept new options --userspec=U:G and --groups=G1,G2,G3 3563 * NEWS: Note chroot's new options. 3564 * doc/coreutils.texi: Document them. 3565 * src/chroot.c (main): Add support for --userspec and --groups. 3566 * tests/Makefile.am (root-tests): Add chroot/credentials. 3567 * tests/chroot/credentials: New file. 3568 * tests/test-lib.sh: Define NON_ROOT_GROUP to a default value. 3569 35702009-05-18 Pádraig Brady <P@draigBrady.com> 3571 3572 doc: clarify the operation of the comm -123 parameters 3573 * src/comm.c (usage): give more information on the -123 parameters, 3574 with examples to show that they can be combined. 3575 Addresses <http://savannah.gnu.org/bugs/?24974>. 3576 * doc/coreutils.texi (comm invocation): Mention that the 3577 column separators are suppressed along with the column. 3578 Suggestion from Dan Jacobson. 3579 * man/comm.x: Reference other commands that match adjacent lines. 3580 * man/join.x: ditto. 3581 * man/uniq.x: ditto. 3582 35832009-05-18 Jim Meyering <meyering@redhat.com> 3584 3585 build: require automake-1.11 3586 * bootstrap.conf (buildreq): Require automake-1.11, not 1.10b, 3587 for our use of AM_SILENT_RULES. 3588 * configure.ac (AM_INIT_AUTOMAKE): Likewise. 3589 35902009-05-17 Jim Meyering <meyering@redhat.com> 3591 3592 maint: HACKING: mention a few more useful git commands 3593 * HACKING (Miscellaneous useful git commands): Add a few. 3594 3595 build: avoid new "make distcheck" failure with gcc 4.5.0 20090517 3596 * dist-check.mk (warn_cflags): Add -Wno-enum-compare. 3597 3598 build: avoid new warnings from gcc 4.5.0 20090517 3599 * configure.ac: Add an explicit -Wno-logical-op, 3600 now that not listing -Wlogical-op is insufficient. 3601 3602 maint: use ARRAY_CARDINALITY more 3603 * src/sort.c (main): Use ARRAY_CARDINALITY, rather than open-coding it. 3604 * src/factor.c (WHEEL_END): Likewise. 3605 * src/csplit.c (main): Likewise. 3606 * src/od.c: Likewise, 3607 * src/ls.c (main): Likewise. 3608 (N_ENTRIES): Remove definition. Use ARRAY_CARDINALITY instead. 3609 * src/dircolors.c: Likewise. 3610 (array_len): Remove definition. 3611 3612 build: tr: avoid a warning due to newer gcc's -Wenum-compare 3613 * src/tr.c (N_CHAR_CLASSES): Remove anonymous enum definition. 3614 (look_up_char_class): Use ARRAY_CARDINALITY, rather than N_CHAR_CLASSES. 3615 3616 maint: define ARRAY_CARDINALITY in system.h 3617 * src/system.h (ARRAY_CARDINALITY): Define if not already defined. 3618 3619 build: turn off -Wlong-long 3620 * configure.ac: With --enable-gcc-warnings, -Wlong-long would 3621 cause compilation failure due to inclusion of lib/gethrxtime.h. 3622 Initialize "nw". 3623 36242009-05-16 Jim Meyering <meyering@redhat.com> 3625 3626 maint: cfg.mk: remove now-unnecessary gnulib_dir definition 3627 * cfg.mk (gnulib_dir): Remove definition, now that gnulib's 3628 maint.mk provides the default we want. 3629 * gnulib: Update submodule to latest. 3630 36312009-05-15 Pádraig Brady <P@draigBrady.com> 3632 3633 tests: fix date-next-dow failure on older systems 3634 * tests/misc/date-next-dow: In the strftime call use %Y-%m-%d 3635 rather than the newer %F equivalent which is not available 3636 on Solaris 8 for example. 3637 36382009-05-14 Jim Meyering <meyering@redhat.com> 3639 3640 build: update from gnulib, for rename.m4 fix, improved tests, etc. 3641 * gnulib: Update submodule to latest. 3642 3643 maint: README-release: minor improvements 3644 * README-release: Mention gnu_ftp_host-{alpha,...} settings in cfg.mk. 3645 Now that XZ_OPT is set via maint.mk, don't mention it here. 3646 36472009-05-11 Eric Blake <ebb9@byu.net> 3648 3649 truncate: fix bug in use of isspace 3650 * src/truncate.c (main): Pass unsigned characters to isspace. 3651 * NEWS: Mention this. 3652 36532009-05-07 Jim Meyering <meyering@redhat.com> 3654 3655 post-release administrivia 3656 * NEWS: Add header line for next release. 3657 * .prev-version: Record previous version. 3658 * cfg.mk (old_NEWS_hash): Auto-update. 3659 3660 version 7.4 3661 * NEWS (Build-related): Mention make check fixes. 3662 3663 admin: update NEWS 3664 * NEWS (Bug fixes): Mention the date-related fixes. 3665 (Portability): Mention the ACL-related fixes on *BSD. 3666 36672009-05-05 Pádraig Brady <P@draigBrady.com> 3668 3669 doc: note the use of LC_COLLATE in comm, join and uniq 3670 * doc/coreutils.texi (uniq invocation): Simplify the 3671 text to remove the inconsequential mentioning of order, 3672 while implying that LC_COLLATE can alter equality comparisons. 3673 * src/comm.c (usage): Mention LC_COLLATE is significant. 3674 * src/join.c (usage): Ditto. 3675 * src/uniq.c (usage): Ditto. Also improve the summary. 3676 Suggestion from Andries Brouwer 3677 36782009-05-05 Jim Meyering <meyering@redhat.com> 3679 3680 tests: rm/one-file-system: umount more reliably 3681 * tests/rm/one-file-system: Run umount via trap, so it runs 3682 also upon irregular termination. 3683 36842009-05-05 Andreas Schwab <schwab@linux-m68k.org> 3685 3686 tests: fix typo in check-AUTHORS rule 3687 * src/Makefile.am (check-AUTHORS): Set locale. 3688 36892009-05-04 Jim Meyering <meyering@redhat.com> 3690 3691 build: use a gnulib SHA1 that is not private 3692 * gnulib: Update submodule to latest *public*. 3693 3694 build: update from gnulib, for ACL-related fixes 3695 * gnulib: Update submodule to latest. 3696 36972009-05-03 David Bartley <dtbartle@csclub.uwaterloo.ca> 3698 3699 mv, rm: adapt to new and improved gnulib interfaces 3700 Use gnulib's new priv-set module and updated write-any-file. 3701 With them, the remove-called can_write_any_file function no 3702 longer tries to drop the unlink-directory privilege, so now 3703 each caller of remove must do that separately, calling 3704 priv_set_remove_linkdir. 3705 * bootstrap.conf (gnulib_modules): Add priv-set. 3706 * src/rm.c: Include "priv-set.h". 3707 (main): Call priv_set_remove_linkdir. 3708 * src/mv.c (main): Likewise. 3709 * gnulib: Update submodule to latest. 3710 37112009-05-03 Jim Meyering <meyering@redhat.com> 3712 3713 tests: correct the "make check"-run check-AUTHORS test 3714 * src/Makefile.am (check-AUTHORS): Revert back to using 3715 en_US.UTF-8, to ease parsing (English-only) text around the 3716 list of names, even when .po files are not installed. 3717 Reported by Andreas Schwab. 3718 Along the way, use $(AM_V_GEN), not "@". 3719 (sc_tight_scope): Use $(AM_V_GEN) here, too. 3720 * gnulib: Update submodule to latest, for the proper_name_utf8 fix 3721 that makes --version output print the UTF-8 rendering of author names 3722 in more cases. 3723 3724 tests: add tests of e.g., date -d 'next monday' 3725 * tests/misc/date-next-dow: New file. 3726 * tests/Makefile.am (TESTS): Add misc/date-next-dow. 3727 * gnulib: Update submodule to latest, for getdate.y that 3728 handles "next Monday" properly when run on a Monday. 3729 37302009-05-01 Jim Meyering <meyering@redhat.com> 3731 3732 post-release administrivia 3733 * NEWS: Add header line for next release. 3734 * .prev-version: Record previous version. 3735 * cfg.mk (old_NEWS_hash): Auto-update. 3736 3737 version 7.3 3738 * NEWS: Record release date. 3739 3740 maint: tweak release-building notes 3741 * README-release: Specify -j1 on the command to run all tests. 3742 Otherwise, running some in parallel would cause failures, e.g., 3743 for rm/ext3-perf and tail-2/assert-2. 3744 37452009-05-01 Eric Blake <ebb9@byu.net> 3746 3747 stdopen: remove unused code 3748 * m4/stdopen.m4: Delete now-unused file. 3749 * lib/stdopen.h: Likewise. 3750 * lib/stdopen.c: Likewise. 3751 37522009-04-30 Jim Meyering <meyering@redhat.com> 3753 3754 build: update from gnulib, for fixed lib/signbitl.c 3755 * gnulib: Update submodule to latest. 3756 3757 build: "make check" now fails in a friendlier manner for missing Perl 3758 * doc/Makefile.am (sc-lower-case-var): Don't redirect stderr of 3759 $(PERL) (which is sometimes build-aux/missing) to /dev/null, 3760 so that a failing "make check" explains that Perl is not installed. 3761 Reported by James Youngman. 3762 3763 build: doc: emit something for each "make check"-run rule 3764 * doc/Makefile.am: Use $(AM_V_GEN) in place of each leading "@". 3765 (check-texinfo): Align line-continuation backslashes. 3766 37672009-04-29 Jim Meyering <meyering@redhat.com> 3768 3769 build: update from gnulib, for the lib/*-state.c compilation fixes 3770 * gnulib: Update submodule to latest. 3771 37722009-04-28 Pádraig Brady <P@draigBrady.com> 3773 3774 misc: correct NEWS entry about id -G portability 3775 * NEWS (Portability): getgrouplist has the portability issues, 3776 not getgroups. 3777 37782009-04-28 Jim Meyering <meyering@redhat.com> 3779 3780 df: adjust comment to match recent code change 3781 * src/df.c (main): Update comment to match. 3782 3783 misc: mention the df vs. automount change 3784 * NEWS (Portability): Mention that df now accommodates the new 3785 behavior of some automounters. 3786 3787 misc: alphabetize NEWS entries 3788 37892009-04-28 Tomas Smetana <t.smetana@gmail.com> 3790 3791 df: use open(2), not stat, to trigger automounting 3792 * src/df.c (main): When iterating over command-line arguments, 3793 attempting to ensure each backing file system is mounted, use 3794 open, not stat. stat is no longer sufficient to trigger 3795 automounting, in some cases. Based on a suggestion from Ian Kent. 3796 More details in http://bugzilla.redhat.com/497830 3797 37982009-04-28 Ondřej Vašík <ovasik@redhat.com> 3799 3800 tests: ensure that cp's -a doesn't silence --preserve=context 3801 * tests/cp/cp-a-selinux: Ensure that the -a option does not silence 3802 error diagnostics from --preserve=context, when preserving context 3803 is required. 3804 3805 tests: add test for xattr diagnostics on dest. FS lacking xattr support 3806 * tests/cp/cp-mv-enotsup-xattr: Ensure that xattr diagnostics are 3807 displayed correctly when destination filesystem lacks xattr support. 3808 * tests/Makefile.am (root_tests): Add new root-only test. 3809 38102009-04-27 Jim Meyering <meyering@redhat.com> 3811 3812 copy.c: factor out test for errno value indicating "unsupported" 3813 * src/copy.c (errno_unsupported): New function. 3814 (copy_attr_error, copy_internal): Use it. 3815 38162009-04-27 Ondřej Vašík <ovasik@redhat.com> 3817 3818 cp -a: diagnose failure when preserving xattr/context required 3819 * src/copy.c (copy_attr_by_fs): Always print diagnostics when preserving 3820 xattrs is required. 3821 (copy_attr_by_name): Likewise. 3822 (copy_reg): Always print diagnostics when preserving SELinux 3823 context is required. 3824 (copy_internal): Likewise. Also, do not ignore ENOTSUP and ENODATA 3825 errors when preserving SELinux context is required. 3826 * NEWS (Bug fixes): Mention it. 3827 3828 mv: ignore xattr-preservation failure when not supported by filesystem 3829 *src/copy.c: Do not warn about xattr-preservation failure when xattrs 3830 are not supported and preservation of xattrs is not explicitly required. 3831 Reported by Eric Sandeen in http://bugzilla.redhat.com/496142 3832 38332009-04-25 Jim Meyering <meyering@redhat.com> 3834 3835 build: update from gnulib, for the vc-list-files fix 3836 * gnulib: Update submodule to latest. 3837 3838 build: adjust use of automake's new $(AM_V_GEN) variable 3839 * src/Makefile.am (dircolors.h, wheel-size.h, wheel.h, fs.h): 3840 (version.c, version.h): Use $(AM_V_GEN) only as a prefix of an existing 3841 command. Otherwise, it provokes warnings from some "make" programs. 3842 Suggestion from Ralf Wildenhues. 3843 38442009-04-25 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 3845 3846 tests: fix check-AUTHORS skip logic 3847 * src/Makefile.am (check-AUTHORS): When this test is skipped, be 3848 sure to avoid all commands in the recipe, not just those passed 3849 to the first shell. 3850 38512009-04-25 Eric Blake <ebb9@byu.net> 3852 3853 cfg.mk: update to latest gnulib change 3854 * cfg.mk (bootstrap-tools): Override maint.mk default to include 3855 bison. 3856 * gnulib: Update to latest gnulib. 3857 38582009-04-24 Jim Meyering <meyering@redhat.com> 3859 3860 build: move coreutils-specific rules from maint.mk to new file 3861 * dist-check.mk: New file: coreutils-specific rules extracted 3862 from maint.mk, now that maint.mk has migrated to gnulib. 3863 * Makefile.am (EXTRA_DIST): Add dist-check.mk. 3864 * coreutils/cfg.mk: Include $(srcdir)/dist-check.mk. 3865 * gnulib: Update submodule to latest. 3866 3867 tests: avoid unusual (~1-in-20) failure of a new test 3868 * tests/misc/sort: Remove one of the generated tests. 3869 363 remain in this file alone. 3870 3871 build: use automake's new $(AM_V_GEN) and $(AM_V_at) variables 3872 * src/Makefile.am (dircolors.h, wheel-size.h, wheel.h, fs.h): 3873 (version.c, version.h): Mark with $(AM_V_GEN) and $(AM_V_at), 3874 so that the latest automake prints "GEN $@" by default. 3875 38762009-04-24 Simon Josefsson <simon@josefsson.org> 3877 3878 build: use maint.mk from gnulib 3879 * maint.mk: Remove file. Now it's generated. 3880 * .gitignore: Ignore it. 3881 * bootstrap.conf (gnulib_modules): Add maintainer-makefile. 3882 * gnulib: Update submodule to latest. 3883 38842009-04-23 Jim Meyering <meyering@redhat.com> 3885 3886 build: make --enable-silent-rules the default 3887 * configure.ac (AM_INIT_AUTOMAKE): Remove silent-rules. Instead,... 3888 (AM_SILENT_RULES): Use this, with it's undocumented [yes] argument. 3889 Those who want verbose build output may configure with 3890 --disable-silent-rules or use "make V=1". 3891 3892 * gnulib: Update submodule to latest. 3893 3894 sort -m: don't segfault when output file is also an input file 3895 * src/sort.c (avoid_trashing_input): Fix an off-by-one error and 3896 guard the use of memmove. 3897 * NEWS (Bug fixes): Mention it. 3898 * tests/misc/sort: Add tests to exercise the offending code. 3899 * THANKS: Update. 3900 Reported by Otavio Salvador in http://bugs.debian.org/525048. 3901 3902 tests: make the check-AUTHORS test more portable, now that it's... 3903 run as part of "make check". 3904 * src/Makefile.am (check-AUTHORS): Don't depend on en_US.UTF-8. 3905 Instead, use the French UTF8 locale, if configure found one. 3906 If not found, just skip the test. 3907 3908 avoid parallel "make distcheck" failure due to two run-in-src/ rules 3909 Move the check-AUTHORS rule from "syntax-check" to "check". 3910 * maint.mk (local-checks-available): Remove check-AUTHORS. 3911 (check-AUTHORS): Remove rule. 3912 * src/Makefile.am (CLEANFILES): Add $(no_install__progs), 3913 since they too are built sometimes. 3914 (check-AUTHORS): Split a longer-than-80 sed command. 3915 (../AUTHORS): Remove obsolete rule. 3916 39172009-04-22 Jim Meyering <meyering@redhat.com> 3918 3919 cp: work around linux kernel bug: short-read != EOF on /proc 3920 Remove the optimization that avoided up to 50% of cp's read syscalls. 3921 Do not assume that a short read on a regular file indicates EOF. 3922 When reading from a file in /proc on linux [at least 2.6.9 - 2.6.29] 3923 into a 4k-byte buffer or larger, a short read does not 3924 always indicate EOF. For example, "cp /proc/slabinfo /tmp" 3925 copies only 4068 of the total 7493 bytes. This optimization 3926 (25719a33154f0c62ea9881f0c79ae312dd4cec7a, Improve performance a bit 3927 by optimizing away; 2005-11-24) appears to have been worth less than 3928 a 2% speed-up (and usually much less), so the impact of removing it 3929 is negligible. 3930 3931 * src/copy.c (copy_reg): Don't exit the loop early. 3932 * tests/cp/proc-short-read: New test, lightly based on a suggestion 3933 from Mike Frysinger, to exercise this fix. 3934 * tests/Makefile.am (TESTS): Add cp/proc-short-read. 3935 * NEWS (Improve robustness): Mention this change. 3936 3937 tests: avoid new "make distcheck" failure due to newer File::Temp 3938 With newer perl (e.g., Fedora 10's 4:5.10.0-68.fc10), tests/CuTmpdir.pm 3939 stopped removing its temporary directories, with diagnostics like this: 3940 cannot remove path when cwd is /c/coreutils/tests/misc/seq.tmp-e2up \ 3941 for /c/coreutils/tests/misc/seq.tmp-e2up: at \ 3942 /usr/lib/perl5/5.10.0/File/Temp.pm line 902 3943 Chdir out of the target directory before that code runs: 3944 * tests/CuTmpdir.pm (END): chdir '..'. 3945 (chmod_tree): Remove explicit "chdir $dir". 3946 39472009-04-19 Jim Meyering <meyering@redhat.com> 3948 3949 doc: update README 3950 * README: (Reporting bugs): List the bug-reporting address here, too, 3951 not just in the following more test-oriented paragraph. 3952 Reported by Tim Mooney. 3953 All changes are no longer listed in version-controlled ChangeLog 3954 files, so note that contributions are attributed in the commit logs. 3955 Mention bootstrap.conf, now that it's the authoritative source of 3956 minimal prerequisite program/version# pairs. 3957 39582009-04-19 Aurelien Jarno <aurelien@aurel32.net> 3959 3960 tests: avoid failure of install-C test on FreeBSD UFS file system 3961 * tests/install/install-C: Use 2755 (set-gid), not 1755 (sticky), 3962 to test install -C with non-permission mode bits set. At least on 3963 FreeBSD with a UFS file system, a non-root user may not set the 3964 sticky bit on a non-directory. 3965 39662009-04-19 Jim Meyering <meyering@redhat.com> 3967 3968 comment touch up: insert a space between "#" and text of comment 3969 * bootstrap: It's easier to read that way. 3970 39712009-04-19 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 3972 3973 fix comment typos 3974 * bootstrap: Fix comment typos. 3975 * src/pr.c: Likewise. 3976 39772009-04-17 Jim Meyering <meyering@redhat.com> 3978 3979 maint: bootstrap: sync a tiny change from gnulib 3980 * bootstrap: rename variable to sync with gnulib: s/\$depth/$shallow/ 3981 39822009-04-16 Jim Meyering <meyering@redhat.com> 3983 3984 * gnulib: Update submodule to latest. 3985 3986 build: use '.'-relative name, gnulib_dir 3987 * cfg.mk (gnulib_dir): Use "gnulib", not "/gnulib", now that 3988 the former is a git submodule, and guaranteed to exist. 3989 39902009-04-15 Jim Meyering <meyering@redhat.com> 3991 3992 maint: clean up skipped syntax-check rules 3993 * cfg.mk (local-checks-to-skip): Remove patch-check and changelog-check. 3994 * maint.mk (patch-check): Remove rule. 3995 (local-checks-available): Remove patch-check. 3996 (changelog-check): Remove rule. 3997 39982009-04-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 3999 4000 build: avoid parallel distcheck failure 4001 * Makefile.am (ALL_RECURSIVE_TARGETS): Initialize here, too, 4002 to please automake. Add install-root, check-root, distcheck-hook. 4003 * cfg.mk (ALL_RECURSIVE_TARGETS): Add sc_tight_scope. 4004 * maint.mk (ALL_RECURSIVE_TARGETS): Add patch-check, 4005 check-AUTHORS, maintainer-distcheck, vc-dist, taint-distcheck, 4006 my-distcheck, alpha, beta, major. 4007 40082009-04-10 Jim Meyering <meyering@redhat.com> 4009 4010 doc: fix a typo: s/is a is a/is a/ 4011 * doc/coreutils.texi (Putting the tools together): Fix typo. 4012 4013 build: tight-scope test: don't build excluded programs 4014 * src/Makefile.am (sc_tight_scope): Depend on $(bin_PROGRAMS), 4015 not $(all_programs) 4016 4017 gnulib: update to latest: fix ls -v & sort -V 4018 * NEWS (Bug fixes): Mention it. 4019 4020 maint: remove obsolete utime module 4021 * bootstrap.conf (obsolete_gnulib_modules): Remove utime. 4022 4023 maint: put each module name on its own line; sort 4024 * bootstrap.conf (gnulib_modules): List them one per line. 4025 40262009-04-09 Jim Meyering <meyering@redhat.com> 4027 4028 tests: misc/ls-misc: avoid shadowing local decl of $e 4029 * tests/misc/ls-misc (make_j_d): Rename latter $e to $env 4030 40312009-04-09 Pádraig Brady <P@draigBrady.com> 4032 4033 id: fix infinite loop on some systems 4034 Steven Parkes reported that `id -G $USER` went into an infinite loop 4035 on Darwin systems for users in more than 10 groups: 4036 http://bugs.gentoo.org/show_bug.cgi?id=264007 4037 * gl/lib/mgetgroups.c (mgetgroups): Work around buggy getgrouplist 4038 implementations that don't update the required size correctly, 4039 by doubling the result buffer and retrying. Also return the 4040 parameter updated by getgrouplist rather than its return value, 4041 as the documentation doesn't actually state the number of groups 4042 stored is returned by getgrouplist. 4043 * tests/misc/id-groups: Add test to exercise this logic 4044 * tests/Makefile.am: Reference new test 4045 * NEWS: Mention the fix 4046 * THANKS: Update 4047 40482009-04-07 Jim Meyering <meyering@redhat.com> 4049 4050 maint: avoid "make syntax-check" failure 4051 * src/install.c (main): Tweak syntax of new diagnostic. 4052 40532009-04-07 Pádraig Brady <P@draigBrady.com> 4054 4055 install: deprecate the --preserve_context option 4056 src/install.c: Print a warning when --preserve_context 4057 rather than --preserve-context is used as per FIXME. 4058 4059 maint: remove compiler warnings from randint and randread modules 4060 * gl/lib/randint.c: Remove unused MAX macro 4061 * gl/lib/randread.c (randread_error): Add __attribute__((__noreturn__)) 4062 4063 shred,sort,shuf: don't use /dev/urandom by default 4064 Suggestion from Steven Schveighoffer at: 4065 http://savannah.gnu.org/patch/?6797 4066 to greatly speed up the random passes done by shred. 4067 * gl/lib/randread.c: Default to using the internal 4068 pseudorandom generator, rather than reading /dev/urandom 4069 * src/shred.c (usage): remove mention of /dev/urandom 4070 * src/shuf.c (usage); ditto 4071 * src/sort.c (usage): ditto 4072 * doc/coreutils.text: Document the new behaviour 4073 for aquiring random data. 4074 4075 maint: Clarify ambiguous refs to Linux kernels or GNU/Linux systems 4076 * README-prereq: s_linux_GNU/Linux_ or s_linux_Linux kernel_ 4077 * README-valgrind: ditto 4078 * src/chown-core.c: ditto 4079 * src/dd.c: ditto 4080 * src/df.c: ditto 4081 * src/ls.c: ditto 4082 * src/mv.c: ditto 4083 * src/pwd.c: ditto 4084 * src/remove.c: ditto 4085 * src/shred.c: ditto 4086 * src/stat.c: ditto 4087 * src/su.c: ditto 4088 * src/system.h: ditto 4089 * src/timeout.c: ditto 4090 * src/truncate.c: ditto 4091 4092 doc: add missing documentation for some SELinux options 4093 * doc/coreutils.texi (ls invocation): Describe the --context (-Z) option 4094 (install invocation): Describe the --preserve-context and -Z options 4095 (id invocation): Describe the --context (-Z) option 4096 (mkdir invocation): ditto 4097 (mknod invocation): ditto 4098 (mkfifo invocation): ditto 4099 * TODO: remove the todo item 4100 41012009-04-06 Jim Meyering <meyering@redhat.com> 4102 4103 * doc/code-vs-command: Remove long-unused, never-distributed file. 4104 41052009-04-04 Jim Meyering <meyering@redhat.com> 4106 4107 gnulib: update to latest: includes Solaris 8 portability fixes 4108 4109 maint: clean up Makefile.am, rename remaining ChangeLog files 4110 * Makefile.am (changelog_etc, syntax_check_exceptions): Define. 4111 (EXTRA_DIST): Use. Remove names that are now automatically 4112 included: build-aux/git-version-gen, build-aux/vc-list-files. 4113 * build-aux/ChangeLog-2007: Rename from */ChangeLog. 4114 * doc/ChangeLog-2007: Likewise. 4115 * lib/ChangeLog-2007: Likewise. 4116 * m4/ChangeLog-2007: Likewise. 4117 * po/ChangeLog-2007: Likewise. 4118 4119 tests: tweak po_check syntax check 4120 * maint.mk (sc_po_check): Don't let dangling lib/*.[ch] links cause 4121 spurious "grep: lib/file.h: No such file or directory" warnings. 4122 4123 tests: improve ChangeLog syntax check 4124 * maint.mk (sc_changelog): Use $(VC_LIST_EXCEPT), not find. 4125 Don't hang when there are no ChangeLog files. 4126 (sc_require_config_h): For the file-name-filter, use grep -l 4127 to be slightly more efficient. 4128 (sc_require_config_h_first, _header_without_use, sc_program_name): 4129 Likewise. 4130 41312009-04-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 4132 4133 tests: make syntax-checks more robust 4134 * maint.mk (_prohibit_regexp): Add ';' at end of ':'-introduced 4135 comment so that the comment doesn't gobble up the following test 4136 for a missing regexp definition. 4137 (_header_without_use): Escape all '.'s in a header file name, 4138 not just the first one. 4139 41402009-04-03 Jim Meyering <meyering@redhat.com> 4141 4142 * cfg.mk (old_NEWS_hash): Regenerate once more. 4143 4144 doc: adjust 7.2 "cat,cp,install,mv,split speed-up" NEWS item 4145 * NEWS: Reword an entry from 7.2 and change "linux" to "GNU/Linux". 4146 The latter was requested by Richard Stallman. 4147 * cfg.mk (old_NEWS_hash): Regenerate. 4148 41492009-04-03 Pádraig Brady <P@draigBrady.com> 4150 4151 ls: fix alignment when month names have varying widths 4152 Reported by Samuel Thibault and Stéphane Raimbault, as the glibc fr_FR 4153 locale has recently changed to use the official but variable width 4154 abbreviated month names. Other glibc locales also have variable widths. 4155 http://sourceware.org/ml/libc-locales/2008-q1/msg00035.html 4156 http://sourceware.org/bugzilla/show_bug.cgi?id=9859 4157 * NEWS: Mention the fix 4158 * gl/lib/mbsalign.c: A new module to align and truncate a 4159 string in a specified number of screen cells, while handling 4160 multi-byte characters appropriately. 4161 * gl/lib/mbsalign.h: Ditto 4162 * gl/modules/mbsalign: Ditto 4163 * bootstrap.conf: Reference the new module 4164 * src/ls.c (abmon_init): New function, precompute the abbreviated 4165 months aligned left in a minimum width column <= 5 screen cells. 4166 (align_nstrftime): New function, replace the first %b in the 4167 format specification to strftime with the precomputed month string. 4168 Note using the cached month strings speeds up `ls -lU` by around 17% 4169 on glibc-2.7-2 on linux at least. Also if we implement this function 4170 using heap storage rather than automatic storage, and use snprintf 4171 instead of strcpy, ls will slow down by 2% and 1% respectively 4172 (i.e. a net gain of 14% rather than 17%). 4173 * tests/ls/abmon-align: A new test to test ls alignment for 4174 various formats and locales 4175 * tests/Makefile.am: Reference the new test 4176 41772009-04-02 Pádraig Brady <P@draigBrady.com> 4178 4179 doc: Clarify the help for version sorting in ls and sort 4180 * src/ls.c: Update the -v help description 4181 * src/sort.c: Update the -V help description 4182 41832009-04-02 Jim Meyering <meyering@redhat.com> 4184 4185 doc: adjust README-prereq instructions 4186 * README-prereq: Reverse order of -b/--track options. 4187 Pádraig Brady mentioned that is required with at least git-1.5.3.6. 4188 Invoke automake's own bootstrap script. 4189 41902009-04-02 C de-Avillez <hggdh2@gmail.com> 4191 4192 build: require automake-1.10b or newer 4193 * bootstrap.conf: Require at least automake-1.10b. 4194 * README-prereq: Mention 1.10b, not 1.10a. 4195 41962009-04-02 Jim Meyering <meyering@redhat.com> 4197 4198 tests: skip mv/i-3 if /dev/stdin is unreadable 4199 * tests/mv/i-3: Skip if /dev/stdin is unreadable. 4200 Reported by Sergei Steshenko. 4201 42022009-03-31 Jim Meyering <meyering@redhat.com> 4203 4204 build: set automake's silent-rules option via configure.ac 4205 * bootstrap: Revert commit 9f39fa855, 2009-03-28, 4206 "build: use automake's --silent-rules option when possible". 4207 * configure.ac (AM_INIT_AUTOMAKE): Instead, set it here. 4208 Require the just-released version of automake: 1.10b. 4209 4210 tests: enable automake's color-tests and parallel-tests via configure.ac 4211 * gnulib-tests/Makefile.am (AUTOMAKE_OPTIONS): Don't define here. 4212 * tests/Makefile.am (AUTOMAKE_OPTIONS): Likewise. 4213 * configure.ac (AM_INIT_AUTOMAKE): Instead, add color-tests and 4214 parallel-tests here. 4215 42162009-03-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 4217 4218 build: use Automake's new parallel-tests feature 4219 * build-aux/check.mk: Remove, not needed any more. 4220 * tests/Makefile.am (AUTOMAKE_OPTIONS): Add parallel-tests and 4221 color-tests. 4222 * tests/check.mk: Do not include build-aux/check.mk any more. 4223 (SUFFIXES, TEST_LOGS): Remove. 4224 (TESTS_ENVIRONMENT): Use $$f rather than $$tst in $PERL invocation. 4225 * gnulib-tests/Makefile.am: Do not include build-aux/check.mk. 4226 (AUTOMAKE_OPTIONS): New macro, add parallel-test and color-tests. 4227 (TEST_LOGS): Remove. 4228 42292009-03-31 Jim Meyering <meyering@redhat.com> 4230 4231 * README-release (savannah news): Also mention the Subject: to use. 4232 4233 post-release administrivia 4234 * NEWS: Add header line for next release. 4235 * .prev-version: Record previous version. 4236 * cfg.mk (old_NEWS_hash): Auto-update. 4237 4238 version 7.2 4239 * NEWS: Record release date. 4240 42412009-03-29 Jim Meyering <meyering@redhat.com> 4242 4243 tests: don't use lang-default from individual tests 4244 * tests/sample-test: Don't recommend using lang-default here. 4245 It is now run for each test automatically, via TESTS_ENVIRONMENT. 4246 * tests/dd/reblock: Don't source lang-default here. 4247 * tests/misc/truncate-fail-diag: Likewise. 4248 4249 tests: other-fs-tmpdir: remove just-added duplicate /usr/tmp 4250 * tests/other-fs-tmpdir (CANDIDATE_TMP_DIRS): Remove 2nd /usr/tmp. 4251 4252 tests: other-fs-tmpdir: avoid bogus "skipped **********..." diagnostic 4253 * tests/other-fs-tmpdir (CANDIDATE_TMP_DIRS): Add /dev/shm to the list. 4254 Don't use a line of asterisks as the first line of the "why skipped" 4255 diagnostic, now that that line is printed on 'make check's stderr. 4256 42572009-03-28 Jim Meyering <meyering@redhat.com> 4258 4259 build: use automake's --silent-rules option when possible 4260 * bootstrap: Use automake's --silent-rules option. 4261 42622009-03-27 Jim Meyering <meyering@redhat.com> 4263 4264 tests: test-argv-iter.c: avoid declaration-after-stmt 4265 * gl/tests/test-argv-iter.c: Move declaration "up", so as not 4266 to ruffle feathers of crufty compilers. We accommodate such 4267 compilers here solely because this module may migrate to gnulib. 4268 Tiny patch by Matthew Woehlke. 4269 42702009-03-27 Eric Blake <ebb9@byu.net> 4271 4272 tests: fix 'make sc_tight_scope' on cygwin 4273 * src/Makefile.am (sc_tight_scope): Ignore leading underscores in symbols. 4274 42752009-03-27 Jim Meyering <meyering@redhat.com> 4276 4277 tests: avoid spurious test failure in set-GID build dir 4278 * tests/install/install-C-root: Skip this test if in set-gid directory. 4279 Reported by Sven Joachim and C de-Avillez. 4280 4281 tests: migrate setgid-check into test-lib.sh 4282 * tests/test-lib.sh (skip_if_setgid_): New function. 4283 * tests/setgid-check: Remove file. 4284 * tests/Makefile.am (EXTRA_DIST): Remove setgid-check. 4285 * tests/chmod/c-option: Use the new function rather than sourcing 4286 the separate file. 4287 * tests/cp/cp-parents: Likewise. 4288 * tests/install/install-C: Likewise. 4289 * tests/mkdir/parents: Likewise. 4290 * tests/mkdir/perm: Likewise. 4291 42922009-03-26 Jim Meyering <meyering@redhat.com> 4293 4294 tests: mark the rm/ext3-perf test as "very" expensive 4295 * tests/rm/ext3-perf: Relegate this test to the very_expensive 4296 category, since it is failing too often for me, when run in 4297 parallel (-j4) with other disk-hammering tests. This test fails 4298 when it takes too long, so the fact that it fails under pressure 4299 is an inconvenience more than a real problem. 4300 4301 * gnulib: Update submodule to latest. 4302 43032009-03-26 Paul Eggert <eggert@cs.ucla.edu> 4304 4305 df: port the known-value fix to AIX as well 4306 * src/df.c (known_value): New function, which also works on AIX 4307 /proc file systems. 4308 (df_readable, show_dev): Use it instead of hardcoding comparison to 4309 UINTMAX_MAX. Suggested by Jim Meyering and Matthew Woehlke. 4310 4311 df: fix a bug when totaling unknown values 4312 * src/df.c (show_dev): Don't add UINTMAX_MAX to grand totals, as that 4313 value indicates that the true value is unknown; adding it effectively 4314 subtracts 1 from the total, whereas we want to leave the total alone. 4315 43162009-03-25 Jim Meyering <meyering@redhat.com> 4317 4318 tests: don't fail "make syntax-check" on cygwin 4319 * maint.mk (NEWS_hash): Remove trailing " -" or " *-". 4320 * cfg.mk (old_NEWS_hash): Regenerate, removing " -". 4321 Reported by Eric Blake. 4322 43232009-03-25 Eric Blake <ebb9@byu.net> 4324 4325 pwd: support -L and -P 4326 * src/pwd.c (longopts): New variable. 4327 (logical_getcwd): New function. 4328 (main): Use it. 4329 (usage): Document new options. 4330 * doc/coreutils.texi (pwd invocation): Likewise. 4331 * NEWS: Likewise. 4332 * TODO (pwd): Mark it done. 4333 * tests/misc/pwd-option: New file. 4334 * tests/Makefile.am (TESTS): Add test. 4335 * THANKS: Update. 4336 Reported by Paul D. Smith, in savannah bug 24949. 4337 43382009-03-25 Ondřej Vašík <ovasik@redhat.com> 4339 4340 doc: update suffix regex in version sort 4341 * doc/coreutils.texi: Reflect current filevercmp regex. 4342 43432009-03-25 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 4344 4345 tests: CuTmpdir.pm: avoid use of undefined variable in warning 4346 * tests/CuTmpdir.pm (chmod_tree): Do not warn if $dir is undefined. 4347 43482009-03-24 Jim Meyering <meyering@redhat.com> 4349 4350 tests: ls -v: exercise yet another change in gnulib's new filevercmp 4351 * tests/misc/ls-misc: Add names with ~ and ~.1~ suffixes. 4352 4353 * gnulib: Update submodule to latest. 4354 43552009-03-24 Kamil Dudka <kdudka@redhat.com> 4356 4357 ls: make it possible to disable coloring of hard links 4358 * src/ls.c (print_color_indicator): Don't color hard links if disabled 4359 (when there is an empty hl= in the LS_COLORS environment variable). 4360 * tests/ls/hardlink: Add test case for disabled hard link highlighting. 4361 * NEWS: Mention the change. 4362 43632009-03-21 Jim Meyering <meyering@redhat.com> 4364 4365 tests: search only files that are under version control 4366 * maint.mk (sc_error_exit_success): Search only files 4367 that are under version control. 4368 (sc_makefile_path_separator_check): Likewise. 4369 Check *.mk files, too, not just Makefile.am files. 4370 4371 tests: follow own advice: use $(PATH_SEPARATOR), not ":" 4372 * maint.mk (coreutils-path-check): Use the variable, not the literal. 4373 4374 tests: modernize: use $(var) makefile notation, not @var@ 4375 * maint.mk (sc_makefile_path_separator_check): Recommend 4376 the use of $(PATH_SEPARATOR), not @PATH_SEPARATOR@. 4377 Remove an obsolete comment. 4378 43792009-03-20 Jim Meyering <meyering@redhat.com> 4380 4381 tests: teach sc_dd_O_FLAGS about new syntax in dd.c 4382 * cfg.mk (sc_dd_O_FLAGS): Adapt to new syntax. 4383 43842009-03-20 Eric Blake <ebb9@byu.net> 4385 4386 dd: use a more portable definition of O_FULLBLOCK 4387 * src/dd.c (O_FULLBLOCK): Compute its value without using a 180KB 4388 macro. This avoids triggering a compilation failure with HP-UX's cc. 4389 Reported by Matthew Woehlke. 4390 43912009-03-20 Jim Meyering <meyering@redhat.com> 4392 4393 tests: avoid spurious mkdir/selinux test failure on HP-UX 11.23 4394 * tests/mkdir/selinux: Accept yet another diagnostic. 4395 Reported by Matthew Woehlke. 4396 43972009-03-19 Jim Meyering <meyering@redhat.com> 4398 4399 tests: df/total-verify: avoid test failure with older Perl 4400 * tests/df/total-verify: Don't use perl's -f option. 4401 Reported by Matthew Woehlke. 4402 4403 * gnulib: Update submodule to latest. 4404 44052009-03-18 Jim Meyering <meyering@redhat.com> 4406 4407 tests: adjust sort-continue not to fail under valgrind 4408 * tests/misc/sort-continue: Don't run cat inside fd-limited shell. 4409 If sort fails to run in an fd-limited shell, skip the test. 4410 44112009-03-18 Paul Eggert <eggert@CS.UCLA.EDU> 4412 4413 tests: add another sort/nmerge test 4414 * tests/Makefile.am (TESTS): Add sort-merge-fdlimit. 4415 * tests/misc/sort-merge-fdlimit: New file. 4416 * doc/coreutils.texi (sort invocation): Document that we now silently 4417 lower nmerge if necessary. 4418 Patch by Paul Eggert, Nima Nikzad, Max Chang, Alexander Nguyen, 4419 Sahil Amoli, and Nick Graham. 4420 4421 sort: handle fd exhaustion better when merging 4422 This is an alternative to my 9 March patch labeled "Silently lower 4423 nmerge; don't (sometimes incorrectly) range-check" 4424 <http://lists.gnu.org/archive/html/bug-coreutils/2009-03/msg00070.html>. 4425 It differs by not using 'dup' to probe for extra file descriptors; 4426 instead, it simply calls 'open' (and 'pipe') to open files and pipes, 4427 until one of these calls fails due to file descriptor exhaustion; it 4428 then backs off by 1, does a merge with the files that it has opened, 4429 and then retries with the (now-smaller) number of files. 4430 4431 This patch requires quite a few more changes to the source code than 4432 the earlier patch, but it is in some sense "better" because it doesn't 4433 need to call "dup" ahead of time in order to decide whether "open" or 4434 "pipe" will fail. Also, it's more robust in the case where "open" or 4435 "pipe" fails with errno==EMFILE because some system-wide limit is 4436 exhausted. 4437 4438 * src/sort.c (create_temp_file): New arg SURVIVE_FD_EXHAUSTION. 4439 (stream_open): New function, containing guts of xfopen. 4440 (xfopen): Use it. 4441 (pipe_fork): Set errno on failure. 4442 (maybe_create_temp): New function, containing guts of create_temp. 4443 (create_temp): Use it. 4444 (open_temp): Distinguish failures due to file descriptor exhaustion 4445 from other failures, and on fd exhaustion return a notice to caller 4446 rather than dying. Don't test execlp's return value; when it returns, 4447 it *always* returns -1. 4448 (open_input_files): New function. 4449 (mergefps): New arg FPS. It's now the caller's responsibility to open 4450 the input and output files. All callers changed. 4451 (mergefiles): New function. 4452 (avoid_trashing_input, merge): Handle the case where a single merge 4453 can't merge as much as we wanted due to file descriptor exhaustion, by 4454 merging as much as we can and then retrying. 4455 * tests/Makefile.am (TESTS): Add misc/sort-continue. 4456 * tests/misc/sort-continue: New file. 4457 * THANKS: Add Glen Lenker and Matt Pham who coauthored this patch. 4458 44592009-03-18 Jim Meyering <meyering@redhat.com> 4460 4461 maint: normalize leading-TAB indentation in Makefiles 4462 * maint.mk (sc_makefile_TAB_only_indentation): New rule. 4463 Replace each TAB+8-space sequence with two TABs. 4464 * man/Makefile.am: Likewise. 4465 * build-aux/check.mk: Likewise. 4466 I used this command (run it more than once, if needed): 4467 t=$'\t'; git grep -l -E "$t {8}"|grep -E 'Makefile|\.mk$' \ 4468 | xargs perl -pi -e 's/\t {8}/\t\t/' 4469 44702009-03-15 Jim Meyering <meyering@redhat.com> 4471 4472 maint: remove long-unused Makefile 4473 * tests/sort-time/Makefile: Remove long-unused file. 4474 4475 maint: remove unused include and definitions 4476 * gl/lib/randread.c (__attribute__): Remove unused definition. 4477 (ATTRIBUTE_UNUSED): Likewise. 4478 * gl/lib/selinux-at.c (_): Remove unused definition. 4479 Don't include <gettext.h>. No longer needed. 4480 4481 * gnulib: Update submodule to latest. 4482 44832009-03-14 Jim Meyering <meyering@redhat.com> 4484 4485 system.h: correct compilation error: MAX not defined 4486 * src/system.h (io_blksize): Move definition down, so it follows that 4487 of MAX -- to avoid compilation failure on OpenSolaris. Reported by 4488 David Bartley. Details in 4489 http://lists.gnu.org/archive/html/bug-coreutils/2009-03/msg00190.html 4490 4491 * gnulib: Update to pull in select/interix work-around. 4492 44932009-03-13 Kamil Dudka <kdudka@redhat.com> 4494 4495 doc: update "version sort" documentation 4496 * doc/coreutils.texi: Reflect current filevercmp behavior. 4497 44982009-03-12 Jim Meyering <meyering@redhat.com> 4499 4500 tests: groups-version: don't require that id be built 4501 * tests/misc/groups-version: groups is now independent of id. 4502 4503 tests: skip the groups-dash test when "groups" is not built 4504 * tests/misc/groups-dash: Skip if groups is not being installed. 4505 Suggested by Mike Frysinger. 4506 Also fail if groups exits with nonzero status. 4507 45082009-03-12 Pádraig Brady <P@draigBrady.com> 4509 4510 maint: mention Autoconf version required to build Automake 4511 * README-prereq: coreutils currently requires an unreleased 4512 version of Automake, so mention the minimum version of Autoconf 4513 required to build that. Suggestion from James Youngman. 4514 45152009-03-12 Jim Meyering <meyering@redhat.com> 4516 4517 * gnulib: Update submodule to latest. 4518 45192009-03-11 Ondřej Vašík <ovasik@redhat.com> 4520 4521 cp: make -a option preserve xattrs, but with reduced diagnostics 4522 * copy.c (copy_attr_by_fd): Reduce xattr diagnostics for 'cp -a'. 4523 (copy_attr_by_name): Likewise. 4524 * cp.c (main): Preserve xattrs with -a option, when possible. 4525 * doc/coreutils.texi: Document that xattrs are preserved with 4526 cp -a, with no added diagnostics. 4527 * NEWS: Mention the change. 4528 * tests/misc/xattr: Add tests for 'cp --preserve=all' and 'cp -a'. 4529 45302009-03-11 Pádraig Brady <P@draigBrady.com> 4531 4532 maint: Document how to best to enable gcc warnings for developers 4533 * README-hacking: Mention --enable-gcc-warnings configure option 4534 * configure.ac: Don't scare developers away from using gcc warnings 4535 45362009-03-11 Jim Meyering <meyering@redhat.com> 4537 4538 maint: remove an obsolete FIXME comment 4539 * src/Makefile.am (../AUTHORS): Remove obsolete FIXME comment. 4540 There are no longer any installed *.sh programs. 4541 45422009-03-11 Pádraig Brady <P@draigBrady.com> 4543 4544 cat: Fix immediate output of processed data 4545 Introduced by commit 790892db, 2006-06-08 "Ensure that cat works ...". 4546 * NEWS: Mention the bugfix. 4547 * src/cat.c (cat): Fix the typo which stopped the writing 4548 of processed data before a blocking read() is done. 4549 * tests/misc/cat-buf: Add to ensure processed data is not buffered. 4550 * tests/Makefile.am: Reference the new test. 4551 4552 cat,cp,mv,install,split: Set the minimum IO block size used to 32KiB 4553 This is following on from this change: 4554 [02c3dc9d 2008-03-06 cat: use larger buffer sizes ...] 4555 which increased the IO block size used by cat by 8 times, 4556 but also capped it at 32KiB. 4557 * NEWS: Mention the change in behavior. 4558 * src/system.h: Add a new io_blksize() function that 4559 returns the max of ST_BLKSIZE or 32KiB, as this was 4560 seen as a good value for a minimum block size to use 4561 to get good performance while minimizing system call overhead. 4562 * src/cat.c: Use it. 4563 * src/copy.c: ditto 4564 * src/split.c: ditto 4565 45662009-03-08 Jim Meyering <meyering@redhat.com> 4567 4568 tests: add a test for newly-fixed bug in comm --check-order 4569 * tests/misc/comm (ooo-prefix): Add a test for today's fix. 4570 * NEWS (Bug fixes): Mention it. 4571 45722009-03-08 Bruno Haible <bruno@clisp.org> 4573 4574 comm: fix a bug in its new --check-order option 4575 * src/comm.c: Include memcmp2.h. 4576 (check_order): Use memcmp2 instead of memcmp. 4577 * bootstrap.conf (gnulib_modules): Add memcmp2. 4578 45792009-03-08 Jim Meyering <meyering@redhat.com> 4580 4581 tests: ls -v: exercise the bug fixed by gnulib's new filevercmp 4582 * tests/misc/ls-misc (version-sort): New test. 4583 (mk_file): New function. 4584 Reported by Josh Triplett in <http://bugs.debian.org/517558>. 4585 Details in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16902 4586 * NEWS (Bug fixes): Mention it. 4587 4588 gnulib: sync submodule to latest 4589 45902009-03-07 Jim Meyering <meyering@redhat.com> 4591 4592 pr: fix a bug whereby --indent=N (-o) did not indent header lines 4593 * src/pr.c (print_header): Honor chars_per_margin also for the header. 4594 Inspired by a patch from C de-Avillez. 4595 This change also adjusts two other %*s directives to be %*.*s instead, 4596 (for the padding on either side of "file_text") to correct a bug that 4597 could make pr print one space of padding instead of none. 4598 * NEWS (Bug fixes): Mention it. 4599 * tests/pr/o3Jml24f-lm-lo: Adjust for new expected output. 4600 * tests/pr/o3a3Sl24f-tn: Likewise. 4601 * tests/pr/o3a3Snl24f-tn: Likewise. 4602 * tests/pr/o3a3l24f-tn: Likewise. 4603 * tests/pr/o3b3Sl24f-tn: Likewise. 4604 * tests/pr/o3b3Snl24f-tn: Likewise. 4605 * tests/pr/o3b3l24f-tn: Likewise. 4606 * tests/pr/o3mSl24f-bl-tn: Likewise. 4607 * tests/pr/o3mSnl24fbltn: Likewise. 4608 * tests/pr/o3ml24f-bl-tn: Likewise. 4609 4610 bootstrap: add to XGETTEXT_OPTIONS 4611 * bootstrap.conf (XGETTEXT_OPTIONS): Add c-format --flag options 4612 for verror and verror_at_line; alphabetize. 4613 4614 maint: use a git submodule for gnulib 4615 * .gitmodules: New file, to track gnulib. 4616 * gnulib: New file, created by running this: 4617 git submodule add git://git.sv.gnu.org/gnulib.git gnulib 4618 4619 build: allow ./bootstrap --srcdir=... to work with a git submodule 4620 * bootstrap (git_modules_config): Use GIT_CONFIG, not GIT_CONFIG_LOCAL. 4621 The latter was removed in v1.5.6.1-109-gdc87183. 4622 4623 build: avoid "multiply defined..." warning from automake 4624 * Makefile.am (AM_CFLAGS): Add $(WARN_CFLAGS) via +=, not =, to 4625 avoid "multiply defined..." warning from automake. 4626 46272009-03-06 Jim Meyering <meyering@redhat.com> 4628 4629 cat: use larger buffer sizes to reduce read/write-syscall overhead 4630 * src/cat.c (max): Remove definition. Use MAX from system.h instead. 4631 (compute_buffer_size): New function to compute the input and output 4632 buffer sizes, which are now set at 8 times st_blksize with a maximum 4633 of 32KiB. Previously the typical block sizes used were 1KiB for pipes 4634 and 4KiB for files, and now will be 8KiB and 32KiB respectively. 4635 (main): Use it. 4636 This change can double throughput on modern systems. For timings, 4637 see http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/16040 4638 Suggestion from Tzvi Rotshtein. 4639 4640 maint: avoid new unused-macro warnings from gcc 4641 * src/ls.c (ASSERT_MATCHING_DEV_INO): Comment-out unused definition, 4642 to match commented-out use. 4643 * src/install.c (INITIAL_HASH_MODULE, INITIAL_ENTRY_TAB_SIZE): 4644 (READ_SIZE): Remove definitions of unused macros. 4645 * src/mv.c (INITIAL_HASH_MODULE, INITIAL_ENTRY_TAB_SIZE): Likewise. 4646 * src/dd.c (max): Likewise. 4647 * src/expand.c (OUTPUT_BLOCK): Likewise. 4648 * src/csplit.c (ALLOC_SIZE): Likewise. 4649 * src/pr.c (NULLCOL): Likewise. 4650 * src/ptx.c (Sword): Likewise. 4651 * src/unexpand.c (OUTPUT_BLOCK): Likewise. 4652 * src/factor.c (NDEBUG): Likewise. 4653 4654 tests: fix just-introduced typo in rm/ext3-perf 4655 * tests/rm/ext3-perf: Fix typo in commit 2b1e6636bea, 4656 2009-02-27 "tests: rm/ext3-perf: relax this test". 4657 4658 maint: remove spurious case-ignoring option from a test 4659 * maint.mk (sc_trailing_blank): Remove useless/harmless ignore_case=1. 4660 46612009-03-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 4662 4663 policy: use git to help avoid trailing white space 4664 * HACKING (Avoid trailing white space): Describe how git can help. 4665 46662009-03-04 Andreas Schwab <schwab@linux-m68k.org> 4667 4668 Update Andreas Schwab's email address 4669 * THANKS: Update Andreas Schwab's email address. 4670 46712009-03-03 Jim Meyering <meyering@redhat.com> 4672 4673 maint: improve release-related process and documentation 4674 * README-release: Fix typo. it's "maintainer-clean". 4675 Refer to HACKING for full list of dependencies. 4676 Use cvs add's -ko option to inhibit $Id: ChangeLog 32796 2009-08-28 22:30:24Z korli $-style keyword expansion. 4677 * maint.mk (web-manual): Factor out definition of $(manual_title). 4678 (vc-dist): Set XZ_OPT=-9ev for the final "make dist". 4679 * cfg.mk (manual_title): Define it here. 4680 Suggestions from Eric Blake. 4681 46822009-03-02 Jim Meyering <meyering@redhat.com> 4683 4684 dist: document our release procedure 4685 * README-release: New file. 4686 4687 dist: automate the post-release web-manual update process 4688 * maint.mk (web-manual): New rule, from m4's maint.mk. 4689 * bootstrap.conf (gnulib_modules): Add gendocs. 4690 4691 tests: rm/ext3-perf: relax this test 4692 * tests/rm/ext3-perf: If set-up takes too long, use the set-up time 4693 as the removal time limit. Otherwise, a parallel "make check" would 4694 usually fail when run with RUN_VERY_EXPENSIVE_TESTS=yes. 4695 4696 tests: don't skip setgid-dir related tests on SELinux-enabled systems 4697 * tests/setgid-check: The change in ls (use ".", not "+") caused 4698 this check always to report the working directory as set-gid. 4699 Now, use stat, not ls. 4700 4701 tests: reflect the s/+/./ SELinux indicator change 4702 * tests/mkdir/perm: Now that this test is no longer always skipped, 4703 make it work independently of ls: use stat, not ls, to get perm string. 4704 * test-lib.sh (rwx_to_mode_): Use stat, not ls to get perm string 4705 This test was run only when RUN_VERY_EXPENSIVE_TESTS=yes was set. 4706 4707 tests: when skipping a test, say why on screen, not just in the log 4708 * tests/test-lib.sh: Redirect also to descriptor 9. 4709 Better one-line why-skip diagnostics. 4710 * tests/check.mk (TESTS_ENVIRONMENT): Redirect 9 to stderr. 4711 * tests/misc/pwd-unreadable-parent: Remove redundant "skipping..." diag. 4712 4713 maint: enable many gcc warnings 4714 * bootstrap.conf (gnulib_modules): Add manywarnings. 4715 * configure.ac: Use gl_MANYWARN_ALL_GCC, and exclude options 4716 I don't want or that provoke too many warnings. 4717 (WARN_CFLAGS, WERROR_CFLAGS): Define. 4718 (lint, GNULIB_PORTCHECK): Define. 4719 (_FORTIFY_SOURCE): Define to 2. 4720 4721 maint: avoid gcc warning about missing attributes 4722 * src/prog-fprintf.h (prog_fprintf): Declare with printf attribute. 4723 * src/system.h (usage): Declare with the "noreturn" attribute. 4724 4725 maint: avoid warnings about potentially-counterproductive "inline" 4726 * src/dd.c (quit): Remove "inline" attribute. 4727 * src/test.c (advance, unary_advance): Likewise. 4728 4729 maint: cp: avoid gcc warning about unused macro definitions 4730 * src/cp.c (INITIAL_HASH_MODULE, INITIAL_ENTRY_TAB_SIZE): Remove. 4731 4732 dist: do not emit MD5 or SHA1 checksums into announcement template 4733 * maint.mk (announcement): Use announce-gen's new --no-print-checksums. 4734 47352009-02-28 Jim Meyering <meyering@redhat.com> 4736 4737 maint: detect unnecessary inclusion of signal.h 4738 * maint.mk (sc_prohibit_signal_without_use): New rule. 4739 4740 maint: remove an unnecessary inclusion of <signal.h> 4741 * src/operand2sig.c: Don't include <signal.h>. 4742 47432009-02-28 Pádraig Brady <P@draigBrady.com> 4744 4745 tests: sort: Check skipping blanks in multibyte locales 4746 * tests/misc/sort: On Fedora 8 at least, sort -k1b,1 4747 mishandles blanks in multibyte locales, so add test. 4748 47492009-02-27 Jim Meyering <meyering@redhat.com> 4750 4751 * HACKING: avoid trailing white space 4752 4753 cp: diagnose invalid "cp -rl dir dir" right away, once again 4754 Running "mkdir dir; cp -rl dir dir" would create dir/dir/dir/... 4755 rather than diagnosing the "copy-into-self" failure. 4756 4757 The easy fix would have been to revert this part of the change 4758 [3ece0355 2008-11-09 cp: use far less memory in some cases] 4759 that introduced the bug: 4760 4761 - remember_copied (dst_name, dst_sb.st_ino, dst_sb.st_dev); 4762 + if (!x->hard_link) 4763 + remember_copied (dst_name, dst_sb.st_ino, dst_sb.st_dev); 4764 4765 However, that would have induced the failure of the new cp/link-heap 4766 test, due to the added memory pressure of recording 10k dev/ino pairs. 4767 And besides, I liked that improvement and wanted to keep it. 4768 4769 Now that it's obvious recording the just-created-directory dev/ino 4770 needn't depend on the setting of hard_link, I realized it is necessary 4771 to record the pair only for the first directory created for each 4772 source command-line argument. 4773 4774 I made that change, then noticed the new test, cp -rl a d d, would pass 4775 when run once, yet output the into-self diagnostic twice. Also note 4776 the side effect: it creates d/a and d/d. However, running that same 4777 command a second time, now with the modified directory, would fail. 4778 4779 That turned out to be due to the fact that although the first into-self 4780 failure was detected in copy_dir, that function would continue copying 4781 other entries regardless -- and that would make it fail (eventually) 4782 with the unwanted recursion. 4783 4784 * src/copy.c (copy_internal): This function needed an indicator of 4785 whether, for a give command line argument, it had already created its 4786 first directory. If so, no more need to record dev/ino pairs. If this 4787 is the first, then do record its pair. Hence, the new parameter. 4788 (copy_dir, copy): Update callers. 4789 (copy_dir): Upon any into-self failure, break out of the loop. 4790 * tests/cp/into-self: Test for the above. 4791 Reported by Mikael Magnusson. 4792 47932009-02-26 Jim Meyering <meyering@redhat.com> 4794 4795 tests: stty-row-col would hang when run in the background 4796 * tests/misc/stty-row-col: Don't hang when run in background 4797 at least on Solaris 10 and OpenBSD. 4798 47992009-02-26 Pádraig Brady <P@draigBrady.com> 4800 4801 sort: Fix two bugs with determining the end of field 4802 * src/sort.c: When no specific number of chars to skip 4803 is specified for the end field, always skip the whole field. 4804 Also never include leading spaces from next field. 4805 * tests/misc/sort: Add 2 new tests for these cases. 4806 * NEWS: Mention this bug fix. 4807 * THANKS: Add bug reporter. 4808 Reported by Davide Canova. 4809 48102009-02-26 Eric Blake <ebb9@byu.net> 4811 4812 argv-iter: avoid variadic macro 4813 * gl/lib/argv-iter.h (_ATTRIBUTE_NONNULL_): Don't assume C99 variadic 4814 macros are portable yet; needed for at least IRIX/MIPSpro. 4815 * THANKS: Update. 4816 Reported by Stuart Shelton. 4817 48182009-02-26 Pádraig Brady <P@draigBrady.com> 4819 4820 tests: Remove system specific error strings 4821 * tests/dd/skip-seek-past-file: Just check for 4822 the non system specific part of the error strings. 4823 This was causing an erroneous failure on NetBSD 1.6 at least. 4824 48252009-02-25 Jim Meyering <meyering@redhat.com> 4826 4827 tests: using printf with \e for ESC isn't portable 4828 * tests/ls/color-clear-to-eol: Use \33, not \e for ascii ESC. 4829 This test failed when using the built-in printf of /bin/sh from 4830 NetBSD 1.6. 4831 48322009-02-24 Pádraig Brady <P@draigBrady.com> 4833 4834 Ensure comment for translators is included in po file 4835 Issue reported by Göran Uddeborg. 4836 4837 * src/system.h: Move the translator comment adjacent 4838 to the translated string. 4839 * THANKS: Update Göran's email address. 4840 48412009-02-22 Tobias Stoeckmann <tobias@bugol.de> 4842 4843 truncate: fix typo in man page 4844 * man/truncate.x: Fix spelling. 4845 * THANKS: Update. 4846 48472009-02-22 Andrew Church <achurch@achurch.org> 4848 4849 doc: describe dd's status=noxref option 4850 * doc/coreutils.texi (dd invocation): Describe status=noxref. 4851 48522009-02-22 Jim Meyering <meyering@redhat.com> 4853 4854 tests: reenable temporarily-disabled tests using e.g., trap '' TTOU 4855 Revert "tests: skip newly-modified tests unconditionally..." 4856 This reverts commit 773a88d33f68e50a2919c8a8310c646a7e5fabc2. 4857 * tests/misc/stty: Don't skip. 4858 * tests/misc/stty-invalid: Likewise. 4859 * tests/mv/i-3: Likewise. 4860 48612009-02-22 James Youngman <jay@gnu.org> 4862 4863 update James Youngman's email address 4864 * THANKS: Update James Youngman's email address 4865 48662009-02-21 Jim Meyering <meyering@redhat.com> 4867 4868 post-release administrivia 4869 * NEWS: Add header line for next release. 4870 * .prev-version: Record previous version. 4871 * cfg.mk (old_NEWS_hash): Auto-update. 4872 4873 version 7.1 4874 * NEWS: Record release date. 4875 4876 * README: Mention that c99-to-c89.diff is no longer maintained. 4877 4878 tests: skip new install-C test if working directory is set-gid 4879 * tests/install/install-C: Use setgid-check. 4880 4881 tests: skip newly-modified tests unconditionally, just to be safe 4882 * tests/misc/stty-invalid: Skip. 4883 * tests/misc/stty: Likewise. 4884 * tests/mv/i-3: Likewise. 4885 4886 tests: don't let SIGTTOU/TTIN hang a backgrounded "make check" 4887 Running "make check &" would hang due to SIGTTOU and SIGTTIN signals. 4888 * tests/misc/stty: Ignore SIGTTOU. 4889 * tests/misc/stty-invalid: Likewise. 4890 * tests/mv/i-3: Ignore SIGTTIN. 4891 48922009-02-20 Jim Meyering <meyering@redhat.com> 4893 4894 doc: ls: clarify description of -s 4895 * src/ls.c (usage): Make the description of -s mention "allocated size", 4896 so that it's less likely to be confused with an apparent byte-count. 4897 Suggested by Vito Caputo. 4898 48992009-02-19 Jim Meyering <meyering@redhat.com> 4900 4901 doc: dd: document that the default block size is 512 bytes 4902 * src/dd.c (usage): Document the default block size. 4903 * doc/coreutils.texi (dd invocation): Document that the default 4904 block size (bs, ibs, obs) is 512 bytes. 4905 Reported by Petr Uzel. 4906 49072009-02-18 Jim Meyering <meyering@redhat.com> 4908 4909 maint: changing NEWS' copyright date must not invalidate checksum 4910 * maint.mk (NEWS_hash): Don't let the Copyright date line contribute 4911 to the checksum. 4912 * cfg.mk (old_NEWS_hash): Update to reflect the new policy. 4913 4914 doc: explain how to recover from changes committed to master 4915 * HACKING: A beginner's commit-to-master is so common, 4916 and causes enough confusion, that we describe how to recover. 4917 4918 maint: add copyright notices 4919 * HACKING: Add copyright notice. 4920 * tests/test-lib.sh: Likewise. 4921 49222009-02-18 Ondřej Vašík <ovasik@redhat.com> 4923 4924 cp: -a now preserves SELinux context, with reduced diagnostics 4925 * copy.c (copy_reg): Reduce SELinux context diagnostics for 'cp -a'. 4926 (copy_internal): Likewise 4927 * copy.h (cp_options): Add boolean reduce_diagnostics. 4928 * cp.c (usage): Say that --archive (-a) behaves like -dR --preserve=all. 4929 (cp_option_init): Initialize added reduce_diagnostics. 4930 (main): Add reduce_diagnostics for the -a option, and preserve SELinux 4931 context, if possible. 4932 * mv.c (cp_options_init): Initialize new cp_options booleans. 4933 * install.c (cp_option_init): Likewise. 4934 * NEWS: Mention those behaviour changes. 4935 * doc/coreutils.texi: Document --preserve=context, document that 4936 diagnostics are not shown for failures of non-mandatory attributes 4937 (just SELinux at the moment). 4938 * tests/cp/cp-a-selinux: Check not only failures, but succesful use 4939 of preserving SELinux context in cp. 4940 49412009-02-18 Eric Blake <ebb9@byu.net> 4942 4943 add missing copyright dates 4944 * NEWS: Add 2009 to copyright. 4945 * README: Likewise. 4946 * README-hacking: Likewise. 4947 * TODO: Likewise. 4948 * doc/Makefile.am: Likewise. 4949 * m4/prereq.m4: Likewise. 4950 * src/nl.c: Likewise. 4951 * src/seq.c: Likewise. 4952 * tests/cp/cp-i: Likewise. 4953 * tests/install/install-C: Likewise. 4954 * tests/install/install-C-root: Likewise. 4955 * tests/install/install-C-selinux: Likewise. 4956 * tests/misc/seq: Likewise. 4957 * tests/mv/mv-n: Likewise. 4958 49592009-02-17 Eric Blake <ebb9@byu.net> 4960 4961 install: compare files in binary mode 4962 * src/install.c (need_copy): Use O_BINARY when it matters. 4963 49642009-02-17 Kamil Dudka <kdudka@redhat.com> 4965 4966 install: add --compare (-C) option to install file only when necessary 4967 * src/install.c (have_same_content): New function to compare files 4968 content. 4969 (extra_mode): New function checking for non-permission bits in mode. 4970 (need_copy): New function to check if copy is necessary. 4971 (main): Handle new option --compare (-C). 4972 (copy_file): Skip file copying if not necessary. 4973 (usage): Show new option --compare (-C) in --help. 4974 * tests/install/install-C: Basic tests for install --compare (-C). 4975 * tests/install/install-C-root: Tests requiring root privileges. 4976 * tests/install/install-C-selinux: Tests requiring SELinux. 4977 * tests/Makefile.am: Add new tests for install --compare (-C). 4978 * doc/coreutils.texi: Document new install option --compare (-C). 4979 * NEWS: Mention the change. 4980 49812009-02-17 Ondřej Vašík <ovasik@redhat.com> 4982 4983 nl: correct long-option name for -v in usage 4984 * nl.c (usage): Use --starting-line-number, not --first-page for -v 4985 49862009-02-15 Jim Meyering <meyering@redhat.com> 4987 4988 doc: id: make --help and .man more descriptive 4989 * src/id.c (usage): Improve description, based on a suggestion 4990 from Brian M. Carlson in http://bugs.debian.org/514675 4991 * man/id.x: Use a better one-liner, based on the one at top of id.c. 4992 49932009-02-15 Pádraig Brady <P@draigBrady.com> 4994 4995 seq: Fix equal width calculation when '.' added to last number 4996 Issue reported by Samuel Hapák. 4997 <http://lists.gnu.org/archive/html/bug-coreutils/2009-02/msg00139.html> 4998 4999 * src/seq.c: Account for '.' added to "last" number. 5000 * tests/misc/seq: Add corresponding test. 5001 * NEWS: Mention the fix. 5002 50032009-02-13 Jim Meyering <meyering@redhat.com> 5004 5005 du,chgrp,chmod,chown: use FTS_DEFER_STAT 5006 * src/du.c (main): Use FTS_DEFER_STAT, for better locality of inode 5007 reference. Important when traversing file systems with fake inodes. 5008 * src/chgrp.c (main): Likewise. 5009 * src/chmod.c (main): Likewise. 5010 * src/chown.c (main): Likewise. 5011 The only remaining fts client, chcon, doesn't need this, since it goes 5012 further and uses FTS_NOSTAT, which suppresses all non- directory 5013 stat calls. 5014 50152009-02-13 Pádraig Brady <P@draigBrady.com> 5016 5017 maint: mention how to run a single test in HACKING docs 5018 * HACKING: Give an example of how to run a test in isolation. 5019 * README: Fix/simplify example for running a single test. 5020 * README-hacking: Reference the HACKING file. 5021 50222009-02-12 Eric Blake <ebb9@byu.net> 5023 5024 ln: add details to --help text 5025 * src/ln.c (usage): Mention more about symlink properties. 5026 * doc/coreutils.texi (ln invocation): Likewise. 5027 * THANKS: Update. 5028 Reported by Vitali Lovich. 5029 50302009-02-10 Jim Meyering <meyering@redhat.com> 5031 5032 ls: clean up after wrapped+colored file names with clear-to-EOL 5033 This change addresses a relatively unusual case: ls --color, with 5034 a highlighted name being printed initially in the last row of a 5035 terminal emulator (possibly followed by other lines of output) such 5036 that it is wrapped onto the following line, as the terminal emulator 5037 scrolls the output. That would cause the entire following line to 5038 be highlighted, even if the name happened to use only one position. 5039 The least-invasive patch would have made colorized output larger for 5040 all uses. The approach taken below is more invasive, but limits the 5041 increase in overhead to only those lines that are expected to wrap. 5042 * src/ls.c (enum indicator_no): Add C_CLR_TO_EOL. 5043 (indicator_name): Add "cl". 5044 (color_indicator): Add default escape codes for "cl". 5045 (print_long_format): Propagate width to print_name_with_quoting. 5046 (print_name_with_quoting): Print new C_CLR_TO_EOL string if needed. 5047 Return the width of what we're printing. 5048 (print_file_name_and_frills): Propagate width. 5049 (print_type_indicator): Return bool (aka width). 5050 (print_many_per_line): Pass column position to print_* function. 5051 (print_current_files): Likewise. 5052 (print_horizontal): Likewise. 5053 (print_with_commas): Likewise. 5054 * src/dircolors.c (slack_codes): Add "CLRTOEOL". 5055 (ls_codes): Add "cl". 5056 * tests/ls/color-clear-to-eol: New file. Test for this fix. 5057 * tests/Makefile.am (TESTS): Add ls/color-clear-to-eol. 5058 * THANKS: Update. 5059 Reported by Alexander V. Lukyanov. See thread for details: 5060 http://thread.gmane.org/gmane.linux.kernel/740021/focus=14824 5061 Thanks to Jan Engelhardt for helping me reproduce the problem. 5062 5063 Demonstrate with this in an 80-column xterm: 5064 seq 200 # to start in the "bottom" row 5065 touch zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz.foo 5066 env LS_COLORS='*.foo=0;31;42' ls -og --color=always 5067 5068 Before the fix, you'd see something like this: 5069 (where the file name is printed in red on a green background, 5070 and each "=" denotes a space on a green background) 5071 ... 5072 -rw-r--r-- 1 0 Feb 5 11:31 zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz\ 5073 zzzzzzzzzzzzzz.foo=================================================== 5074 5075 After the patch, the trailing green spaces are gone: 5076 5077 -rw-r--r-- 1 0 Feb 5 11:31 zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz\ 5078 zzzzzzzzzzzzzz.foo 5079 5080 * tests/test-lib.sh: Use skip_test_... in place of echo...;exit 77. 5081 50822009-02-10 Nix <nix@esperi.org.uk> 5083 5084 tests: avoid skipping stty-* tests 5085 * tests/test-lib.sh (require_controlling_input_terminal_): 5086 Check stdout, not stdin. 5087 50882009-02-09 Jim Meyering <meyering@redhat.com> 5089 5090 touch: deprecate --file option: equivalent to --reference (-r) 5091 * src/touch.c: Mark long-undocumented --file for removal in 2010. 5092 (main): Warn upon use of --file. 5093 50942009-02-06 Pádraig Brady <P@draigBrady.com> 5095 5096 tests: fix dd skip=greater_max_file_size test on Solaris 10 5097 * tests/dd/skip-seek-past-file: I had previously commented that 5098 on some systems lseek(> max file size) may succeed, but left 5099 the possibility of failure in that case, so that I could determine 5100 specific systems to put in the comments for both failure modes. 5101 51022009-02-05 Jim Meyering <meyering@redhat.com> 5103 5104 avoid spurious parentheses/arith-op-related warnings from newer gcc 5105 * src/copy.c (set_owner): Use && rather than &. 5106 * src/stty.c (main): Likewise. 5107 * src/wc.c (wc): Likewise. 5108 51092009-02-02 Jim Meyering <meyering@redhat.com> 5110 5111 maint: tighten atoi/atof-prohibiting regexp, clean up .x-sc- file 5112 * maint.mk (sc_prohibit_atoi_atof): Require "(" after token. 5113 * .x-sc_prohibit_atoi_atof: Remove names that no longer contain a match. 5114 5115 doc: preserve --help line breaks in 'REPORTING BUGS' man page section 5116 * man/help2man: Insert .br between adjacent lines. 5117 5118 * src/system.h (emit_bug_reporting_address): Remove periods. 5119 5120 update copyright dates from recent changes 5121 * src/dd.c: Add 2009 to list of copyright years. 5122 * tests/dd/seek-skip-past-file: Likewise. 5123 * tests/dd/seek-skip-past-dev: Likewise. 5124 * m4/xattr.m4: Likewise. 5125 * src/copy.h: Likewise. 5126 5127 * maint.mk (sc_redundant_const): Use $(_prohibit_regexp). 5128 51292009-02-02 jidanni@jidanni.org <jidanni@jidanni.org> 5130 5131 date doc: warn at -d about LC_TIME 5132 We also warn here about LC_TIME, so the user will know even if he 5133 doesn't look in the @xref{Date input formats}. 5134 5135 document sort --ignore-case --unique interaction 5136 51372009-01-31 Jim Meyering <meyering@redhat.com> 5138 5139 maint: detect useless inclusion of c-ctype.h 5140 * maint.mk (sc_prohibit_c_ctype_without_use): New rule. 5141 51422009-01-29 Jim Meyering <meyering@redhat.com> 5143 5144 maint: teach "make syntax-check" to print each check name as it's run 5145 * maint.mk (%.m): New rules to print each syntax-checking rule name, 5146 just before running its commands. 5147 ($(syntax-check-rules)): Depend on it. 5148 5149 maint: silence some syntax-check rules 5150 * cfg.mk (sc_strftime_check): Silence the rule. 5151 (sc_tight_scope): Likewise. 5152 * src/Makefile.am (check-AUTHORS): Likewise. 5153 5154 maint: factor syntax-check rules 5155 * maint.mk (_ignore_case): New macro. 5156 (_prohibit_regexp): Use it. 5157 Factor many existing syntax-check rules to use $(_prohibit_regexp). 5158 51592009-01-29 Kamil Dudka <kdudka@redhat.com> 5160 5161 cp/mv: add xattr support 5162 This patch was originally written by Andreas Grünbacher, nowadays 5163 available at 5164 http://www.suse.de/~agruen/coreutils/5.91/coreutils-xattr.diff 5165 5166 * bootstrap.conf: Add gnulib module verror. 5167 * po/POTFILES.in: Add lib/verror.c. 5168 * m4/xattr.m4: Check for libattr availability, new configure option 5169 --disable-xattr. 5170 * m4/prereq.m4: Require gl_FUNC_XATTR. 5171 * src/Makefile.am: Link cp, mv and ginstall with libattr. 5172 * src/copy.h: Add preserve_xattr and require_preserve_xattr to 5173 cp_options. 5174 * src/copy.c (copy_attr_error): New function to handle errors during 5175 xattr copying. 5176 (copy_attr_quote): New function to quote file name in error messages 5177 printed by libattr. 5178 (copy_attr_free): Empty function requested by libattr to free quoted 5179 string. 5180 (copy_attr_by_fd): New fd-oriented function to copy xattr. 5181 (copy_attr_by_name): New name-oriented function to copy xattr. 5182 (copy_reg, copy_internal): Call copy_extended_attributes function. 5183 * src/cp.c (usage): Mention new --preserve=xattr option. 5184 (decode_preserve_arg): Handle new --preserve=xattr option. 5185 * src/mv.c: Always attempt to preserve xattr. 5186 * src/install.c: Never attempt to preserve xattr. 5187 * tests/misc/xattr: New test for xattr support in cp, mv and install. 5188 * tests/Makefile.am: Add the new test to list. 5189 * doc/coreutils.texi: Mention xattr support, new --preserve=xattr 5190 option. 5191 * NEWS: Mention the change. 5192 51932009-01-28 Jim Meyering <meyering@redhat.com> 5194 5195 system.h: add a comment re autoconf's new AC_PACKAGE_URL 5196 * src/system.h (emit_bug_reporting_address): Add a comment 5197 suggesting to use AC_PACKAGE_URL once we require autoconf-2.64. 5198 51992009-01-28 Pádraig Brady <P@draigBrady.com> 5200 5201 tests: Fixup shred-passes test 5202 * tests/misc/shred-passes: Set the $fail variable correctly. 5203 The issue was noticed by Jim Meyering. 5204 5205 tests: Add a test to verify shred's default operations 5206 * tests/Makefile.am: add new test 5207 * tests/misc/shred-passes: Verify the operations shred 5208 does by default to overwrite and remove a zero length file. 5209 5210 dd: Better handle user specified offsets that are too big 5211 Following are the before and after operations for seekable files, 5212 for the various erroneous offsets handled by this patch: 5213 5214 skip beyond end of file 5215 before: immediately exit(0); 5216 after : immediately printf("cannot skip to specified offset"); exit(0); 5217 5218 skip > max file size 5219 before: read whole file and exit(0); 5220 after : immediately printf("cannot skip: Invalid argument"); exit(1); 5221 seek > max file size 5222 before: immediately printf("truncate error: EFBIG"); exit(1); 5223 after : immediately printf("truncate error: EFBIG"); exit(1); 5224 5225 skip > OFF_T_MAX 5226 before: read whole device/file and exit(0); 5227 after : immediately printf("cannot skip:"); exit(1); 5228 seek > OFF_T_MAX 5229 before: immediately printf("truncate error: offset too large"); exit(1); 5230 after : immediately printf("truncate error: offset too large"); exit(1); 5231 5232 skip > device size 5233 before: read whole device and exit(0); 5234 after : immediately printf("cannot skip: Invalid argument"); exit(1); 5235 seek > device size 5236 before: read whole device and printf("write error: ENOSPC"); exit(1); 5237 after : immediately printf("cannot seek: Invalid argument"); exit(1); 5238 5239 * NEWS: Summarize this change in behavior. 5240 * src/dd.c (skip): Add error checking for large seek/skip offsets on 5241 seekable files, rather than deferring to using read() to advance offset. 5242 (dd_copy): Print a warning if skip past EOF, as per FIXME comment. 5243 * test/Makefile.am: Add 2 new tests. 5244 * tests/dd/seek-skip-past-file: Add tests for first 3 cases above. 5245 * tests/dd/seek-skip-past-dev: Add root only test for last case above. 5246 52472009-01-27 Jim Meyering <meyering@redhat.com> 5248 5249 doc: emit better bug-reporting info, to help help2man 5250 * src/system.h (emit_bug_reporting_address): End each "sentence" 5251 with period, mark URLs with <...>. 5252 Based on a suggestion from Eric Blake. 5253 Use fputs on a string without %s, not printf. 5254 5255 doc: ensure that emit_bug_reporting_address changes propagate to *.1 5256 * man/Makefile.am ($(MAN)): Depend on system.h. 5257 5258 doc: restore "REPORTING BUGS" section to generated man pages 5259 * man/help2man ($PAT_BUGS): Update regexp to match the newer 5260 "Report PROG bugs ..." --help output, as well as "Report bugs...". 5261 Reported by Eric Blake. 5262 52632009-01-26 Jim Meyering <meyering@redhat.com> 5264 5265 tests: generalize install-transform-check 5266 * maint.mk (install-transform-check): Generalize to work also 5267 in a project that installs manuals in a section other than "1". 5268 52692009-01-23 Jim Meyering <meyering@redhat.com> 5270 5271 build: resolve conflict with new declaration from version-etc.h 5272 * src/system.h (emit_bug_reporting_address): Define away, 5273 now, gnulib's version-etc.h also declares this function. 5274 In this package, we choose to include each program's name in 5275 the diagnostic. Define away the conflicting declaration. 5276 (emit_bug_reporting_address): Also emit home page and 5277 "General help..." links, like the new function does. 5278 Reported by Bob Proulx. 5279 52802009-01-23 Pádraig Brady <P@draigBrady.com> 5281 5282 doc: shred: Correct docs on default number of overwrites. 5283 * NEWS: Mention the change to the default number of passes. 5284 * doc/Makefile.am: Update constants.texi with the default 5285 number of passes shred uses, so that the documentation 5286 will automatically reflect any future changes. 5287 * doc/coreutils.texi (shred invocation): Update the description 5288 of the --iterations option to have the correct default number, 5289 while still conveying that there are 25 internal patterns 5290 that may be useful. 5291 52922009-01-22 Pádraig Brady <P@draigBrady.com> 5293 5294 shred: change default number of overwrites from 25 to 3 5295 * src/shred.c: The concensus is that a default of 3 5296 passes is appropriate for current drive technologies. 5297 * src/TODO: Reference Paul Eggert's suggestion 5298 of enhancing shred to conform to DoD 5220 rules. 5299 53002009-01-21 Jim Meyering <meyering@redhat.com> 5301 5302 m4: don't use AC_REQUIRE([AC_C_BIGENDIAN]) 5303 * m4/jm-macros.m4: Use AC_REQUIRE([gl_BIGENDIAN]) instead. 5304 This avoids a subtle problem recently documented in autoconf: 5305 http://git.sv.gnu.org/gitweb/?p=autoconf.git;a=commitdiff;h=34e2c8d5484 5306 53072009-01-19 Jim Meyering <meyering@redhat.com> 5308 5309 no longer define *_FILENO constants 5310 * src/system.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO): 5311 Remove definitions. Now guaranteed by gnulib. 5312 5313 build: use dist-xz, not dist-lzma, cont'd 5314 * README-hacking: mention XZ utils 5315 * README-prereq: Add a FIXME comment. 5316 5317 tests: tail-2/infloop-1 is racy 5318 * tests/tail-2/infloop-1: Add a comment to that effect. 5319 53202009-01-18 Jim Meyering <meyering@redhat.com> 5321 5322 build: use dist-xz, not dist-lzma 5323 * configure.ac (AM_INIT_AUTOMAKE): s/dist-lzma/dist-xz/. 5324 Requires recent "xz" from git://ctrl.tukaani.org/lzma-utils.git 5325 53262009-01-16 Jim Meyering <meyering@redhat.com> 5327 5328 maint: remove obsolete sc_author_mark_check rule 5329 * maint.mk (sc_author_mark_check): Remove rule. 5330 "and" no longer appears in the definition of AUTHORS. 5331 5332 Merge branch 'master' of git://git.sv.gnu.org/coreutils 5333 5334 maint: enforce existing prohibition: no cvs $keywords$ 5335 * maint.mk (sc_prohibit_cvs_keyword): New rule. 5336 5337 echo, printf, test: remove unused #include directives 5338 * src/echo.c: Don't include "long-options.h". No longer used. 5339 * src/printf.c: Likewise. 5340 * src/test.c: Likewise. 5341 53422009-01-16 Pádraig Brady <P@draigBrady.com> 5343 5344 pathchk: avoid -Wsign-compare warnings 5345 * src/pathchk.c: Compare pathconf limits to _signed_ MAX constants, 5346 as pathconf returns signed values. 5347 5348 pr: avoid -Wsign-compare warnings 5349 * src/pr.c: Use unsigned variables in unsigned comparisons. 5350 5351 shred: avoid -Wsign-compare warnings 5352 * src/shred.c: Use already assigned signed variable sizeof_r, 5353 rather than the unsigned sizeof(r). Don't use signed integer 5354 overflow check that contemporary compilers may remove anyway. 5355 5356 simplify mgetgroups() and avoid -Wsign-compare warnings 5357 * gl/lib/mgetgroups.c: Avoid -Wsign-compare warning by using unsigned 5358 types for the parameters of the new function realloc_groupbuf(). 5359 mgetgroups() was refactored to use this function rather than 5360 explicitly allocating and copying from automatic storage itself. 5361 * src/group-list.c: Use int rather than size_t as variable is 5362 used in signed comparisons. 5363 * src/id.c: ditto. 5364 53652009-01-14 Eric Blake <ebb9@byu.net> 5366 5367 test, echo, printf: don't accept option abbreviation 5368 * src/test.c (main): Directly parse accepted options, thus 5369 avoiding abbreviations. 5370 * src/echo.c (main): Likewise. 5371 * src/printf.c (main): Likewise. 5372 53732009-01-14 Kamil Dudka <kdudka@redhat.com> 5374 5375 cp/mv: add --no-clobber (-n) option to not overwrite target 5376 * src/cp.c (usage): Show new option -n in --help. 5377 (main): Handle new option -n. 5378 * src/mv.c (usage): Show new option -n in --help. 5379 (main): Handle new option -n. 5380 * doc/coreutils.texi: Document new cp/mv option -n. 5381 * tests/cp/cp-i: Add tests for -f, -i and -n options. 5382 * tests/mv/mv-n: New test for mv -n. 5383 * tests/Makefile.am: Add test mv/mv-n to the list. 5384 * NEWS: Mention the change. 5385 53862009-01-08 Eric Blake <ebb9@byu.net> 5387 5388 option handling: make exceptions more consistent 5389 * doc/coreutils.texi (Common options): Not all utilities reject 5390 option abbreviations. 5391 * src/chroot.c (main): Report correct name on failure. 5392 * src/echo.c (usage): Clarify long option usage. 5393 * src/setuidgid.c (usage): Likewise. 5394 * src/hostid.c (usage): Condense. 5395 53962009-01-07 Jim Meyering <meyering@redhat.com> 5397 5398 * bootstrap.conf (avoided_gnulib_modules): Add dummy. 5399 5400 * maint.mk: align some backslashes 5401 54022009-01-05 Pádraig Brady <P@draigBrady.com> 5403 5404 doc: pathchk description enhancements 5405 * doc/coreutils.texi (pathchk invocation): Mention pathchk 5406 checks validity (for current system) as well as portability. 5407 Say messages go to stderr, and reorder description of checks 5408 done for the -p option, to match what's done in code. 5409 * src/pathchk.c (usage): Mention pathchk checks name validity. 5410 Suggested clarifications were from Dan Jacobson. 5411 54122009-01-03 Pádraig Brady <P@draigBrady.com> 5413 5414 src/.gitignore: Ignore getlimits utility 5415 * src/.gitignore: Ignore getlimits 5416 5417 tests: refactor to use the new getlimits utility 5418 * tests/Coreutils.pm: Add function to make limits available 5419 * tests/test-lib.sh: ditto 5420 * tests/misc/join: Check for both SIZE_OFLOW and UINTMAX_OFLOW 5421 rather than using arbitrary 2^128 5422 * tests/misc/sort: ditto 5423 * tests/misc/uniq: ditto 5424 * tests/misc/printf: Check for both INT_OFLOW and INT_UFLOW 5425 rather than using arbitrary -2^31 5426 * tests/misc/seq-long-double: Check for INTMAX_OFLOW 5427 rather than using arbitrary 2^63 5428 * tests/misc/split-fail: Check --lines --bytes and --line-bytes 5429 options limits on all platforms. Note getlimits obviates the 5430 need to use expr to check if 32 bit integers are supported, 5431 which I think was invalid anyway as expr now supports bignum? 5432 * tests/misc/test: Check for UINTMAX_OFLOW rather than 5433 using arbitrary 2^64 and 2^128. Check for INTMAX_UFLOW 5434 rather than using arbitrary -2^64 5435 * tests/misc/timeout-parameters: Check for UINT_OFLOW 5436 rather than using arbitrary 2^32 5437 * tests/misc/truncate-overflow: Don't depend on truncate 5438 to determine if we're on a 32 or 64 bit platform and 5439 instead use the various OFF_T limits 5440 * tests/misc/sort-merge: Check for UINTMAX_OFLOW 5441 rather than using arbitrary 2^64+1 5442 * tests/misc/unexpand: ditto 5443 54442009-01-03 Michael Meskes <michael@fam-meskes.de> 5445 5446 stat: print file-system total inode count (%c) as an unsigned number 5447 * src/stat.c (print_statfs): Print statfs.f_files, the total inode 5448 count of a file system, as an unsigned number. 5449 54502009-01-01 Jim Meyering <meyering@redhat.com> 5451 5452 tests: factor ls-misc (no semantic change) 5453 * tests/misc/ls-misc: Factor out uses of "\e[0m". 5454 5455 update copyright year 5456 * doc/coreutils.texi: Likewise. 5457 * tests/sample-test: Likewise. 5458 54592009-01-01 Jim Meyering <meyering@iou.iou> 5460 5461 improve M4 quoting 5462 * configure.ac: Add quotes. 5463 * gl/m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise. 5464 * m4/boottime.m4 (GNULIB_BOOT_TIME): Likewise. 5465 * m4/check-decl.m4 (gl_CHECK_DECLS): Likewise. 5466 * m4/gmp.m4 (cu_GMP): Likewise. 5467 * m4/jm-macros.m4 (coreutils_MACROS, gl_CHECK_ALL_HEADERS): Likewise. 5468 (gl_CHECK_ALL_TYPES): Likewise. 5469 * m4/lib-check.m4 (cu_LIB_CHECK): Likewise. 5470 * m4/stat-prog.m4 (cu_PREREQ_STAT_PROG): Likewise. 5471 5472 FYI, I first ran this command: 5473 git ls-files | grep -E '\.(m4|ac)$' | xargs perl -pi \ 5474 -e 's/(AC_[A-Z_]+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \ 5475 -e 's/(AC_[A-Z_]+\(\[[^,]+?\], )([^,[()]+?)([,)])/$1\[$2]$3/g;' \ 5476 -e 's/(AC_[A-Z_]+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g' 5477 Then I updated serial numbers and copyright dates manually. 5478 Also, I manually added two pairs of quotes in boottime.m4. 5479 54802009-01-01 Jim Meyering <meyering@redhat.com> 5481 5482 bootstrap: don't use cmp's -s option when reading from a pipe 5483 GNU cmp exits without reading all input when given the -s option, 5484 and that can cause termination of the writing process via SIGPIPE. 5485 Instead, when reading from a pipe, just redirect output to /dev/null 5486 so that all input is read. 5487 5488 maint: factor out common code; prohibit use of HAVE_MBRTOWC 5489 * maint.mk (_prohibit_regexp): New macro. 5490 (sc_avoid_if_before_free, sc_cast_of_argument_to_free): 5491 (sc_cast_of_x_alloc_return_value, sc_cast_of_alloca_return_value): 5492 (sc_space_tab, sc_prohibit_atoi_atof, sc_prohibit_strcmp): 5493 (sc_prohibit_stat_st_blocks, sc_prohibit_S_IS_definition): Use it. 5494 (sc_prohibit_HAVE_MBRTOWC): New rule. 5495 5496 maint: use more sc_-prefixed names 5497 * maint.mk (sc_po_check): Renamed from po-check. 5498 (sc_author_mark_check): Renamed from author_mark_check. 5499 (sc_copyright_check): Renamed from copyright-check. 5500 (sc_makefile_path_separator_check): Renamed from 5501 makefile_path_separator_check. 5502 (local-checks-available): Remove the old names. 5503 * Makefile.am (EXTRA_DIST): Reflect the renaming: .x-sc_po_check 5504 * .x-po-check: Rename to... 5505 * .x-sc_po_check: ...new file. 5506 5507 maint: tighten m4 AC_ quoting check 5508 * maint.mk (sc_m4_quote_check): Renamed from m4-check. 5509 Also search for AC_DEFINE and AC_DEFINE_UNQUOTED. 5510 Also search in configure.ac. 5511 * configure.ac: Quote first argument of AC_DEFINE. 5512 * jm-macros.m4 (coreutils_MACROS): Quote the first argument to AC_DEFINE. 5513 5514 maint: move coreutils-specific syntax check rules into cfg.mk 5515 * maint.mk (sc_dd_max_sym_length, sc_prohibit_jm_in_m4): 5516 (sc_root_tests, sc_always_defined_macros, sc_system_h_headers): 5517 (sc_sun_os_names, sc_tight_scope, sc_no_exec_perl_coreutils): 5518 Move rules into cfg.mk. 5519 (sc_strftime_check): Renamed from strftime-check, and moved, too. 5520 * cfg.mk: Add the above rules. 5521 5522 portability: accommodate gnulib's getaddrinfo change 5523 * src/Makefile.am (pinky_LDADD, who_LDADD): Append $(GETADDRINFO_LIB) 5524 5525 cleanup/modernize: don't test HAVE_MBRTOWC; now gnulib provides it 5526 * bootstrap.conf (gnulib_modules): Include mbrtowc explicitly. 5527 * src/ls.c (quote_name): Don't test HAVE_MBRTOWC, now that we're 5528 guaranteed to have the function. 5529 * src/wc.c (wc): Likewise. 5530 55312008-12-27 Eric Blake <ebb9@byu.net> 5532 5533 doc: mention long option abbreviation 5534 * doc/coreutils.texi (Common options): Give example of 5535 abbreviating options. 5536 * THANKS: Update. 5537 Reported by Adam Jimerson. 5538 55392008-12-26 Jim Meyering <meyering@redhat.com> 5540 5541 maint: ensure dd's computation of O_FULLBLOCK uses all O_ symbol names 5542 * src/dd.c (O_FULLBLOCK): Use a more uniform initializer, that makes 5543 it easier to extract all O_ symbol names. 5544 * maint.mk (syntax-check-rules): Also search for sc_ rules in cfg.mk. 5545 (sc_root_tests): Ensure that this rule sets $diff. 5546 * cfg.mk (sc_dd_O_FLAGS): New rule. 5547 55482008-12-26 Matt Harden <matth@mindspring.com> 5549 5550 dd: add support for opening files in Concurrent I/O (CIO) mode 5551 * src/dd.c (O_CIO): New flag. 5552 * src/dd.c (O_FULLBLOCK): Add O_CIO to the list of flags that 5553 O_FULLBLOCK should be greater than. 5554 * src/dd.c (flags): Give the name "cio" to the new O_CIO flag, mirroring 5555 the treatment of O_DIRECT. 5556 * src/dd.c (usage): Add a description of the new flag when it is available. 5557 * doc/coreutils.text (dd invocation): Describe the new flag. 5558 * NEWS: Mention the new feature. 5559 55602008-12-23 Jim Meyering <meyering@redhat.com> 5561 5562 build: do enable $(WERROR_CFLAGS) for src/ files. 5563 This reverts the more recent commit (of two) entitled "build: 5564 add configure-time --enable-gcc-warnings option; avoid warnings". 5565 Pádraig Brady spotted the contradiction between the log message 5566 and actual change. 5567 5568 This reverts commit 292d68565a34b237cd2bf586ace545b7cd3dbfcf. 5569 55702008-12-23 Pádraig Brady <P@draigBrady.com> 5571 5572 doc: stty: Clarification of some input and output settings 5573 * doc/coreutils.texi (stty invocation): Clarify any 5574 ambiguity in regard to the direction of input and output settings. 5575 Add some notes on the case changing settings. 5576 Most of the text was supplied by Dan Jacobson. 5577 5578 timeout: remove problematic casts 5579 * src/timeout.c (apply_time_suffix): Change input parameter from 5580 unsigned int to unsigned long, which is the type of the variable it's 5581 actually manipulating. This removes the need for the cast which was 5582 giving a warning with the gcc options: -fstrict-aliasing 5583 -Wstrict-aliasing. Also add a check for overflow possible on 16-bit 5584 platforms, and fix indents. 5585 (main): Remove a redundant cast in the alarm() call. 5586 55872008-12-21 Jim Meyering <meyering@redhat.com> 5588 5589 * .x-sc_require_config_h: Remove obsolete regexps. 5590 5591 maint.mk: enforce the "include <config.h> first" rule 5592 * maint.mk (sc_require_config_h_first): New rule. 5593 * .x-sc_require_config_h_first: New file. 5594 5595 build: add configure-time --enable-gcc-warnings option; avoid warnings 5596 * bootstrap.conf (gnulib_modules): Add "warnings" module. 5597 * configure.ac: Add --enable-gcc-warnings, derived from code in bison. 5598 * src/Makefile.am (AM_CFLAGS): Set to $(WARN_CFLAGS) # $(WERROR_CFLAGS) 5599 * lib/Makefile.am (AM_CFLAGS): Change spelling to $(WARN_CFLAGS) 5600 Don't use $(WERROR_CFLAGS), yet. 5601 * src/system.h (usage): Declare. 5602 * src/base64.c (usage): Declare to be global, for consistency. 5603 * src/timeout.c (usage): Likewise. 5604 * src/truncate.c (usage): Likewise. 5605 * src/getlimits.c (usage): Likewise. 5606 * src/pinky.c (ttyname): Declare with prototype, rather than an 5607 empty argument list. 5608 * src/who.c (ttyname): Likewise. 5609 * src/su.c (crypt, getusershell, setusershell, endusershell): Likewise. 5610 5611 build: turn on $(WERROR_CFLAGS) for src/ 5612 5613 build: add configure-time --enable-gcc-warnings option; avoid warnings 5614 * bootstrap.conf (gnulib_modules): Add "warnings" module. 5615 * configure.ac: Add --enable-gcc-warnings, derived from code in bison. 5616 * src/Makefile.am (AM_CFLAGS): Set to $(WARN_CFLAGS) # $(WERROR_CFLAGS) 5617 * lib/Makefile.am (AM_CFLAGS): Change spelling to $(WARN_CFLAGS) 5618 Don't use $(WERROR_CFLAGS), yet. 5619 * src/system.h (usage): Declare. 5620 * src/base64.c (usage): Declare to be global, for consistency. 5621 * src/timeout.c (usage): Likewise. 5622 * src/truncate.c (usage): Likewise. 5623 * src/getlimits.c (usage): Likewise. 5624 * src/pinky.c (ttyname): Declare with prototype, rather than an 5625 empty argument list. 5626 * src/who.c (ttyname): Likewise. 5627 * src/su.c (crypt, getusershell, setusershell, endusershell): Likewise. 5628 56292008-12-17 Pádraig Brady <P@draigBrady.com> 5630 5631 doc: Remove curly quotes from shell examples in man pages 5632 Use \(aq rather than a literal ' as groff will convert apostrophe 5633 to a right quote (\u2029) in utf8 locales for example. 5634 Stepan Kasal details the issue and fix here: 5635 http://lists.gnu.org/archive/html/bug-coreutils/2008-12/msg00124.html 5636 56372008-12-16 Jim Meyering <meyering@redhat.com> 5638 5639 ChangeLog-2008: say ChangeLog files are no longer manually maintained 5640 and point to HACKING's policy. Suggestion from Dan Jacobson. 5641 5642 du: -H now does what POSIX requires 5643 * src/du.c (usage): Update --help output. 5644 (main): Move -H-handling code from the --si block to 5645 the one for --dereference-args (-D). 5646 * doc/coreutils.texi (du invocation): Update description. 5647 * NEWS (Changes in behavior): Mention this. 5648 56492008-12-13 Jim Meyering <meyering@redhat.com> 5650 5651 doc: pr: formatting corrections 5652 * doc/coreutils.texi (pr invocation): Fix some overzealous uses of @var. 5653 Reported by Andreas Schwab. 5654 56552008-12-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 5656 5657 more portable bootstrap procedure 5658 * bootstrap (get_version): Fix portability issues in sed script. 5659 (check_versions): For buildreq apps, honor the corresponding 5660 $APP variable like $AMTAR, $AUTOCONF. 5661 (usage): Document this. 5662 (update_po_files): Honor $SHA1SUM. 5663 (main): Honor $AUTOPOINT, $ACLOCAL, $AUTOCONF, $AUTOHEADER, 5664 $AUTOMAKE, $LIBTOOLIZE. 5665 56662008-12-03 Jim Meyering <meyering@redhat.com> 5667 5668 tests: ensure that chmod, chgrp and chown honor --silent 5669 * tests/chmod/silent: New file, to test all three programs. 5670 * tests/Makefile.am (TESTS): Add chmod/silent. 5671 * NEWS (Bug fixes): Mention this. 5672 The bug was introduced in 96a5d2ce6a53d96cb667af78f13e56fadcdb91e6. 5673 56742008-12-03 Ondřej Vašík <ovasik@redhat.com> 5675 5676 chmod, chown, chgrp: honor --silent (-f) once again 5677 * chmod.c (process_file): Make -f suppress fts-related diagnostics. 5678 * chown-core.c (change_file_owner): Likewise. 5679 Reported via <http://bugzilla.redhat.com/474220>. 5680 56812008-12-02 Jim Meyering <meyering@redhat.com> 5682 5683 wc: read and process --files0-from= input a name at a time, 5684 when the file name list is not too large. Before, wc would always read 5685 the entire file name list into memory and *then* process each file name. 5686 wc does read the list into memory when the list is known not to be too 5687 large; this is done in order to be able to align the output numbers, 5688 as it does with arguments specified on the command-line 5689 * src/wc.c: Include "argv-iter.h". 5690 (main): Rewrite to use argv-iter when the input file name list 5691 is known to be too large. 5692 * NEWS (Bug fixes): Mention it. 5693 5694 du: read and process --files0-from= input a name at a time, 5695 rather than by reading the entire input into memory and *then* 5696 processing each file name. 5697 * src/du.c: Include "argv-iter.h", not "readtokens0.h". 5698 (main): Rewrite to use argv-iter. 5699 Call xfts_open on each argument, rather than on the entire 5700 argv list at once. 5701 Call print_size here, not from du_files. 5702 Diagnose read failure. 5703 * NEWS (Bug fixes): Mention it. 5704 * THANKS: update. 5705 Reported by Barry Kelly. More details in 5706 http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/15159/ 5707 57082008-12-01 Jim Meyering <meyering@redhat.com> 5709 5710 seq: plug a leak 5711 * src/factor.c (emit_ul_factor): Call mpz_clear. 5712 5713 avoid warnings about initialization of automatic aggregates 5714 * src/system.h (DZA_CONCAT0, DZA_CONCAT): New macros. 5715 (DECLARE_ZEROED_AGGREGATE): New macro. 5716 * src/ls.c (quote_name): Use it. 5717 * src/pathchk.c (portable_chars_only): Use it. 5718 * src/shred.c (main): Use it. 5719 * src/stty.c (main): Use it. 5720 * src/wc.c (SUPPORT_OLD_MBRTOWC): Use it. 5721 5722 * bootstrap.conf (gnulib_modules): Add argv-iter. 5723 5724 argv-iter: add tests 5725 * gl/modules/argv-iter-tests: New module. 5726 * gl/tests/test-argv-iter.c: New file. 5727 5728 argv-iter: new module 5729 * gl/lib/argv-iter.h: New file. 5730 * gl/lib/argv-iter.c: New file. 5731 * gl/modules/argv-iter: New file. 5732 With a suggestion for improved memory management by Pádraig Brady. 5733 5734 * src/hostname.c (sethostname) [!HAVE_SETHOSTNAME]: Remove declaration. 5735 5736 cp, mv: remove 3-year-deprecated+warned-about --reply option 5737 * src/cp.c (reply_args, reply_vals): Remove globals. 5738 [REPLY_OPTION]: Remove enum. 5739 (long_opts) ["reply"]: Remove initializer. 5740 (main): Remove case stmt. 5741 * src/mv.c: Likewise. 5742 Don't include "argmatch.h". No longer used. 5743 * NEWS (Changes in behavior): Mention this. 5744 * tests/Makefile.am (TESTS): Remove mv/reply-no. 5745 * tests/mv/reply-no: Remove file. 5746 * tests/mv/i-link-no: Update, now that --reply= is gone. 5747 57482008-12-01 Pádraig Brady <P@draigBrady.com> 5749 5750 doc: Make descriptions of ASCII NUL and --zero-terminated option consistent 5751 doc/coretuils.texi: Refactor shuf, sort and uniq --zero-terminated 5752 option to use the same text. Also refer to NUL characters as 5753 @acronym{ASCII} @sc{nul} consistently. 5754 57552008-12-01 Jim Meyering <meyering@redhat.com> 5756 5757 doc: enforce @var{lower} policy 5758 * doc/coreutils.texi: Fix remaining violations. 5759 * doc/Makefile.am (sc-lower-case-var): New rule. 5760 Add some command-suppressing "@" directives so that a successful 5761 "make check" run is less noisy. 5762 57632008-12-01 Pádraig Brady <P@draigBrady.com> 5764 5765 doc: Tweak info docs to standarise on lower-case @var{file} 5766 * doc/coreutils.texi: s/@var{FILE}/@var{file}/ 5767 5768 doc: Improve description of --files0-from option 5769 * doc/coreutils.texi: Describe the most common 5770 usage of --files0-from=- to read names from stdin. 5771 * src/du.c: Likewise. 5772 * src/sort.c: Likewise. 5773 * src/wc.c: Likewise. 5774 5775 tests: dd/reblock: Reduce chance of timing related failures 5776 * tests/dd/reblock: Change the IPC mechanism to the dd process 5777 under test, from pipes to fifos. Also change the delay 5778 between data writes to 0.2s for both tests. 5779 This should increase the chance that the dd process 5780 will read the data chunks separately. 5781 57822008-11-30 Jim Meyering <meyering@redhat.com> 5783 5784 m4: avoid a warning from gcc's -Wstrict-prototypes 5785 * m4/jm-macros.m4 (ARGMATCH_DIE_DECL): Use proper prototype for usage. 5786 5787 tests: df: skip total-verify if df fails 5788 * tests/df/total-verify: Skip the test if df fails. 5789 5790 build: don't reject definition of STREQ 5791 * maint.mk (sc_prohibit_strcmp): Tighten rule: exclude 5792 macro definitions like the one in system.h. 5793 * .x-sc_prohibit_strcmp: Don't exempt src/system.h. 5794 5795 tests: start long-running cp/link-heap earlier 5796 * tests/Makefile.am (TESTS): Move cp/link-heap nearer the start of the 5797 list, so that its termination doesn't delay a parallel "make check". 5798 5799 tests: avoid failure of cp/link-heap on some systems 5800 * tests/cp/link-heap: Raise virtual memory limit from 10,000 5801 to 14,000, to avoid failure on Debian/unstable (libc6 2.7-16). 5802 5803 remove explicit declaration of putenv, ... 5804 * src/date.c: ... now that gnulib guarantees that it's in <stdlib.h>. 5805 * src/env.c: Likewise. 5806 5807 tests: dd/reblock: avoid occasional failure 5808 * tests/dd/reblock: Sleep longer to avoid a race condition. 5809 Reported by Bob Proulx. 5810 58112008-11-27 James Youngman <jay@gnu.org> 5812 5813 pwd: add pwd -P, -L to TODO 5814 * TODO: Add to-do entry for -P and -L options of pwd. 5815 58162008-11-26 Ondřej Vašík <ovasik@redhat.com> 5817 5818 doc: fix typo in units factorization, removed TODO items 5819 * doc/coreutils: switch typo (switched gibibytes/gigabytes) 5820 * TODO: removed missing chcon and runcon documentation from list 5821 58222008-11-26 Jim Meyering <meyering@redhat.com> 5823 5824 doc: factor out list of suffix-to-number (e.g., KB->1000B) mappings 5825 * coreutils.texi (multiplierSuffixes, multiplierSuffixesNoBlocks): 5826 New macros. 5827 (od invocation, head invocation, tail invocation, split invocation): 5828 (truncate invocation): Use them. 5829 5830 doc: tail: one more s/bytes/n/ change 5831 * doc/coreutils.texi (tail invocation): Make one more 5832 @var{bytes} -> @var{n} change. 5833 58342008-11-26 Pádraig Brady <P@draigBrady.com> 5835 5836 doc: tail: fix description of --bytes=N (-c) 5837 * doc/coreutils.texi (tail invocation): Use @var{n} consistently, 5838 not a mix of that and @var{bytes}. Reported by anonymous 5839 in <http://savannah.gnu.org/bugs/?24934>. 5840 58412008-11-23 Karl Berry <karl@freefriends.org> 5842 5843 doc: move @shortcontents and @contents from end to start 5844 * doc/coreutils.texi: Move @shortcontents and @contents from the 5845 end to the beginning, just after "@end titlepage". 5846 58472008-11-23 Jim Meyering <meyering@redhat.com> 5848 5849 doc (stat): clarify: there are two sets of format directives 5850 * doc/coreutils.texi (stat invocation): Clarify description of 5851 --file-system format directives. 5852 58532008-11-23 Karl Berry <karl@freefriends.org> 5854 5855 doc (stat): correct formatting in coreutils.texi 5856 * doc/coreutils.texi (stat invocation): Move the list of regular, 5857 non-file-system, format directives from the description of --terse, 5858 out of the enclosing table. 5859 58602008-11-22 Jim Meyering <meyering@redhat.com> 5861 5862 tests: dd: add a test for the required behavior 5863 * tests/dd/reblock: New file. Test for the required functionality. 5864 Based on an example and discussion from this thread: 5865 http://lists.gnu.org/archive/html/bug-coreutils/2008-11/msg00153.html 5866 * tests/Makefile.am (TESTS): Add dd/reblock. 5867 58682008-11-22 Pádraig Brady <P@draigBrady.com> 5869 5870 Revert part of "dd: avoid unnecessary memory copies" 5871 This reverts part of commit fbd87029cfc494a72bb73ade27ef46382c5bc832. 5872 Paul Eggert noticed the problem in 5873 http://lists.gnu.org/archive/html/bug-coreutils/2008-11/msg00153.html 5874 * doc/coreutils.texi (dd invocation): Clarify. 5875 58762008-11-21 Pádraig Brady <P@draigBrady.com> 5877 5878 getlimits: A new utility for use in coreutils' tests 5879 * src/getlimits.c: A utility to print platform dependent 5880 limits in a format suitable for use in shell scripts. 5881 * src/Makefile.am: Add getlimits to list of utilities 5882 to build but not install. Also add it to the list linked 5883 with libiconv 5884 * po/POTFILES.in: Add getlimits to translation list. 5885 5886 dd: avoid unnecessary memory copies 5887 * src/dd.c (scanargs): When not otherwise required (e.g. for 5888 conversion), use two-buffer mode only when the input and output 5889 buffer sizes differ. Before, some of the most basic invocations of 5890 dd, e.g., dd < in > out, would unnecessarily use separate buffers 5891 and perform memory copies between them. 5892 58932008-11-20 Jim Meyering <meyering@redhat.com> 5894 5895 cp: use far less memory in some cases 5896 cp --link was "remembering" many name,dev,inode triples unnecessarily. 5897 cp was doing the same, even without --link, for every directory in the 5898 source hierarchy, while it can do its job with entries merely for the 5899 command-line arguments. Prompted by a report from Patrick Shoenfeld. 5900 Details <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15081>. 5901 * src/copy.c (copy_internal): Refrain from remembering 5902 name,dev,inode for most files, when invoked via cp --link. 5903 Record an infloop-avoidance triple for each directory specified 5904 on the command line, not for each directory in the source tree. 5905 Don't record a dir-triple when x->hard_link is set. 5906 * NEWS (Buf fixes): Mention it. 5907 * tests/cp/link-heap: New file. Test for cp's lowered memory usage. 5908 * tests/Makefile.am (TESTS): Add link-heap. 5909 5910 tests: add a test of cp --preserve=links 5911 * tests/cp/link-preserve: Add a case and comments. 5912 5913 cp: remove unused code 5914 * src/cp-hash.c (remember_created): Remove unused function. 5915 Remove thus-obviated headers: <stdio.h>, "quote.h", "error.h". 5916 * src/cp-hash.h (remember_created): Remove declaration. 5917 59182008-11-17 Jim Meyering <meyering@redhat.com> 5919 5920 doc: HACKING: reference http://www.gnu.org/licenses/why-assign.html 5921 Suggestion from Patrick Schoenfeld. 5922 59232008-11-16 Jim Meyering <meyering@redhat.com> 5924 5925 tests: remove debug code that would try to write into /t/k-env 5926 * tests/ls/no-cap: Remove debugging "tee". 5927 5928 tests: change misc/printf-surprise so that it doesn't segfault anymore 5929 * tests/misc/printf-surprise: Disable MALLOC_PERTURB_, so that "make 5930 check" no longer provokes a segfault from printf(1). Before, that 5931 would be detected as a known problem and cause the test to be skipped. 5932 Adjust the test so that a segfault once again results in test failure. 5933 59342008-11-12 Jim Meyering <meyering@redhat.com> 5935 5936 tests: remove df/total 5937 * tests/df/total: Remove file. 5938 * tests/Makefile.am (TESTS): Remove df/total. 5939 It is subsumed by df/total-verify. 5940 59412008-11-12 Ondřej Vašík <ovasik@redhat.com> 5942 5943 * tests/df/total-verify [VERBOSE]: Run df --version, not ls --version. 5944 59452008-11-12 Jim Meyering <meyering@redhat.com> 5946 5947 avoid spurious test failure when df always fails 5948 * tests/df/total-verify: Skip upon _df_ failure, not tee failure. 5949 Reported by Ondřej Vašík. Details in 5950 <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15028>. 5951 59522008-11-11 Eric Blake <ebb9@byu.net> 5953 5954 jm-macros.m4: avoid syntax issue with newer autoconf 5955 * jm-macros.m4 (coreutils_MACROS): Make LIB_CAP assignment persistent. 5956 59572008-11-11 Jim Meyering <meyering@redhat.com> 5958 5959 Update references to GFDL: 1.2 -> 1.3 5960 * doc/coreutils.texi: Likewise. 5961 * doc/perm.texi: Likewise. 5962 * old/fileutils/NEWS: Likewise. 5963 * old/sh-utils/NEWS: Likewise. 5964 * old/textutils/NEWS: Likewise. 5965 59662008-11-10 Jim Meyering <meyering@redhat.com> 5967 5968 make --help print "Report PROGRAM translation bugs to <...>." 5969 for all but the C/POSIX locale. 5970 * src/system.h: Include "hard-locale.h". 5971 (emit_bug_reporting_address): Tell where to report translation bugs. 5972 5973 don't include "hard-locale.h", now that system.h does 5974 * src/comm.c: Likewise. 5975 * src/join.c: Likewise. 5976 * src/ls.c: Likewise. 5977 * src/pinky.c: Likewise. 5978 * src/pr.c: Likewise. 5979 * src/sort.c: Likewise. 5980 * src/uniq.c: Likewise. 5981 * src/who.c: Likewise. 5982 5983 avoid warnings about discarding "qualifiers from pointer target type" 5984 Use the new "bad_cast" function or an actual cast-to-"(char *)" 5985 to avoid warnings. 5986 * src/system.h (bad_cast): Define. 5987 * src/chown.c (main): 5988 * src/chroot.c (main): 5989 * src/date.c (main): 5990 * src/du.c (main): 5991 * src/expand.c (stdin_argv): 5992 * src/ls.c (decode_switches): 5993 * src/md5sum.c (main): 5994 * src/paste.c (main): 5995 * src/pr.c (col_sep_string, column_separator, line_separator, main): 5996 * src/sort.c (main): 5997 * src/split.c (main): 5998 * src/tail.c (main): 5999 * src/unexpand.c (stdin_argv): 6000 * src/yes.c (main): 6001 6002 avoid a compiler warning 6003 (strip_program): Declare to be const. 6004 6005 use xfreopen in place of unchecked freopen 6006 * bootstrap.conf (modules): Add xfreopen. 6007 * src/cat.c (main): Include "xfreopen.h". Use xfreopen. 6008 * src/cksum.c (cksum): Likewise. 6009 * src/head.c (head_file, main): Likewise. 6010 * src/md5sum.c (digest_file): Likewise. 6011 * src/od.c (open_next_file): Likewise. 6012 * src/split.c (type_undef): Likewise. 6013 * src/sum.c (bsd_sum_file, sysv_sum_file): Likewise. 6014 * src/tac.c (tac_file, main): Likewise. 6015 * src/tail.c (tail_file, main): Likewise. 6016 * src/tee.c (tee_files): Likewise. 6017 * src/tr.c (main): Likewise. 6018 * src/wc.c (wc_file): Likewise. 6019 * po/POTFILES.in: Add lib/xfreopen.c 6020 6021 xfreopen: new module 6022 * gl/lib/xfreopen.c: New file. 6023 * gl/lib/xfreopen.h: New file. 6024 * gl/modules/xfreopen: New file. 6025 60262008-11-09 Jim Meyering <meyering@redhat.com> 6027 6028 Update URL: s!www.iro.umontreal.ca!translationproject.org/team/...! 6029 * Makefile.am (THANKS-to-translators): Update URL template. 6030 60312008-11-09 James Youngman <jay@gnu.org> 6032 6033 install: indicate clearly it's not for installing packages 6034 * src/install.c (usage): Indicate the program copies files, 6035 as opposed to installing packages. 6036 60372008-11-08 Jim Meyering <meyering@redhat.com> 6038 6039 emit more precise bug-reporting instructions 6040 Hoping that this will decrease the volume of bug reports 6041 mistakenly directed to the coreutils mailing list. 6042 * src/system.h (emit_bug_reporting_address): Specify the program 6043 name in the "Report bugs to <...>." line in each program's --help 6044 output and man page. Now, it will say "Report PROGRAM_NAME bugs 6045 to <...>." Suggestion from Ondřej Vašík. 6046 60472008-11-05 Jim Meyering <meyering@redhat.com> 6048 6049 include gnulib's strdup module explicitly 6050 * bootstrap.conf (gnulib_modules): Include strdup explicitly, to 6051 keep the latest version of gnulib-tool from omitting this now-marked- 6052 as-obsolete module. 6053 60542008-10-28 Kamil Dudka <kdudka@redhat.com> 6055 6056 ls: --color now highlights hard linked files, too 6057 * src/ls.c (print_color_indicator): Colorize hard linked files. 6058 * src/dircolors.c: Add color for hard link. 6059 * src/dircolors.hin: Add color for hard link. 6060 * tests/ls/hardlink: Test for ls - colorize hard linked files. 6061 * tests/Makefile.am (TESTS): Add ls/hardlink. 6062 * NEWS: Mention the change. 6063 60642008-10-28 Jim Meyering <meyering@redhat.com> 6065 6066 tests: ls/stat-failed: don't discard stderr. 6067 * tests/ls/stat-failed: Let stderr be recorded, to ease debugging. 6068 60692008-10-26 Jim Meyering <meyering@redhat.com> 6070 6071 tests: seq: check for today's extended long double fix 6072 * tests/misc/seq-long-double: New file. Test for today's bug fix. 6073 * tests/check.mk (TESTS_ENVIRONMENT): Export CC definition. 6074 * tests/Makefile.am (TESTS): Add misc/seq-long-double. 6075 * NEWS (Bug fixes): Mention it. 6076 60772008-10-26 Paul Eggert <eggert@CS.UCLA.EDU> 6078 6079 seq: improve quality of format-checking code 6080 * src/seq.c (validate_format): Remove. Migrate its checks into... 6081 (long_double_format): Report an error and exit if an error is found, 6082 instead of returning NULL. All callers changed. 6083 Use a more-consistent format for diagnostics. 6084 * tests/misc/seq: Adjust to the more-consistent format for diagnostics. 6085 60862008-10-25 Jim Meyering <meyering@redhat.com> 6087 6088 factor: avoid compilation failure without libgmp 6089 * src/factor.c (debug) [!HAVE_GMP]: Define. 6090 Reported by Bob Proulx. 6091 60922008-10-25 Paul Eggert <eggert@CS.UCLA.EDU> 6093 6094 factor: remove --bignum and --no-bignum options 6095 Here's a patch to remove the --bignum and --no-bignum options from 6096 'factor'. The case for removing --bignum isn't as strong as that for 6097 'expr', but still, it seems to me that these options are not needed and 6098 complicate the documentation unnecessarily. 6099 6100 * doc/coreutils.texi (factor invocation): Remove --bignum, --no-bignum. 6101 * src/factor.c (algorithm, ALGORITHM_CHOICE, USE_BIGNUM, NO_USE_BIGNUM): 6102 Remove; all uses removed. 6103 (extract_factors_multi): Remove, replacing with.... 6104 (print_factors_multi): New function, with signature similar to that 6105 of new signature of print_factors_single. 6106 (print_factors_single): Migrate checking code to caller. 6107 (print_factors): Use GMP if it's available; don't bother asking user. 6108 Improve accuracy of check for "large" numbers. 6109 (long_options, main): Remove support for --bignum. 6110 61112008-10-25 Jim Meyering <meyering@redhat.com> 6112 6113 tests: df/total: don't fail for an inaccessible mount point 6114 * tests/df/total: Ignore nonzero exit status from df. 6115 61162008-10-25 Paul Eggert <eggert@CS.UCLA.EDU> 6117 6118 seq: revert Solaris 8 work-around that caused x86 regression 6119 * src/seq.c: Don't include <math.h>, <float.h>. 6120 (abs_rel_diff): Remove. 6121 (print_numbers): Test for equality, not for an epsilonish value. 6122 This reverts 4827dd27b0c655a685947aaa01426a5ecba179f3, aka 6123 v6.10-185-g4827dd2, which broke 'seq' on the x86; for example, it 6124 causes "seq 9223372036854775807 9223372036854775808" to incorrectly 6125 output 3 numbers instead of 2. It's better to punish obsolescent 6126 hosts that have incorrectly-working floating-point than to punish 6127 correctly-working hosts. 6128 * tests/misc/seq: Use 0.9000000000000, rather than 6129 0.90000000000000000000, to avoid tickling a bug in Solaris 8 strtold, 6130 which converts "0.9" and "0.9000000000000" correctly, but incorrectly 6131 converts "0.90000000000000000000" to a smaller value. 6132 61332008-10-24 Eric Blake <ebb9@byu.net> 6134 6135 group-list: avoid compiler warning 6136 * src/group-list.c (print_group_list) [!HAVE_GETGROUPS]: Always 6137 return value. 6138 61392008-10-23 Jim Meyering <meyering@redhat.com> 6140 6141 ls: use '.' (not +) as SELinux-only alt. access flag in ls -l output 6142 * src/ls.c (gobble_file) [long_format]: Map SELinux-only to '.', 6143 any other nonempty combination of MAC and ACL to '+', and all else 6144 to the usual ' '. Suggested by Michael Stone. 6145 * tests/misc/selinux: Adapt: expect '.', not '+'. 6146 * doc/coreutils.texi (What information is listed): Document this. 6147 * NEWS (Changes in behavior): Mention it. 6148 61492008-10-22 Pádraig Brady <P@draigBrady.com> 6150 6151 Remove lzma as a specific build requirement 6152 * bootstrap.conf: lzma was added as a build requirement 6153 in the recently added build tools requirements check. 6154 Remove that as it's quite new and also only required 6155 for the make dist stage. 6156 61572008-10-22 Paul Eggert <eggert@cs.ucla.edu> 6158 6159 * src/ls.c (usage): Describe exit statuses more concisely. 6160 61612008-10-22 Pádraig Brady <P@draigBrady.com> 6162 6163 Add better checks and docs for build tools 6164 Prompted by a report from Ed Avis: 6165 <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14710> 6166 6167 * README-hacking: Organise LZMA and Valgrind as 6168 as optional requirements rather than in their own sections. 6169 Mention bootstrap will now check tool versions. 6170 * README-prereq: Make a start on specific instructions 6171 for optaining build tools. Currently we just have notes 6172 for Fedora linux. 6173 * bootstrap.conf: Add the list of tools and versions required. 6174 * bootstrap: Add the logic to check for the required tools, 6175 and list all required tools and versions if any are missing. 6176 61772008-10-22 Jim Meyering <meyering@redhat.com> 6178 6179 clean up gl/modules/selinux-at 6180 * gl/modules/selinux-at: 6181 Ensure that LIB_SELINUX is cleared, in case it's set in the environment. 6182 m4-quote the first two args to AC_SEARCH_LIBS. 6183 Don't violate autoconf's ac_ namespace: s/ac_save/gl_save/ 6184 Drop the useless double quotes around a simple assignment RHS. 6185 61862008-10-21 Jim Meyering <meyering@redhat.com> 6187 6188 move selinux-h module from gl/ to gnulib 6189 * gl/lib/se-context.in.h: Remove file. 6190 * gl/lib/se-selinux.in.h: Likewise. 6191 * gl/m4/selinux-context-h.m4: Likewise. 6192 * gl/m4/selinux-selinux-h.m4: Likewise. 6193 * gl/modules/selinux-h: Likewise. 6194 6195 prepare to move selinux-h module to gnulib 6196 * gl/modules/selinux-h (Makefile.am) 6197 [selinux/selinux.h, selinux/context.h]: 6198 Remove temporary file and target, in case they're read-only. 6199 Use $(MKDIR_P), not mkdir -p. 6200 (License): Relax to LGPLv2+. 6201 Remove vestigial comments. 6202 6203 tests: test today's ls-vs-capability fix 6204 Test for this fix: f3f1ccfd871ee395e7fafc051c1b7dedb39fdfc9. 6205 * tests/Makefile.am (TESTS): Add ls/no-cap. 6206 * tests/ls/no-cap: New file. 6207 62082008-10-21 Kamil Dudka <kdudka@redhat.com> 6209 6210 ls: make it possible to disable file capabilities checking 6211 * ls.c (print_color_indicator): Do not check for file capability 6212 if that attribute is not being colored. 6213 Since 84f6abfe00b4ab533145623638b417a2221f9c75, ls --color would check 6214 each file for "capabilities". In <http://bugzilla.redhat.com/467508>, 6215 James Antill reported that ls --color seemed slower with capabilities 6216 detection. 6217 62182008-10-21 Jim Meyering <meyering@redhat.com> 6219 6220 reflect gnulib's removal of lstat.h 6221 * src/copy.h: Don't include "lstat.h". 6222 * src/ls.c: Likewise. 6223 * src/remove.c: Likewise. 6224 * src/rm.c: Likewise. 6225 62262008-10-20 Pádraig Brady <P@draigBrady.com> 6227 6228 expr: Fixup authors 6229 * src/expr.c: Standardise the format of AUTHORS to 6230 that used in other utils with multiple authors. 6231 Also add Paul Eggert since he basically rewrote it 6232 with his bignum fixes. 6233 * AUTHORS (expr): Add Paul Eggert. 6234 62352008-10-19 Jim Meyering <meyering@redhat.com> 6236 6237 accommodate gnulib header removals 6238 * src/copy.c: Don't include "euidaccess.h" or "lchmod.h". 6239 * src/cp.c: Don't include "lchmod.h". 6240 * src/ls.c: Don't include "dirfd.h". 6241 * src/mkdir.c: Don't include "lchmod.h". 6242 * src/pwd.c: Don't include "dirfd.h". 6243 * src/remove.c: Don't include "dirfd.h" or "euidaccess.h". 6244 * src/test.c: Don't include "euidaccess.h". 6245 * gl/modules/getloadavg.diff: Adjust diff for changed context. 6246 * src/uptime.c (uptime): Remove declaration. 6247 62482008-10-18 Jim Meyering <meyering@redhat.com> 6249 6250 * maint.mk (coreutils-path-check): New definition, now run 6251 only if src/true.c exists. Factored out of... 6252 (my-distcheck): ...here. 6253 62542008-10-17 Jim Meyering <meyering@redhat.com> 6255 6256 maint: avoid warning in ls.c 6257 * src/ls.c (has_capability) [!HAVE_CAP]: Add unused attribute. 6258 6259 maint: avoid warnings due to attribute warn_unused_result 6260 Now that a (void) cast no longer suffices to ignore warnings from gcc 6261 about uses of functions marked with the warn_unused_result attribute, 6262 we need an alternative. For the record, here's one of the ignorable 6263 warnings: "copy.c:233: warning: ignoring return value of 'fchown', 6264 declared with attribute warn_unused_result" 6265 * bootstrap.conf (gnulib_modules): Import ignore-value. 6266 * src/copy.c: Include "ignore-value.h". 6267 (set_owner): Use ignore_value in place of "(void)" casts, 6268 to ignore lchown and fchown failures. 6269 * src/cp.c (re_protect): Likewise, to ignore lchown failure. 6270 * src/remove.c (preprocess_dir): Remove unnecessary "(void)" cast. 6271 62722008-10-16 Jim Meyering <meyering@redhat.com> 6273 6274 mktemp: diagnose freopen failure 6275 * src/mktemp [--quiet]: Don't ignore freopen failure. 6276 62772008-10-16 Paul Eggert <eggert@cs.ucla.edu> 6278 6279 * src/mktemp.c (main): Add 'const' twice to avoid GCC warning. 6280 62812008-10-16 Jim Meyering <meyering@redhat.com> 6282 6283 build: when po-check fails, say why and suggest a fix 6284 * maint.mk (po-check): Before, when this check failed, it just 6285 spat out a diff mentioning two temporary files. Now, it tells 6286 you what's wrong and suggests a fix with a patch using the name 6287 of the affected file (rather than temporary file names) in the 6288 diff output. 6289 62902008-10-16 Eric Blake <ebb9@byu.net> 6291 6292 csplit: prefer sigaction over signal 6293 * bootstrap.conf (gnulib_modules): Import sigaction. 6294 * src/csplit.c (sigprocmask, siginterrupt) [SA_NOCLDSTOP]: Delete 6295 workarounds. 6296 (interrupt_handler, main): Drop use of signal. Rely on sigaction 6297 to block fatal signal during cleanup, and to restore it to default 6298 in case of nested signals. 6299 63002008-10-15 Pádraig Brady <P@draigBrady.com> 6301 6302 tests: add option processing tests for 'expr' 6303 * tests/misc/expr: Add tests for various combinations 6304 of options where the first part of the expression 6305 could be confused with an option. 6306 63072008-10-15 Paul Eggert <eggert@cs.ucla.edu> 6308 6309 expr: remove --bignum and --no-bignum options 6310 * doc/coreutils.texi (expr invocation): Remove the --bignum and 6311 --no-bignum options. They weren't really needed, and they broke 6312 longstanding (albeit nonportable) scripts. 6313 * src/expr.c: Don't include <assert.h>. Include "inttostr.h", 6314 "long-options.h", "verify.h". Check at compile-time that 6315 size_t fits in unsigned long int, as the code assumes this in 6316 several places. 6317 (HAVE_GMP): Define to 0 if not defined, for convenience. 6318 (mpz_t, mpz_clear, mpz_init_set_ui, mpz_init_set_str, mpz_add): 6319 (mpz_sub, mpz_mul, mpz_tdiv_q, mpz_tdiv_r, mpz_get_str, mpz_sgn): 6320 (mpz_fits_ulong_p, mpz_get_ui, mpz_out_str): 6321 Supply substitutes when !HAVE_GMP, which work well enough for 6322 expr's purposes. 6323 (mp_integer): Remove. All integers are gmp, if gmp is available. 6324 (struct valinfo): Remove 'z' member; no longer needed. The 'i' 6325 member is always of type mpz_t. 6326 (enum arithmetic_mode, MP_NEVER, MP_ALWAYS, MP_AUTO, mode): 6327 Remove; no longer needed. 6328 (usage): Remove documentation of --bignum and --no-bignum. 6329 (integer_overflow): Abort if error misbehaves, to pacify GCC. 6330 Restore old message on arithmetic overflow, to be conservative. 6331 (die): Omit exit_status parameter; not needed (is always EXPR_FAILURE). 6332 (string_too_long, USE_BIGNUM, NO_USE_BIGNUM, long_options): 6333 Remove; no longer needed. 6334 (main): Don't use getopt_long; this breaks old nonportable scripts. 6335 (int_value): Arg is unsigned, in case we have strings whose length 6336 exceeds LONG_MAX (!). 6337 (int_value, freev, printv, null, tostring, toarith): 6338 (eval6, eval4, eval3): 6339 Always use mpz_ functions, to simplify the code. 6340 (substr_value): Remove; no longer needed. 6341 (getsize): Simplify the API: one arg rather than 3. Don't assume 6342 unsigned long int fits in size_t. 6343 (promote, domult, dodivide, doadd): Remove; no longer needed. 6344 * tests/misc/expr: Don't use --bignum to test for bignum support. 6345 Instead, use big numbers to test this. 6346 63472008-10-15 Jim Meyering <meyering@redhat.com> 6348 6349 expr: don't interpret argv[0] as an operand 6350 * src/expr.c (main): Given a first argument like -22 (negative, with 6351 two or more digits), expr would decrement optind to 0 and then attempt 6352 to evaluate argv[0]. 6353 6354 doc: cp, mv: remove mention of deprecated --reply= option 6355 * doc/coreutils.texi (cp invocation, mv invocation): Don't mention it. 6356 63572008-10-13 Jim Meyering <meyering@redhat.com> 6358 6359 doc: adjust spacing in ls --help output, for better man formatting 6360 * src/ls.c (usage): Adjust spacing so the "Exit status:" list 6361 renders well in the help2man-generated man page. 6362 63632008-10-13 Ondřej Vašík <ovasik@redhat.com> 6364 6365 doc: ls: clarify exit status description 6366 * src/ls.c (exit_status): Clarify comments. 6367 (usage): Clarify exit status description in --help output. 6368 * doc/coreutils.texi (ls invocation): Clarify exit status documentation 6369 Reported by Greg Metcalfe in <http://bugzilla.redhat.com/446294>. 6370 63712008-10-12 Jim Meyering <meyering@redhat.com> 6372 6373 doc: reorder tsort/ptx nodes so body and menu ordering are consistent 6374 * doc/coreutils.texi (tsort invocation, tsort background): Move these 6375 nodes "down", so that they follow the ptx nodes, thus matching the 6376 alphabetized order in the menu. 6377 (tsort background): Make this a subsection. 6378 Suggested by Karl Berry. 6379 6380 tests: move check-misc targets from src/Makefile.am to maint.mk 6381 * src/Makefile.am (check): Remove check-misc. 6382 (check-misc): Remove target. 6383 * maint.mk (sc_prohibit_stat_st_blocks): New target. 6384 (sc_prohibit_S_IS_definition): New target. 6385 * Makefile.am (EXTRA_DIST): Add .x-sc_prohibit_stat_st_blocks. 6386 * .x-sc_prohibit_stat_st_blocks: New file. 6387 Andreas Schwab reported that "make check" could fail to detect 6388 violation of the no-S_IS*-definition policy. 6389 6390 tests: df: avoid test failure when using mawk 6391 * tests/df/total-awk: Rewrite to use $PERL, not $AWK. 6392 mawk can't even count above 2^31. Reported by Ed Avis. 6393 http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14792/focus=14802 6394 * tests/df/total-verify: Rename from total-awk. 6395 * tests/Makefile.am (TESTS): Reflect renaming. 6396 63972008-10-10 Jim Meyering <meyering@redhat.com> 6398 6399 bootstrap: merge from gnulib 6400 64012008-10-07 Ondřej Vašík <ovasik@redhat.com> 6402 6403 doc: document runcon and chcon in SELinux context section 6404 * doc/coreutils.texi: Document runcon and chcon. 6405 Add minimal SELinux context section. 6406 64072008-10-06 Ondřej Vašík <ovasik@redhat.com> 6408 6409 chcon: remove traces of unimplemented --change (-c) option 6410 This option was never supported in upstream coreutils. 6411 * chcon.c (usage): Remove --change (-c) from help message. 6412 (main): Remove 'c' from getopt string. 6413 Remove related and now-unused enums. 6414 64152008-10-06 Andreas Dilger <adilger@sun.com> 6416 6417 stat: add lustre filesystem type 6418 * src/stat.c (human_fstype) [S_MAGIC_LUSTRE]: Add case. 6419 Make "stat -f" recognize the "Lustre" filesystem type. 6420 <http://en.wikipedia.org/wiki/Lustre_(file_system)> 6421 * NEWS: Mention this feature. 6422 64232008-10-06 Jim Meyering <meyering@redhat.com> 6424 6425 remove.c: avoid compile failure on OS/2 6426 * src/remove.c (dirent_inode_sort_may_be_useful): Guard also with 6427 "#if defined __linux__". Reported by Elbert Pol. 6428 64292008-10-05 Jim Meyering <meyering@redhat.com> 6430 6431 post-release administrivia 6432 * NEWS: Add header line for next release. 6433 * .prev-version: Record previous version. 6434 * cfg.mk (old_NEWS_hash): Auto-update. 6435 6436 version 7.0 6437 * NEWS: Record release date. 6438 6439 * maint.mk (alpha beta major): Add "-a" to git commit ... command. 6440 64412008-10-04 Jim Meyering <meyering@redhat.com> 6442 6443 tests: fix the install/strip-program test 6444 * tests/install/strip-program: Use $PREFERABLY_POSIX_SHELL, 6445 not POSIX_SHELL. The latter may be empty, and would fail 6446 on OpenBSD 3.9. 6447 * tests/check.mk (TESTS_ENVIRONMENT): Propagate 6448 PREFERABLY_POSIX_SHELL to tests. 6449 64502008-10-03 Jim Meyering <meyering@redhat.com> 6451 6452 timeout.c: don't use perror; exit 125 upon failed fork 6453 * src/timeout.c (main): Use "error", not perror. 6454 Elbert Pol noticed a build failure on OS/2. 6455 * src/timeout.c (main): Exit 125 (not errno) upon failed fork. 6456 Make the failed fork diagnostic match the one from install.c. 6457 64582008-10-03 Kamil Dudka <kdudka@redhat.com> 6459 6460 ls and sort: use filevercmp instead of strverscmp 6461 * src/ls.c (cmp_version): Use filevercmp instead of strverscmp. 6462 * src/sort.c (usage): Remove mna reference to strverscmp(3). 6463 (compare_version): Use filevercmp instead of strverscmp. 6464 * bootstrap.conf: Add filevercmp to list of gnulib modules. 6465 * tests/misc/sort-version: Remove conflicting string and enhance test. 6466 * NEWS: Mention the change. 6467 64682008-10-02 Jim Meyering <meyering@redhat.com> 6469 6470 tests: skip a root-only test when configured without libcap 6471 * tests/ls/capability: Test for HAVE_CAP definition in config.h. 6472 64732008-10-02 Eric Blake <ebb9@byu.net> 6474 6475 ignore additional built file 6476 6477 remove.c: allow compilation on cygwin 6478 * src/remove.c (dirent_inode_sort_may_be_useful) 6479 [!HAVE_STRUCT_DIRENT_D_TYPE]: Elide definition when there is no point 6480 in trying to use it. 6481 64822008-10-02 Jim Meyering <meyering@redhat.com> 6483 6484 bootstrap: merge from gnulib 6485 * bootstrap: add submodule support, git-merge-changelog 6486 64872008-10-01 Jim Meyering <meyering@redhat.com> 6488 6489 remove.c: combine two helper functions, to avoid sign-extension 6490 * src/remove.c (fs_handles_readdir_ordered_dirents_efficiently): 6491 Remove function, so as not to have to worry about the type of 6492 statfs.f_type and sign extension. 6493 (dirent_inode_sort_may_be_useful): Adjust comment. 6494 Perform the switch directly on the struct.member here, instead. 6495 Andreas Schwab spotted the potential for a sign-extension bug, 6496 that happens not to bite for the S_* f_type values currently used. 6497 6498 rm: don't preprocess a directory on a file system of type tmpfs or nfs 6499 The preprocessing phase is not necessary on tmpfs, and induces 6500 a 20% performance decrease when removing a 2M-entry directory. 6501 * src/remove.c (fs_handles_readdir_ordered_dirents_efficiently): 6502 (dirent_inode_sort_may_be_useful): New functions from gnulib/fts.c. 6503 They'll probably become a gnulib module -- eventually. 6504 (preprocess_dir): Use dirent_inode_sort_may_be_useful. 6505 6506 tests: use our new timeout program 6507 * tests/rm/ext3-perf: Also, record set-up duration and FS type. 6508 65092008-09-29 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 6510 6511 fix make variable quotation error 6512 * tests/check.mk (TESTS_ENVIRONMENT): Quote shell variable 6513 $tmp__, fix expansion. 6514 65152008-09-29 Jim Meyering <meyering@redhat.com> 6516 6517 seq: solve e13188e7ef7bbd609c1586332a335b4194b881aa more cleanly 6518 * src/seq.c (print_numbers): Don't switch c_strtold -> strtold 6519 in order to accommodate the locale-dependent behavior of our internal 6520 asprintf use. Instead, simply set the locale to C before calling 6521 asprintf, and then set it back afterwards. 6522 65232008-09-28 Jim Meyering <meyering@redhat.com> 6524 6525 build: avoid spurious valgrind warning about uses of touch 6526 * .vg-suppressions (utimensat-NULL): Avoid bogus valgrind warning 6527 that appears on at least Fedora 9. 6528 6529 mktemp: plug an inconsequential leak 6530 * src/mktemp.c (main) [lint]: Free template. 6531 6532 THANKS: add Erik Auerswald 6533 65342008-09-28 Eric Blake <ebb9@byu.net> 6535 6536 remove.c: avoid compiler warning 6537 * src/remove.c (compare_ino, dirent_count) 6538 [!HAVE_STRUCT_DIRENT_D_TYPE]: Mask declaration when unused. 6539 65402008-09-27 Jim Meyering <meyering@redhat.com> 6541 6542 rm -r: avoid O(n^2) performance for a directory with very many entries 6543 This enhancement works around a problem that is specific to at least 6544 ext3 and ext4 file systems. With them, it would take hours to remove 6545 a two-million-entry directory. RAM-backed file systems (tmpfs) are 6546 not affected, since there is no seek penalty. 6547 * remove.c (rm_malloc, rm_free, compare_ino): New functions. 6548 (dirent_count, preprocess_dir): New function. 6549 [struct readdir_data]: New struct. 6550 (remove_cwd_entries): Call preprocess_dir. 6551 * tests/rm/ext3-perf: New file. Test for the performance fix. 6552 * NEWS: mention the new feature 6553 6554 remove.c: don't use xmalloc; don't let obstack call exit on failure 6555 (obstack_chunk_alloc, obstack_chunk_free): Don't define. 6556 (top_dir): Param is no longer "const". 6557 Use malloc, not xmalloc, and call longjmp upon failed malloc. 6558 (obstack_init_minimal): New function. 6559 (ds_init): Don't use xmalloc. Instead, use caller-supplied buffer. 6560 Use obstack_specify_allocation_with_arg, not obstack_init, so 6561 that we control what happens upon allocation failure. 6562 Arrange for ds_free not to free uninitialized if/when 6563 any obstack_specify_allocation_with_arg allocation fails. 6564 (ds_free): Don't free DS, now that it's no longer malloc'd. 6565 (rm): Allocate DS on the stack. 6566 Arrange to handle ds_init allocation failure. 6567 6568 step1 6569 6570 * maint.mk (my-distcheck): remove duplicate c99-related test code 6571 6572 maint: allow more C99 constructs; stop maintaining c99-to-c89 patch set 6573 * cfg.mk (local-checks-to-skip): Add patch-check. 6574 With the recent changes to remove.c, I no longer wish 6575 to maintain the c99-to-c89 patch set. 6576 65772008-09-26 Jim Meyering <meyering@redhat.com> 6578 6579 seq -0.1 0.1 2: print final number when locale's decimal point is "," 6580 * src/seq.c (print_numbers): Use strtold, not c_strtold to convert 6581 from just-formatted-using-asprintf string back to double, since 6582 asprintf may have used something other than "." as the decimal point. 6583 Reported by lsof@nodata.co.uk as <http://bugzilla.redhat.com/463556>. 6584 Thanks to Ondřej Vašík for discovering that the bug was locale-related. 6585 6586 $ LC_ALL=cs_CZ.UTF-8 seq -0.1 0.1 2|grep 2.0 6587 [Exit 1] 6588 $ seq -0.1 0.1 2|grep 2.0 6589 2.0 6590 6591 * tests/check.mk (TESTS_ENVIRONMENT): Add LOCALE_FR_UTF8, for... 6592 * tests/misc/seq [locale-dec-pt]: New test for the above. 6593 * NEWS (bug fix): Mention it. 6594 6595 maint: relax a check so "make distcheck" succeeds again 6596 * maint.mk (makefile-check): Relax the check, in order to exempt 6597 the necessary use of a sole @...@-delimited Makefile.am variable. 6598 65992008-09-24 Jim Meyering <meyering@redhat.com> 6600 6601 maint: avoid using find -name Makefile.am; could get false positives 6602 * maint.mk (makefile-check): Instead, search for the offending 6603 @...@ construct only in version-controlled files. 6604 66052008-09-24 Benno Schulenberg <bensberg@justemail.net> 6606 6607 pinky: gettextize two missed strings 6608 Additionally differentiate the strings for unknown idle time and 6609 unknown real name so they can be translated differently. 6610 66112008-09-24 Jim Meyering <meyering@redhat.com> 6612 6613 cp.c: adjust a comment to make it consistent with documentation 6614 '-a' is equivalent to -dpR, so s/-dpPR/-dpR/; the -P is redundant, 6615 since -d already implies -P, and both --help and "info cp" say -dpR: 6616 Corresponding doc changes: 080ac7785071c7f135711a39e57c71d9057d9bd7 6617 b7c2db676635518c06add0dd570543ae83e21f2e. 6618 66192008-09-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 6620 6621 fix installation with ./ginstall in src 6622 * src/Makefile.am (cu_install_program): New variable, set to 6623 either ./ginstall or @INSTALL_PROGRAM@ (for cross compilation). 6624 (INSTALL_PROGRAM): Override AC_SUBST unconditionally, to avoid 6625 warning, and wrong initialization order. 6626 66272008-09-22 Benno Schulenberg <bensberg@justemail.net> 6628 6629 doc: alphabetize 'who's option descriptions 6630 * doc/coreutils.texi (who invocation): Alphabetize. 6631 66322008-09-19 Benno Schulenberg <bensberg@justemail.net> 6633 6634 who --help: add a general description 6635 6636 uptime --help: put together message parts that belong together 6637 6638 tr --help: gettextize a single paragraph as a single string 6639 Breaking a paragraph into several strings is awkward for translators. 6640 6641 tail: gettextize the string, "standard input" 6642 6643 tail --help: move the --retry entry into alphabetical order 6644 * src/tail.c (usage): Also simplify --retry description, split a 6645 long string in two, remove a stray period, and add the usual indent. 6646 6647 shred --help: lowercase a stray capital 6648 6649 stty --help: correct the alignment of an entry 6650 * src/stty.c (usage): Also remove a stray period, and ungettextize 6651 a debugging message. 6652 6653 sort --help: sort the options better alphabetically 6654 Take the opportunity to split the long message into three parts. 6655 6656 rmdir --help: use lower case in option description; adjust indentation 6657 6658 remove.c: move comment to right before string, so gettext will pick it up 6659 6660 pr --help: elide arguments after short options that allow a space 6661 * src/pr.c (usage): Also, put the -S option with its description. 6662 6663 od: ungettextize debugging messages 6664 6665 nohup, remove, tr: also gettextize the alternative messages 6666 6667 od --help: avoid concatening two messages without a newline 6668 src/od.c (usage): Better: make them into two separate paragraphs. 6669 6670 mkfifo, mknod --help: put -Z option in its alphabetical position 6671 Options are normally sorted by their short form, not their long form. 6672 Also line up their descriptions. 6673 66742008-09-19 Jim Meyering <meyering@redhat.com> 6675 6676 doc: coreutils.texi (csplit invocation): Add an example. 6677 66782008-09-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 6679 6680 various VPATH-related fixes 6681 * maint.mk (VC_LIST): Prepend '$(srcdir)/'. 6682 (patch-check): Fix to make it work with a VPATH build. 6683 * src/Makefile.am (sc_tight_scope): Likewise. 6684 * man/Makefile.am (.x.1): Do not make outputs unwritable. 6685 66862008-09-14 Jim Meyering <meyering@redhat.com> 6687 6688 stat: remove obsolete and undocumented option, --filesystem 6689 * src/stat.c: Remove obsolete and undocumented --filesystem. 6690 66912008-09-13 Jim Meyering <meyering@redhat.com> 6692 6693 tests: reenable disabled test, now that automake can handle it 6694 This reverts the change in ae1c205fc473589d028ef63785926263843555cd. 6695 66962008-09-11 Jim Meyering <meyering@redhat.com> 6697 6698 tests: temporarily disable part of "make distcheck" 6699 * maint.mk (install-transform-check): Temporarily disable. 6700 6701 tweak wording and check to avoid failure 6702 * doc/coreutils.texi (printf invocation): Tweak wording. 6703 * doc/Makefile.am (check-texinfo): Allow "search path". 6704 67052008-09-10 Jim Meyering <meyering@redhat.com> 6706 6707 doc: mention which commands may be built-in functions 6708 * doc/coreutils.texi (mayConflictWithShellBuiltIn): New macro. 6709 (mknod invocation, stat invocation, echo invocation) 6710 (printf invocation, test invocation, pwd invocation) 6711 (nice invocation, kill invocation, sleep invocation): Use it. 6712 (printf invocation): Invoke via "env" rather than using a 6713 literal /usr/local/bin/ prefix in examples. 6714 67152008-09-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 6716 6717 simplify installation rules, using new Automake 6718 This relies on development Automake to provide multi-file 6719 installation, and avoids relying on undocumented Automake 6720 interfaces. It also removes special-casing for `['. 6721 * configure.ac (AM_INIT_AUTOMAKE): Depend on 1.10a. 6722 (CROSS_COMPILING): New Automake conditional. 6723 * src/Makefile.am (install-exec-am, filtered_PROGS) 6724 (d_bindir, cu-install-binPROGRAMS): Remove. 6725 (INSTALL_PROGRAM) [!CROSS_COMPILING]: Set to `./ginstall'. 6726 6727 fix minor shell issues in test suite 6728 * tests/misc/help-version: Fix bad quoting. 6729 * tests/cp/same-file: Fix unportable shell quoting. 6730 * tests/mv/part-symlink: Likewise. 6731 67322008-09-10 Jim Meyering <meyering@redhat.com> 6733 6734 tests: don't use "local" in bourne shell scripts 6735 * tests/test-lib.sh (remove_tmp_, skip_if_mcstransd_is_running_): 6736 Avoid failure on Solaris 11, since their /bin/sh passes the tests 6737 in posix-shell.m4, yet does not support "local" (which is not POSIX). 6738 6739 tests: use "Exit $fail", not (exit $fail); exit $fail 6740 * tests/test-lib.sh (Exit): New function by Ralf Wildenhues in automake 6741 http://git.sv.gnu.org/gitweb/?p=automake.git;a=commitdiff;h=20594c08f63 6742 * tests/**: Convert all uses: 6743 6744 This restrictive change converted the vast majority: 6745 6746 git grep -l '^(exit \$fail); exit \$fail$' \ 6747 | xargs perl -pi -e 's/'^\(exit \$fail\); exit \$fail$/Exit \$fail/' 6748 6749 And this did the rest, plus a few undesirable ones, so I manually 6750 backed out the changes to ChangeLog-* and build-aux/check.mk: 6751 6752 git grep -l -E '\(exit [^)]+\); exit ' \ 6753 | xargs perl -pi -e 's/\(exit (.+?)\); exit \1/Exit $1/' 6754 67552008-09-08 Jim Meyering <meyering@redhat.com> 6756 6757 tests: move input-tty into a test-lib.sh function 6758 * tests/test-lib.sh (require_controlling_input_terminal_): New function, from 6759 * tests/input-tty: ...here. Remove file. 6760 * tests/Makefile.am (EXTRA_DIST): Remove input-tty. 6761 * tests/mv/i-3: Use the function, not the file. 6762 * tests/misc/stty: Likewise. 6763 * tests/misc/stty-row-col: Likewise. 6764 * tests/misc/stty-invalid: Likewise. 6765 67662008-09-07 Jim Meyering <meyering@redhat.com> 6767 6768 tests: work around Solaris 11 bug 6769 * tests/misc/printf-surprise: Accept bogus prefix on stderr output. 6770 6771 tests: don't let rounding-to-1KB blocks provoke a failure 6772 * tests/df/total-awk: Use df's --block-size=512 option. 6773 6774 tests: don't fail due to built-in sleep from Solaris 11's /bin/sh 6775 * tests/misc/help-version (id_args): Invoke via env to ensure we 6776 run the just-built version of sleep. 6777 67782008-09-06 Kamil Dudka <kdudka@redhat.com> 6779 6780 install: new option: --strip-program, 6781 ...to specify the program used to strip binaries 6782 * src/install.c (main): Handle new option --strip-program. 6783 (strip): Use strip program from global variable strip_program. 6784 (usage): Mention new option --strip-program in --help. 6785 * tests/tests/strip-program: Test case for new option --strip-program. 6786 * tests/Makefile.am: Add new test case to test set. 6787 * doc/coreutils.texi: Mention new option --strip-program. 6788 * NEWS: Mention the change. 6789 * TODO: Remove completed task. 6790 67912008-09-03 Kamil Dudka <kdudka@redhat.com> 6792 6793 df: new option: --total to print grand totals 6794 * src/df.c (add_uint_with_neg_flag): New function to add two integral 6795 values with separate negation flag. 6796 (show_dev): New parameter force_fsu to display numbers directly. Collect 6797 summary statistics on each printed device. 6798 (usage): Mention new option --total in --help. 6799 (main): Initialize summary on program start. Handle new option --total. 6800 * tests/df/total: Dummy test case for new --total option. 6801 * tests/df/total-awk: Better test case for new --total option (requires 6802 awk). 6803 * doc/coreutils.texi: Mention new parameter --total. 6804 * NEWS: Mention the change. 6805 * TODO: Removed completed task. 6806 68072008-09-03 Jim Meyering <meyering@redhat.com> 6808 6809 TODO: add an item for a chmod optimization 6810 68112008-08-31 Jerry Snitselaar <dev@snitselaar.org> 6812 6813 env, groups: remove duplicate inclusion of <getopt.h> 6814 * src/env.c: Remove redundant #include. 6815 * src/groups.c: Likewise. 6816 Tiny change. 6817 68182008-08-26 Jim Meyering <meyering@redhat.com> 6819 6820 generate version.c and version.h 6821 * src/Makefile.am (version.c, version.h): New rules. Generate. 6822 (nodist_libver_a_SOURCES): Define 6823 * .gitignore: Add src/version.c and src/version.h. 6824 (DISTCLEANFILES): Add version.c and version.h. 6825 6826 use new global, "Version", rather than macro, VERSION 6827 With this change, a version-string update no longer 6828 forces recompilation of 100+ src/*.o files. 6829 * src/version.c (Version): New global. New file. 6830 * src/version.h: Declare it. 6831 * src/Makefile.am: Put it in a library that everyone links to. 6832 (noinst_LIBRARIES, libver_a_SOURCES): Define. 6833 (LDADD): Add libver.a. 6834 (sc_tight_scope): Use perl (was sed), and a more relaxed regexp 6835 to build the global-variable-name-recognizing regexp list. 6836 * src/system.h: Include "version.h". 6837 (case_GETOPT_VERSION_CHAR): Use Version rather than VERSION. 6838 * src/basename.c (main): Use Version rather than VERSION. 6839 * src/chroot.c (main): Likewise. 6840 * src/cksum.c (main): Likewise. 6841 * src/dd.c (main): Likewise. 6842 * src/dirname.c (main): Likewise. 6843 * src/echo.c (main): Likewise. 6844 * src/hostid.c (main): Likewise. 6845 * src/hostname.c (main): Likewise. 6846 * src/link.c (main): Likewise. 6847 * src/logname.c (main): Likewise. 6848 * src/nice.c (main): Likewise. 6849 * src/nohup.c (main): Likewise. 6850 * src/printenv.c (main): Likewise. 6851 * src/printf.c (main): Likewise. 6852 * src/pwd.c (main): Likewise. 6853 * src/setuidgid.c (main): Likewise. 6854 * src/sleep.c (main): Likewise. 6855 * src/sync.c (main): Likewise. 6856 * src/test.c (main): Likewise. 6857 * src/timeout.c (main): Likewise. 6858 * src/true.c (main): Likewise. 6859 * src/tsort.c (main): Likewise. 6860 * src/unlink.c (main): Likewise. 6861 * src/uptime.c (main): Likewise. 6862 * src/users.c (main): Likewise. 6863 * src/whoami.c (main): Likewise. 6864 * src/yes.c (main): Likewise. 6865 6866 bootstrap: preserve permissions of more copied files 6867 * bootstrap (cp_mark_as_generated): Preserve perms of copied files. 6868 Remove a kludge, now that this is fixed. 6869 68702008-08-23 Bruno Haible <bruno@clisp.org> 6871 6872 doc: clarify wc -L documentation 6873 * doc/coreutils.texi (wc invocation): Explain what the -L option 6874 measures. 6875 68762008-08-20 Eric Blake <ebb9@byu.net> 6877 6878 ls: adjust to gnulib change 6879 * src/ls.c (includes): "strverscmp.h" no longer exists. 6880 68812008-08-19 Eric Blake <ebb9@byu.net> 6882 6883 .gitignore: ignore more files 6884 * .gitignore: Ignore directories created by gnulib. 6885 6886 .gitattributes: generalize 6887 * .gitattributes: Relax the glob pattern, so it matches *.texinfo, too. 6888 Suggest a POSIX BRE, rather than one that uses the GNU extension, \\+. 6889 6890 sort: improve usage wording 6891 * src/sort.c (usage): Mention that -k defaults to end of line if 6892 POS2 omitted. 6893 * THANKS: Update. 6894 Reported by Tim Ryan. 6895 68962008-08-15 Jim Meyering <meyering@redhat.com> 6897 6898 adjust 6899 69002008-08-15 Bruce Korb <bkorb@gnu.org> 6901 6902 sort: new option, --sort=version, for version number ordering 6903 * src/sort.c [struct keyfield] (version): New member. 6904 (usage): Describe --version-sort. 6905 (sort_options): Add 'V'. 6906 (long_options): Add "version-sort". 6907 (CHECK_TABLE, _ct_, SORT_TABLE, _st_): Define new macros. 6908 (check_args, sort_args, sort_types): Use these new macros in declarations. 6909 (ARGMATCH_VERIFY): Remove use. No longer needed. 6910 (compare_version): New function. 6911 (key_compare): Add a case. 6912 (check_ordering_compatibility): Handle new type. 6913 (main): Likewise. Reformat two expressions for readability. 6914 * tests/misc/sort-version: new test file 6915 * tests/Makefile.am: add it to the list 6916 * doc/coreutils.texi (sort invocation): Document it. 6917 * NEWS: Mention the new feature. 6918 69192008-08-14 Jim Meyering <meyering@redhat.com> 6920 6921 set envvars via "env" to avoid spurious set -x output from bad shells 6922 * tests/dd/misc: Set LC_ALL=C via env. 6923 * tests/cp/thru-dangling: Set POSIXLY_CORRECT via env. 6924 This is necessary at least on AIX 5.3. 6925 Reported by Jeph Cowan and Ralf Wildenhues. Details here: 6926 http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14235/focus=14257 6927 6928 "expr --bignum 1" now fails when expr is built without libgmp 6929 * src/expr.c (main): When --bignum is requested, yet expr was built 6930 without libgmp, exit nonzero (3) in addition to giving a diagnostic. 6931 6932 mktemp, sort, tac: don't use undefined after mkstemp failure 6933 When mkstemp fails, the template buffer may have undefined 6934 contents, so we must not print it. 6935 * src/sort.c (create_temp_file): Use temp_dir, not "file" 6936 when diagnosing failed mkstemp, because "file" may be undefined. 6937 * tests/misc/sort-merge: Adjust for new expected output. 6938 Jeph Cowan and Ralf Wildenhues reported the test failure: 6939 http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14235/focus=14257 6940 * src/tac.c (copy_to_temp): Don't use template buffer after 6941 failed mkstemp call, since its contents may be undefined. 6942 * tests/misc/tac (pipe-bad-tmpdir): New test for the above. 6943 * src/mktemp.c (main): Save a copy of the template string, 6944 solely for use in case mkstemp fails. 6945 * tests/misc/mktemp (pipe-bad-tmpdir): New test for the above. 6946 69472008-08-12 Benno Schulenberg <bensberg@justemail.net> 6948 6949 kill: micro grammar nit in description of SIGNAL 6950 6951 groups: let synopsis show that the command allows multiple usernames 6952 Also make the docstring say so. 6953 6954 id: remove superfluous condition test; it is caught at -Z above 6955 6956 id: gettextize a few missed tiny strings 6957 6958 fmt: remove the 'no file' sentence; the standard phrase is given below 6959 Replace the sentence with a more useful explanation of -DIGITS. 6960 69612008-08-11 Benno Schulenberg <bensberg@justemail.net> 6962 6963 echo: correct description of \c 6964 * src/echo.c (usage): Correct description of \c. 6965 * coreutils.texi (echo invocation): Likewise. 6966 * src/echo.c: Remove --help-duplicating comment. 6967 6968 doc: the quote operator for expr is '+', not 'quote' 6969 6970 factor: remove duplicate docstring; use the more detailed one 6971 6972 echo: gettextize the alternative option description too 6973 6974 dd: clarify meaning of multiplication factors; put xM in order 6975 6976 doc: remove stray word from date's field width description 6977 6978 date: remove confusing and unneeded sentence from --help 6979 It makes it unclear what 'sequences' refers to, 6980 and the -u option already says enough. 6981 6982 printenv: say what it does when variables are specified 6983 6984 doc: put the exitstatus paragraph in a better place 6985 * doc/coreutils.texi (tsort invocation): move two lines 6986 6987 cp: move a newline to make second message identical to others 6988 6989 who: Gettextize two forgotten strings 6990 69912008-08-10 Jim Meyering <meyering@redhat.com> 6992 6993 sort: remove unnecessary declaration of strtod 6994 * src/sort.c (STDC_HEADERS): Remove declaration of strtod. 6995 6996 sort: avoid erroneous cast 6997 * src/sort.c (OPEN_MAX): Define if not already defined. 6998 (MAX_NMERGE): Remove definition. 6999 (specify_nmerge): Don't cast MAX_NMERGE (of type size_t) to unsigned int. 7000 Instead, use OPEN_MAX as the fall-back value. 7001 7002 sort: don't print uninitialized in diagnostic 7003 * src/sort.c (specify_nmerge): Do use uinttostr value. 7004 Provoke with e.g., sort -m --batch-size=18446744073709551617 7005 Omit quotes around known-numeric value in diagnostic. 7006 * tests/misc/sort-merge [nmerge-big]: Tighten ERR_SUBST regexp 7007 to require a numeric value in that diagnostic, so this particular 7008 failure cannot reappear. 7009 70102008-08-09 Jim Meyering <meyering@redhat.com> 7011 7012 * .gitattributes: Better diff output for texinfo sources. 7013 7014 dd.c: reduce duplication in new O_FULLBLOCK-defining code 7015 * src/dd.c (MULTIPLE_BITS_SET): New macro, extracted from... 7016 (multiple_bits_set): ...this function. 7017 Use a single-line, and far simpler expression (no need to list all 7018 O_* symbols again) to validate the derived O_FULLBLOCK value. 7019 7020 * coreutils.texi (factor invocation, expr invocation): Adjust wording. 7021 7022 expr: avoid compiler warnings 7023 * src/expr.c (die): New "noreturn" function to wrap one-arg use of 7024 error 7025 (string_too_long): Use die rather than error. 7026 (toint): Remove definition of now-unused function. 7027 (eval6): Remove a little duplication. 7028 Use die rather than error. 7029 (dodivide): Remove declaration of now-unused variable. 7030 7031 * tests/misc/expr: Add tests of the new GMP-based code. 7032 70332008-08-06 James Youngman <jay@gnu.org> 7034 7035 expr: support arbitrary-precision arithmetic 7036 * src/Makefile.am (expr_LDADD): Link expr against GNU MP. 7037 * doc/coreutils.texi (expr invocation): Describe --bignum, 7038 --no-bignum. Explain the new arbitrary-precision functionality. 7039 * NEWS: Indicate that arbitrary-precision arithmetic is now 7040 supported in expr. 7041 * src/expr.c (enum valtype): Added mp_integer, signifying a GNU MP 7042 number. 7043 (usage): Document the new options --bignum and --no-bignum which 7044 force and prohibit the use of arbitrary-precision arithmetic, 7045 respectively. 7046 (long_options): data structure for getopt_long, which we need to 7047 use to parse the options mentioned above. 7048 (main): parse these options with getopt_long instead of 7049 parse_long_options. 7050 (valinfo): Downgrade the numeric member of the union from 7051 intmax_t to signed long, since MP lacks functions for promoting an 7052 intmax_t to an arbitrary-precision quantity. 7053 (enum arithmetic_mode): Represents the current choice between 7054 --bignum, --no-bignum and the default (automatically switch from 7055 one to the other if needed). 7056 (integer_overflow): issue a more explicit error message indicating 7057 that MP is not available. 7058 (string_too_long): new function, emits a fatal error message for 7059 the case where an argument to the 'index' expression is too long 7060 for a string offset to be represented. 7061 (int_value): With --bignum, create the value as mp_integer rather 7062 than plain integer. 7063 (substr_value): factored out of eval6; implements "substr". 7064 (freev): also destroy mp_integer values. Check that no mp_integer 7065 values exist if --no-bignum was specified. 7066 (printv, null, tostring): support mp_integer. 7067 (toint): new funtion for converting from string or mp_integer to 7068 integer. 7069 (getsize): extracts a size_t value from a VALUE object; used to 7070 implement substr. 7071 (promote): promotes a value from integer to mp_integer. 7072 (domult, dodivide): functions for multiplication and division, 7073 factored out of eval4. 7074 (doadd): addition/subraction function, factpred out of eval3. 7075 (eval3): support mp_integer types; call doadd. 7076 (eval4): support mp_integer types; call domult, dodivide. 7077 (eval6): support mp_integer offsets and lengths for "substr" and 7078 "index". 7079 * TODO: Mention that expr supports arbitrary-precision arithmetic, 7080 and suggest that this might also be a good idea for seq. 7081 * AUTHORS (expr): Add James Youngman. 7082 7083 doc: mv,cp: undocument the --reply option 7084 * doc/coreutils.texi (mv invocation): Remove documentation for mv --reply. 7085 (cp invocation): Likewise. 7086 * NEWS: mention this. 7087 7088 document the supported baud rates beyond 38400 7089 * doc/coreutils.texi (Special): Document the supported baud rates 7090 beyond 38400. 7091 70922008-08-05 John David Anglin <dave@hiauly1.hia.nrc.ca> 7093 7094 ls: ignore spurious getfilecon failure due to lack of SELinux support 7095 * src/ls.c (gobble_file): Upon failed getfilecon, treat an errno value 7096 of EOPNOTSUPP just like ENOTSUP. See <http://bugs.debian.org/488549>. 7097 70982008-08-05 James Youngman <jay@gnu.org> 7099 7100 Document uptime. 7101 * doc/coreutils.texi (uptime invocation): document uptime. 7102 * TODO: uptime is documented now. 7103 * src/uptime.c (print_uptime): Use fprintftime to print the time, rather 7104 than printf. This should make the situation better for translations. 7105 71062008-08-04 Benno Schulenberg <bensberg@justemail.net> 7107 7108 doc: correct and normalize --help output of several tools 7109 * src/chroot.c (usage): Add "[ARG]" to synopsis. 7110 * src/cut.c (usage): Remove an inconsistent period in an option 7111 description. 7112 * src/du.c (usage): Remove superfluous argument after short option -X. 7113 Also remove inconsistent uppercase and final period. 7114 Use a single indent level for prettiness. 7115 * src/shred.c (usage): Normalize the synopsis. 7116 * src/stty.c (usage): Options -F and --file are alternatives, cannot 7117 both be used. 7118 * src/sum.c (usage): -r does not overrule -s; the last one counts. 7119 * src/uptime.c (usage): Remove inconsistent space from the synopsis. 7120 * src/users.c: Likewise. 7121 71222008-08-04 Jim Meyering <meyering@redhat.com> 7123 7124 false: mark "false" description for translation 7125 * src/true.c (usage): Mark both strings with N_, so that 7126 the one for "false" is also extracted for translation. 7127 For consistency, mark both, although only the latter one needed it. 7128 Inspired by a patch from Benno Schulenberg. 7129 71302008-08-04 James Youngman <jay@gnu.org> 7131 7132 factor: credit Torbjörn Granlund 7133 * src/factor.c: Credit Torbjörn Granlund as the author of the 7134 arbitrary-precision factorization code. 7135 71362008-08-03 Jim Meyering <meyering@redhat.com> 7137 7138 doc: make it clear we're talking about the Linux kernel 7139 * doc/coreutils.texi (mv invocation): tweak wording 7140 71412008-08-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 7142 7143 tests: fix build-aux/check.mk for non-GNU make 7144 * build-aux/check.mk ($(TEST_LOGS)) [!GNU_MAKE]: Check for 7145 a $(TESTS) test in the build dir, before one in srcdir. For details, 7146 see <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14198>. 7147 7148 * bootstrap: Fix unportable expr usage. 7149 71502008-08-01 Kamil Dudka <kdudka@redhat.com> 7151 7152 ls: --color now highlights files with capabilities, too 7153 * src/ls.c: [HAVE_CAP] Include <sys/capability.h>. 7154 (has_capability): New function for capability detection. 7155 (print_color_indicator): Colorize file with capability. 7156 * m4/jm-macro.m4: New configure option: --disable-libcap. 7157 Check for libcap usability. 7158 * src/Makefile.am (dir_LDADD, ls_LDADD, ...): Append $(LIB_CAP). 7159 * src/dircolors.c: Update color lists. 7160 * src/dircolors.hin: Mention new CAPABILITY color attribute. 7161 * tests/ls/capability: Test for ls - colorize file with capability. 7162 * tests/Makefile.am (root_tests): Add ls/capability. 7163 * NEWS: Mention the change. 7164 71652008-08-01 James Youngman <jay@gnu.org> 7166 7167 factor arbitrarily large numbers 7168 * m4/gmp.m4: New file; adds cu_GMP, which detects GNU MP. 7169 * configure.ac: Use cu_GMP. 7170 * src/Makefile.am: Link factor against libgmp if available. 7171 * src/factor.c: Use GNU MP if it is available. 7172 (emit_factor, emit_ul_factor, factor_using_division, 7173 factor_using_pollard_rho, extract_factors_multi, 7174 sort_and_print_factors, free_factors): new functions 7175 for the arbitrary-precision implementation, taken from an example 7176 in GNU MP. 7177 (factor_wheel): Renamed; was called factor. 7178 (print_factors_single): Renamed; was called print_factors. 7179 (print_factors): New function, chooses between the single- and 7180 arbitrary-precision algorithms according to availability of GNU MP 7181 and the length of the number to be factored. 7182 (usage, main): New options --bignum and --no-bignum. 7183 * coreutils.texi (factor invocation): Document new command-line 7184 options for the MP implementation and update the performance 7185 numbers to take into account the asymptotically faster algorithm. 7186 * TODO: Remove item about factoring large primes (it's done). 7187 * m4/gmp.m4: Add support for --without-gmp. 7188 * NEWS: Mention the new feature. 7189 71902008-08-01 Kamil Dudka <kdudka@redhat.com> 7191 7192 ls -U1 now uses constant memory 7193 When printing one name per line and not sorting, ls now uses 7194 constant memory per directory, no matter how many files are in 7195 the directory. 7196 * ls.c (print_dir): Print each file name immediately, when possible. 7197 * NEWS: Mention the improvement. 7198 71992008-07-30 Jim Meyering <meyering@redhat.com> 7200 7201 * timeout.c: Fix grammar in a comment. Normalize comment syntax. 7202 72032008-07-28 Jim Meyering <meyering@redhat.com> 7204 7205 bootstrap: work also when there are no .po files in po/ 7206 * bootstrap (update_po_files): Complete the change that I began 7207 in 7ba2dd808232cff3ee76aaceb97f4381c3c9cde4. 7208 72092008-07-27 Jim Meyering <meyering@redhat.com> 7210 7211 * NEWS: Move shuf --zero-terminated item into bug-fixes section. 7212 72132008-07-27 Mikael Magnusson <mikachu@gmail.com> 7214 7215 shuf: correctly document --head-count 7216 * src/shuf.c (usage): Correct --help output. 7217 * doc/coreutils.texi: Correct option listing. 7218 * NEWS: Mention correction. 7219 72202008-07-27 Jim Meyering <meyering@redhat.com> 7221 7222 shuf: honor --zero-terminated option even with --input-range=LO-HI 7223 * src/shuf.c (write_permuted_output): Add EOLBYTE parameter and use 7224 it rather than hard-coding "\n". 7225 (main): Adjust sole caller. 7226 * tests/misc/shuf: Add a test to exercise this bug fix. 7227 * NEWS: Mention it. 7228 72292008-07-23 Jim Meyering <meyering@redhat.com> 7230 7231 dd: minor fullblock changes 7232 * src/dd.c (O_FULLBLOCK): Define using an enum, not #define. 7233 Derive the value, rather than hard-coding to one that might conflict. 7234 (usage): Mention iflag=fullblock in --help output. 7235 (scanargs): Reset the O_FULLBLOCK bit, so that we don't try to set 7236 an undefined attribute via fcntl (fd, F_SETFL, ... 7237 * tests/dd/misc: Signal framework_failure when necessary. 7238 Use "compare actual expected", so any diffs look "right". 7239 * NEWS (dd): Alphabetize and reword. 7240 * coreutils.texi (dd invocation): Adjust wording. 7241 72422008-07-23 Kamil Dudka <kdudka@redhat.com> 7243 7244 dd: new option: iflag=fullblock to accumulate full input blocks 7245 * src/dd.c (iread_fullblock): New function for reading full blocks. 7246 (scanargs): Check for new parameter iflag=fullblock. 7247 (skip): Use iread_fnc pointer instead of iread function. 7248 (dd_copy): Use iread_fnc pointer instead of iread function. 7249 * tests/dd/misc: Add test for dd - read full blocks. 7250 * doc/coretuils.texi: Mention new parameter iflag=fullblock. 7251 * NEWS: Mentioned the change. 7252 72532008-07-23 Jim Meyering <meyering@redhat.com> 7254 7255 dd: adjust --help output so help2man formats the man page properly 7256 * src/dd.c (usage): Use two spaces (not one) to separate 7257 "directory" from its description, so help2man formats 7258 the derived man page properly. 7259 72602008-07-23 Reuben Thomas <rrt@sc3d.org> 7261 7262 doc: add example .bashrc code for a ~/.dircolors file 7263 * coreutils.texi: Add tip for .bashrc use from Jim Meyering. 7264 72652008-07-22 Jim Meyering <meyering@redhat.com> 7266 7267 tests: do not run chmod on a prefix of space-embedded tmpdir 7268 * TESTS/test-lib.sh (remove_tmp_): New function. 7269 (trap 0): Use it instead of open-coded (and misquoted) version. 7270 7271 tests: ensure "make check" w/tainted build dir no longer impacts $HOME 7272 * maint.mk (taint-distcheck): New rule. 7273 (maintainer-distcheck): Make it. 7274 72752008-07-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 7276 7277 tests: again, do not change the mode of all directories below $HOME 7278 * tests/CuTmpdir.pm (chmod_tree): Do not run chmod on undefined 7279 argument, can happen when the build path contains spaces. 7280 72812008-07-19 Jim Meyering <meyering@redhat.com> 7282 7283 * THANKS: Update, now that I have a name for jemm4jemm. 7284 72852008-07-18 Andreas Schwab <schwab@suse.de> 7286 7287 mknod: correct misplaced -Z description in --help output 7288 * src/mknod.c (usage): Put it after the "Mandatory arguments..." line. 7289 72902008-07-16 Jim Meyering <meyering@redhat.com> 7291 7292 dircolors.hin: add Ogg/Theora-related extensions 7293 * dircolors.hin: Add extensions from 7294 http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions 7295 Suggestion from jemm4jemm@yahoo.com. 7296 7297 * HACKING: describe how to find a misplaced change-set 7298 72992008-07-15 Jim Meyering <meyering@redhat.com> 7300 7301 fix two bugs in ptx 7302 * src/ptx.c (fix_output_parameters): Don't let before_max_width 7303 go negative -- that would cause an infloop in define_all_fields. 7304 (main): Don't clobber name[0] with lists of two or more input files. 7305 * tests/misc/ptx: New file. Test for the above. 7306 * tests/Makefile.am (TESTS): Add misc/ptx. 7307 73082008-07-11 Pádraig Brady <P@draigBrady.com> 7309 7310 tests: expand: test for lines starting with both spaces and tabs 7311 The expand released in current distributions (Fedora Core 4 - Fedora 9 7312 at least), doesn't expand --initial tabs if spaces are present. 7313 7314 tests/misc/expand: Add test to verify --initial works correctly 7315 with lines starting with both spaces and tabs. 7316 73172008-07-10 Jim Meyering <meyering@redhat.com> 7318 7319 make check: accommodate stricter POSIX-conforming shells 7320 Without this, test-related variable settings were not exported to 7321 the shell_or_perl_ function when using dash or Solaris 11's /bin/sh. 7322 * tests/check.mk (TESTS_ENVIRONMENT): Use an explicit "export", 7323 so as not to rely on non-POSIX behavior of some /bin/sh (e.g., 7324 bash-based ones). 7325 73262008-07-06 Jim Meyering <meyering@redhat.com> 7327 7328 * bootstrap: Remove $bt and $bt2 also when not using gettext. 7329 73302008-07-04 Jim Meyering <meyering@redhat.com> 7331 7332 who -r: don't print "last=" when the corresponding byte is unprintable 7333 * src/who.c (print_runlevel): Print last=%c only when the "preceding 7334 run-level" byte is printable. Reported by Gian Piero De Lolliis in 7335 <http://bugzilla.redhat.com/453249>. 7336 73372008-07-04 Ondřej Vašík <ovasik@redhat.com> 7338 7339 doc: describe who's -p, -r, and -t options 7340 * doc/coreutils.texi (who invocation): 7341 73422008-07-04 Jim Meyering <meyering@redhat.com> 7343 7344 install with just-built ./ginstall only when not cross-compiling 7345 * src/Makefile.am (install-exec-am): ...otherwise, use the default 7346 value, $(INSTALL_PROGRAM). Reported by Brian Silverman. 7347 7348 * README-hacking: Update the section on LZMA. 7349 73502008-06-30 Pádraig Brady <P@draigBrady.com> 7351 7352 truncate: ignore whitespace in --size parameters 7353 Without this, `truncate -s '> -1' F` would truncate F to length 0, 7354 and `truncate -s " +1" F` would truncate F to 1 byte. Now, each 7355 elicits a diagnostic. 7356 * src/truncate.c: Skip leading white space in the --size option 7357 argument and any white space after one of the relative modifiers, 7358 so that the presence of a +/- modifier can be detected reliably. 7359 * tests/misc/truncate-parameters: Add tests for the above. 7360 73612008-06-28 Jim Meyering <meyering@redhat.com> 7362 7363 doc: add "..." to Usage, to indicate there may be multiple OPTIONs 7364 * src/base64.c (usage): Likewise. 7365 * src/cat.c (usage): Likewise. 7366 * src/md5sum.c (usage): Likewise. 7367 * src/mkdir.c (usage): Likewise. 7368 * src/mkfifo.c (usage): Likewise. 7369 * src/split.c (usage): Likewise. 7370 * src/stat.c (usage): Likewise. 7371 Heiko Marr reported the problem with mkdir. 7372 7373 mkfifo: correct misplaced -Z description in --help output 7374 * src/mkfifo.c (usage): Put it *after* the "Mandatory arguments..." line. 7375 7376 uniq: remove redundant test 7377 * src/uniq.c (find_field): Remove redundant test in outer loop- 7378 termination expression. Also, add a "const" attribute. 7379 73802008-06-27 Pádraig Brady <P@draigBrady.com> 7381 7382 timeout: fix invalid argument tests 7383 * tests/misc/timeout-parameters: Remove test for invalid 7384 signal number (we don't know what signal numbers are 7385 invalid on all systems). Also tweak the other invalid 7386 signal check so that the rest of the arguments are correct. 7387 73882008-06-27 Jim Meyering <meyering@redhat.com> 7389 7390 avoid a -Wsign-compare warning 7391 * src/tee.c (tee_files): Swap fwrite's size/n_elem args and 7392 compare the return value against "1". 7393 7394 base64: don't rely on feof returning 0/1 7395 * src/base64.c (do_decode): feof is specified to return nonzero, 7396 not 0/1, so use "k < 1 + !!feof(in)" as the loop termination test. 7397 73982008-06-27 Pádraig Brady <P@draigBrady.com> 7399 7400 truncate: silence -Wsign-compare warnings 7401 * src/truncate.c: Cast signed to unsigned to 7402 confirm intent which will silence -Wsign-compare warnings 7403 74042008-06-27 Jim Meyering <meyering@redhat.com> 7405 7406 factor out time_t-to-string conversion idiom 7407 * src/system.h: Include "inttostr.h". 7408 (timetostr): New function, factored out of... 7409 * src/date.c (show_date): Use timetostr. 7410 * src/du.c (show_date): Likewise. 7411 * src/ls.c (print_long_format): Likewise. 7412 * src/pinky.c (time_string): Likewise. 7413 * src/stat.c (human_time): Likewise. 7414 * src/*.c: Don't include inttostr.h, since system.h does. 7415 * src/c99-to-c89.diff: Adjust offsets. 7416 74172008-06-27 Pádraig Brady <P@draigBrady.com> 7418 7419 truncate: Fix integer portability issues 7420 * src/truncate.c: Explicitly convert from off_t to intmax_t 7421 when printing numbers as they may be different types. 7422 Also don't mix size_t and off_t types in operations as 7423 the latter will be promoted to unsigned when these types 7424 are the same size. 7425 74262008-06-26 Jim Meyering <meyering@redhat.com> 7427 7428 tests: adjust c99-to-c89 patch as well as the code to generate it 7429 * maint.mk (patch-check) [REGEN_PATCH]: Trim some trailing blanks. 7430 * src/c99-to-c89.diff: Adjust shred.c offsets. 7431 7432 tests: fix make distcheck failure due to TODO change 7433 * maint.mk (po-check): Limit check for e.g., _(...)-marked 7434 messages to files matching *.? and *.??, thus excluding TODO 7435 and *.diff. 7436 7437 * TODO: Add item: remove uses of imaxtostr. 7438 74392008-06-26 Peter O'Gorman <bug-coreutils@mlists.thewrittenword.com> 7440 7441 tests: accommodate difference in an AIX 5.3 diagnostic 7442 * tests/mkdir/selinux: Handle different strerror (ENOTSUP) spelling. 7443 74442008-06-26 Jim Meyering <meyering@redhat.com> 7445 7446 shred: also ignore EISDIR upon failed fsync/fdatasync on HP-UX 7447 * src/shred.c (ignorable_sync_errno): New function. 7448 (dosync): Use it. 7449 Based on a patch from Peter O'Gorman. 7450 7451 * HACKING: use shorter "-1" (over HEAD~1) with git format-patch 7452 7453 bootstrap.conf: don't list "open" specifically 7454 It is no longer necessary to list it specifically, 7455 now that several gnulib modules depend on the "open" module. 7456 This reverts commit 3ea1fe588e20f196cc9b9907d5943bd620c6b944. 7457 7458 truncate: handle the case in which off_t != intmax_t 7459 * src/truncate.c (parse_len): Use a temporary of type intmax_t, 7460 rather than off_t; detect out of range [OFF_T_MIN..OFF_T_MAX]. 7461 (main) [IF_LINT]: Initialize, to avoid an unwarranted 7462 "may be used uninitialized" warning. 7463 Reported by Michael Geng. 7464 74652008-06-23 Jim Meyering <meyering@redhat.com> 7466 7467 basename: List David MacKenzie as the author. 7468 * src/basename.c (AUTHORS): List David as the author. 7469 * AUTHORS: Update here, too. 7470 74712008-06-23 Ondřej Vašík <ovasik@redhat.com> 7472 7473 echo: use AUTHORS from bash's built-in echo 7474 * AUTHORS,src/echo.c: Use bash builtin echo authors instead of FIXME unknown 7475 74762008-06-22 Jim Meyering <meyering@redhat.com> 7477 7478 use gnulib's "open" module 7479 * bootstrap.conf (gnulib_modules): Add open. 7480 This is required at least for Solaris 9 and HP-UX 11, to 7481 avoid a truncate test failure. For details, see this thread: 7482 http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13755 7483 7484 stat: warn that the --context (-Z) option (a no-op) is obsolete 7485 * src/stat.c (main): It will be removed in a couple years. 7486 * NEWS (Change in behavior): Mention this. 7487 74882008-06-20 Jim Meyering <meyering@redhat.com> 7489 7490 make "make syntax-check" quieter 7491 * maint.mk (po-check, makefile-check, sc_proper_name_utf8_requires_ICONV): 7492 Add "@" prefix. 7493 74942008-06-20 Bo Borgerson <gigabo@gmail.com> 7495 7496 sort: Fix bug where --batch-size option shrank SORT_SIZE. 7497 * src/sort.c (specify_nmerge, main): Only adjust SORT_SIZE if it's already set. 7498 * tests/misc/sort-merge: Test bug fix. 7499 75002008-06-19 Jim Meyering <meyering@redhat.com> 7501 7502 tests: avoid test failure when root's primary group-ID is not 0 7503 * tests/cp/preserve-gid: Expect a cp-without-`-p'-created file to 7504 have a group ID of $(id -g). Reported by Jarod Wilson. Details in 7505 http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13803/focus=13837 7506 7507 tests: avoid root-only test failure when run in a chroot 7508 * tests/misc/runcon-no-reorder: Accept the diagnostic that is 7509 produced when running in a chroot without /selinux/context. 7510 Reported by Jarod Wilson. Details in 7511 http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13803/focus=13837 7512 75132008-06-18 Jim Meyering <meyering@redhat.com> 7514 7515 * tests/check.mk: Fix a typo in a comment. 7516 75172008-06-17 Jim Meyering <meyering@redhat.com> 7518 7519 doc: fix a syntax error 7520 * coreutils.texi (du invocation): Add missing comma. 7521 75222008-06-17 Bo Borgerson <gigabo@gmail.com> 7523 7524 sort: accept new option --batch-size=NMERGE 7525 * src/sort.c: (static unsigned int nmerge) Replace constant NMERGE. 7526 (specify_nmerge) Validate and apply new option. 7527 (mergefps) Replace some arrays with pointers to xnmalloc'd storage. 7528 * tests/misc/sort-merge: Test new option. 7529 * doc/coreutils.texi: Describe new option. 7530 * NEWS: Advertise new option. 7531 7532 sort: add new option --files0-from=F 7533 * src/sort.c: Support new option. 7534 * tests/misc/sort-files0-from: Test new option. 7535 * tests/misc/Makefile.am: Indicate new test. 7536 * docs/coreutils.texi: Explain new option. 7537 * NEWS: Advertise new option. 7538 7539 HACKING: Add section for tips on reducing translator workload. 7540 * HACKING (Be nice to translators): New section. 7541 Add Jim's suggestion to avoid changing translatable strings if possible. 7542 75432008-06-17 Jim Meyering <meyering@redhat.com> 7544 7545 * THANKS: Add name and email for Carl Roth. 7546 75472008-06-17 Eric Blake <ebb9@byu.net> 7548 7549 ls, od: avoid redundant const 7550 * src/ls.c (long_time_format, sort_functions): Avoid redundant const. 7551 * src/od.c (charname): Likewise. 7552 * maint.mk (sc_redundant_const): Add rule to detect this. 7553 75542008-06-17 Bo Borgerson <gigabo@gmail.com> 7555 7556 join: improve memory management 7557 * src/join.c (struct seq): Use a (struct line **) for `lines' rather than 7558 one long (struct line *). This allows individual lines to be swapped out 7559 if necessary. 7560 (reset_line): Get a line ready for new input. 7561 (init_linep): Create a new line and assign it to the the pointer passed in. 7562 (spareline[2]): Hold a spare line for each input file. 7563 (free_spareline): Clean up. 7564 (get_line): Take a (struct line **) instead of a (struct line *). If the 7565 line to be overwritten is the previous line for the current file then swap 7566 it out for the spare. 7567 (join): Accomodate new structure of SEQs and new parameters to get_line; 7568 Don't free stale lines until the end -- they're re-usable now. 7569 (dup_line): Remove function. 7570 * NEWS: Mention the performance improvement. 7571 75722008-06-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 7573 7574 * doc/coreutils.texi (join invocation): Drop leading blanks. 7575 75762008-06-16 Jim Meyering <meyering@redhat.com> 7577 7578 remove redundant const directives 7579 In 1463824d8e7f72c31f1d803d7cfe2b608ccafc5c, I added some 7580 missing "const" directives, as well as some new, redundant ones. 7581 This removes the redundant ones. Pointed out by Eric Blake. 7582 * base64.c, cat.c, chcon.c, chgrp.c, chmod.c, chown.c, comm.c: 7583 * cp.c, csplit.c, cut.c, date.c, dd.c, df.c, dircolors.c, du.c: 7584 * env.c, expand.c, fmt.c, fold.c, groups.c, head.c, id.c: 7585 * install.c, join.c, kill.c, ln.c, ls.c, md5sum.c, mkdir.c: 7586 * mkfifo.c, mknod.c, mktemp.c, mv.c, nice.c, nl.c, od.c: 7587 * paste.c, pathchk.c, pinky.c, pr.c, ptx.c, readlink.c, rm.c: 7588 * rmdir.c, runcon.c, seq.c, shred.c, shuf.c, sort.c, split.c: 7589 * stat.c, stty.c, su.c, sum.c, tac.c, tail.c, tee.c, timeout.c: 7590 * touch.c, tr.c, truncate.c, tty.c, uname.c, unexpand.c, uniq.c: 7591 * wc.c, who.c: Remove redundant const directives. 7592 * maint.mk (sc_const_long_option): Don't require redundant "const". 7593 7594 chcon: correct --verbose output to include newlines 7595 * src/chcon.c (process_file): Append "\n" to --verbose diagnostic. 7596 * tests/misc/chcon: Add a test for the above. 7597 * NEWS: mention the bug fix 7598 Reported by Carl D. Roth in http://bugzilla.redhat.com/451478. 7599 76002008-06-15 Jim Meyering <meyering@redhat.com> 7601 7602 address root cause of compilation failures: 7603 The affected code wasn't even being compiled on my system, 7604 because HAVE_NL_LANGINFO was not defined. On other systems, where 7605 vasnprintf.m4 determines it needs %A or %a replacement support, it 7606 _would_ check for nl_langinfo, and expose the compilation failure. 7607 * m4/jm-macros.m4: Check for nl_langinfo, required by sort.c. 7608 7609 fix the compilation failure for real 7610 * src/sort.c (monthtab): Neither "const" may be added. 7611 7612 fix a const-related compilation failure in sort.c 7613 * src/sort.c (monthtab): Remove overzealous "const". 7614 Table entries are modified in an #if HAVE_NL_LANGINFO block. 7615 Introduced by 1463824d8e7f72c31f1d803d7cfe2b608ccafc5c. 7616 7617 update HACKING guidelines 7618 * HACKING: Don't suggest --signoff; it's redundant. 7619 (log requirements): Specify preferred forms. 7620 Mention preference for "<" over ">". 7621 Mention the "const placement" preference. 7622 76232008-06-14 Jim Meyering <meyering@redhat.com> 7624 7625 run gnulib-tests in parallel 7626 * tests/Makefile.am: Define AUTOMAKE_OPTIONS, so check.mk can append. 7627 * tests/check.mk: Define SUFFIXES, so check.mk can append. 7628 * build-aux/check.mk (SUFFIXES): Append, so as not to evoke 7629 automake warning the prior definition in gnulib-tests/gnulib.mk. 7630 (AUTOMAKE_OPTIONS): Likewise. 7631 * gnulib-tests/Makefile.am (TEST_LOGS): Define. 7632 Include build-aux/check.mk 7633 7634 * maint.mk (sc_proper_name_utf8_requires_ICONV) Fix typo in diagnostic. 7635 7636 add "const" attribute, where possible 7637 * maint.mk (sc_const_long_option): New rule. Enforce global change. 7638 * src/base64.c (long_options): Use "const" where possible. 7639 * src/cat.c (main): Likewise. 7640 * src/chcon.c (long_options): Likewise. 7641 * src/chgrp.c (long_options): Likewise. 7642 * src/chmod.c (long_options): Likewise. 7643 * src/chown.c (long_options): Likewise. 7644 * src/comm.c (long_options, OUTPUT_DELIMITER_OPTION): Likewise. 7645 * src/cp.c (long_opts): Likewise. 7646 * src/csplit.c (longopts): Likewise. 7647 * src/cut.c (longopts): Likewise. 7648 * src/date.c (long_options): Likewise. 7649 * src/dd.c (conversions, flags, statuses): Likewise. 7650 * src/df.c (long_options): Likewise. 7651 * src/dircolors.c (long_options): Likewise. 7652 * src/du.c (long_options): Likewise. 7653 * src/env.c (longopts): Likewise. 7654 * src/expand.c (longopts): Likewise. 7655 * src/fmt.c (long_options): Likewise. 7656 * src/fold.c (longopts): Likewise. 7657 * src/groups.c (longopts): Likewise. 7658 * src/head.c (long_options): Likewise. 7659 * src/id.c (longopts): Likewise. 7660 * src/install.c (long_options): Likewise. 7661 * src/join.c (longopts): Likewise. 7662 * src/kill.c (long_options): Likewise. 7663 * src/ln.c (long_options): Likewise. 7664 * src/ls.c (long_time_format, long_options, sort_functions): Likewise. 7665 * src/md5sum.c (long_options): Likewise. 7666 * src/mkdir.c (longopts): Likewise. 7667 * src/mkfifo.c (longopts): Likewise. 7668 * src/mknod.c (longopts): Likewise. 7669 * src/mktemp.c (longopts): Likewise. 7670 * src/mv.c (long_options): Likewise. 7671 * src/nice.c (longopts): Likewise. 7672 * src/nl.c (longopts): Likewise. 7673 * src/od.c (charname, long_options): Likewise. 7674 * src/paste.c (longopts): Likewise. 7675 * src/pathchk.c (longopts): Likewise. 7676 * src/pinky.c (longopts): Likewise. 7677 * src/pr.c (long_options): Likewise. 7678 * src/ptx.c (long_options): Likewise. 7679 * src/readlink.c (longopts): Likewise. 7680 * src/rm.c (long_opts): Likewise. 7681 * src/rmdir.c (longopts): Likewise. 7682 * src/runcon.c (long_options): Likewise. 7683 * src/seq.c (long_options): Likewise. 7684 * src/shred.c (long_opts): Likewise. 7685 * src/shuf.c (long_opts): Likewise. 7686 * src/sort.c (monthtab, long_options): Likewise. 7687 * src/split.c (longopts): Likewise. 7688 * src/stat.c (long_options): Likewise. 7689 * src/stty.c (mode_info, control_info, longopts, set_mode) Likewise. 7690 (set_control_char, speeds): Likewise. 7691 * src/su.c (longopts): Likewise. 7692 * src/sum.c (longopts): Likewise. 7693 * src/tac.c (longopts): Likewise. 7694 * src/tail.c (long_options): Likewise. 7695 * src/tee.c (long_options): Likewise. 7696 * src/timeout.c (long_options): Likewise. 7697 * src/touch.c (longopts): Likewise. 7698 * src/tr.c (long_options): Likewise. 7699 * src/truncate.c (longopts): Likewise. 7700 * src/tty.c (longopts): Likewise. 7701 * src/uname.c (uname_long_options, arch_long_options): Likewise. 7702 * src/unexpand.c (longopts): Likewise. 7703 * src/uniq.c (longopts): Likewise. 7704 * src/wc.c (longopts): Likewise. 7705 * src/who.c (longopts): Likewise. 7706 7707 revert previous change, "don't use "const" with scalar types" 7708 * src/truncate.c: There is nothing wrong with that construct. 7709 This reverts commit d7d80c5b7b122377fe250357a3ab182e8fbde20a. 7710 7711 don't use "const" with scalar types 7712 * src/truncate.c: Several vendor compilers reject that. 7713 See http://article.gmane.org/gmane.comp.lib.gnulib.bugs/13876 7714 77152008-06-13 Eric Blake <ebb9@byu.net> 7716 7717 od: improve handling of padding 7718 * src/od.c (decode_one_format): Alter the format, again. 7719 (FMT_BYTES_ALLOCATED): Reduce size by adjusting to new format. 7720 (MAX_INTEGRAL_TYPE_SIZE): Move earlier in the file. 7721 (charname): Turn it into a 2D array, since there's no need for 7722 pointers now. 7723 (PRINT_TYPE, print_named_ascii, print_ascii): Add a width 7724 parameter. 7725 (write_block): Account for width parameter. 7726 Using ideas from Paul Eggert. 7727 7728 od: align multiple -t specs 7729 * src/od.c (struct tspec): Add pad_width field, and adjust 7730 print_function prototype. 7731 (decode_one_format): Rewrite all fmt_string values to account for 7732 pad width. 7733 (FMT_BYTES_ALLOCATED): Adjust to new format style. 7734 (main): Compute pad width per spec. 7735 (write_block): Account for pad width. 7736 (dump): Don't print padding-only fields. 7737 (PRINT_TYPE, print_named_ascii, print_ascii): All print functions 7738 adjusted to use variable pad width. 7739 * tests/Makefile.am (TESTS): Add test. 7740 * tests/misc/od-multiple-t: New file. 7741 * THANKS: Update. 7742 * NEWS: Mention the improvement. 7743 Reported by Gary Johnson. 7744 7745 od: use gnulib printf replacement as necessary 7746 * src/od.c (includes): Add xprintf.h. 7747 (PRINT_TYPE): New macro, using xprintf instead of printf. 7748 (print_s_char, print_char, print_s_short, print_short, print_int) 7749 (print_long, print_long_long, print_float, print_double) 7750 (print_long_double): Factor into PRINT_TYPE macro. 7751 (print_named_ascii, print_ascii): Use xprintf. 7752 * NEWS: Mention this as a bug fix. 7753 7754 od: simplify long double support 7755 * m4/jm-macros.m4 (gl_CHECK_ALL_TYPES): Remove obsolete check for 7756 AC_C_LONG_DOUBLE. 7757 * src/od.c (LONG_DOUBLE): Delete. 7758 (width_bytes, MAX_FP_TYPE_SIZE, decode_one_format, main): Just use 7759 'long double' directly. 7760 (print_long_double): No longer protect by HAVE_LONG_DOUBLE. 7761 7762 doc: od defaults to -toS, not -td2 7763 * src/od.c (usage): Correct description of default. 7764 77652008-06-13 Jim Meyering <meyering@redhat.com> 7766 7767 skip (don't fail) root-only tests for common set-up failures 7768 Address 2 of 4 failures reported by Jarod Wilson in 7769 http://bugzilla.redhat.com/442352. More details here: 7770 http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13803 7771 * tests/cp/cp-a-selinux: Skip the test if "mkfs -t ext2" fails. 7772 * tests/rm/fail-2eperm: Skip the test if "rm" is not accessible. 7773 77742008-06-12 Jim Meyering <meyering@redhat.com> 7775 7776 tweak to conform with syntax policy 7777 Use "<" or "<=" rather than ">" or ">=". 7778 Use "Type const *", rather than "const Type *". 7779 77802008-06-12 Bo Borgerson <gigabo@gmail.com> 7781 7782 comm: accept new option: --output-delimiter=STR 7783 * src/comm.c (delimiter): New global. 7784 (writeline): Use delimiter string instead of single TAB character. 7785 (main): Initialize delimiter. 7786 * tests/misc/comm: Add tests for comm output delimiter specification. 7787 * doc/coreutils.texi: Document new option. 7788 * NEWS: Advertise new option. 7789 * TODO: Remove associated item. 7790 7791 comm: ensure that input files are sorted 7792 * NEWS: List new behavior. 7793 * doc/coreutils.texi (checkOrderOption) New macro for 7794 describing `--check-order' and `--nocheck-order', used in 7795 both join and comm. 7796 * src/comm.c (main): Initialize new options. 7797 (usage): Describe new options. 7798 (compare_files): Keep an extra pair of buffers for the previous 7799 line from each file to check the internal order. 7800 (check_order): If an order-check is required, compare and handle 7801 the result appropriately. 7802 (copylinebuffer): Copy a linebuffer; used for copy before read. 7803 * tests/misc/Makefile.am: List new test. 7804 * tests/misc/comm: Tests for the comm program, including the 7805 new order-checking functionality and attendant command-line options. 7806 78072008-06-11 Jim Meyering <meyering@redhat.com> 7808 7809 fix another unportable use of 'tr' 7810 * configure.ac [EXTRA_PROGRAMS]: Add omitted space in tr's STRING2. 7811 Spotted by Denis Excoffier, upon Solaris 8 build failure. 7812 7813 tests: skip a chown test on FreeBSD 6.x 7814 * tests/chown/separator: Skip this test if is likely to fail 7815 due to the combination of a bogus group name and a broken 7816 getgrnam function. 7817 7818 tests: remove duplicate mention of misc/selinux 7819 * tests/Makefile.am (TESTS): Remove misc/selinux, since it's 7820 already listed in $(root_tests). 7821 78222008-06-11 Bruno Haible <bruno@clisp.org> 7823 7824 fix build failure on AIX 4 7825 * configure.ac: Fix unportable invocation of 'tr', introduced on 7826 2008-04-22. Affects tr from at least AIX 4.3.2. 7827 78282008-06-10 Pádraig Brady <P@draigBrady.com> 7829 7830 remove test for specific diagnostic when truncating missing directory 7831 Solaris 10 returns ENOTDIR when truncating a nonexistent directory, 7832 whereas Linux returns EISDIR (because it has a trailing /). 7833 * tests/misc/truncate-fail-diag: Remove the test for the specific error. 7834 7835 timeout: use system-independent exit values 7836 Change exit values from ETIMEDOUT and ECANCELED, 7837 the values of which are system dependent, to 7838 124 and 125 respectively. 7839 * src/timeout.c (EXIT_TIMEDOUT, EXIT_CANCELED): Define. 7840 (usage, main): Adjust. 7841 * coreutils.texi (timeout invocation): Update. 7842 * tests/misc/timeout: Adjust. 7843 78442008-06-09 Jim Meyering <meyering@redhat.com> 7845 7846 enforce the proper_name_utf8-requires-ICONV link rule 7847 * maint.mk (sc_proper_name_utf8_requires_ICONV): New rule. 7848 * src/Makefile.am (timeout_LDADD, truncate_LDADD): Add $(LIBICONV). 7849 78502008-06-09 Bruno Haible <bruno@clisp.org> 7851 7852 * NEWS (Improvements): Mention improved (via gnulib) ACL support. 7853 78542008-06-08 Jim Meyering <meyering@redhat.com> 7855 7856 maint.mk: my-distcheck runs $(MAKE) syntax-check once again 7857 * maint.mk (my-distcheck): Run $(MAKE) syntax-check once again. 7858 Run "$(MAKE) check" _after_ the less expensive syntax-check. 7859 78602008-06-08 Bo Borgerson <gigabo@gmail.com> 7861 7862 standardize some error messages 7863 * maint.mk: (sc_error_message_warn_fatal, sc_error_message_uppercase): 7864 (sc_error_message_period): Add automatic checks for non-standard error 7865 messages. 7866 * .x-sc_error_message_uppercase: explicit exclusion for this check 7867 * src/cp.c: Standardize some error messages. 7868 * src/date.c: Likewise. 7869 * src/dircolors.c: Likewise. 7870 * src/du.c: Likewise. 7871 * src/expr.c: Likewise. 7872 * src/install.c: Likewise. 7873 * src/join.c: Likewise. 7874 * src/ln.c: Likewise. 7875 * src/mv.c: Likewise. 7876 * src/od.c: Likewise. 7877 * src/pr.c: Likewise. 7878 * src/split.c: Likewise. 7879 * src/truncate.c: Likewise. 7880 * src/wc.c: Likewise. 7881 * tests/du/files0-from: Expect new error message. 7882 * tests/misc/join: Likewise. 7883 * tests/misc/split-a: Likewise. 7884 * tests/misc/wc-files0-from: Likewise. 7885 * tests/misc/xstrtol: Likewise. 7886 * lib/xmemxfrm.c: Likewise. 7887 78882008-06-08 Jim Meyering <meyering@redhat.com> 7889 7890 syntax-check: detect anachronistic Perl-based tests 7891 * maint.mk (sc_no_exec_perl_coreutils): Rename and rewrite. 7892 78932008-06-06 Pádraig Brady <P@draigBrady.com> 7894 7895 Add new program: truncate 7896 * AUTHORS: Register as the author 7897 * NEWS: Mention this change 7898 * README: Add truncate command to list 7899 * src/truncate.c: New command 7900 * src/Makefile.am: Add truncate command to list to build 7901 * src/.gitignore: Add truncate binary to list to ignore 7902 * doc/coreutils.texi (truncate invocation): Add truncate info 7903 * man/Makefile.am: Add truncate man page to list to build 7904 * man/truncate.x: Add truncate man page template 7905 * po/POTFILES.in: Add truncate to list to translate 7906 * tests/Makefile.am: Add truncate tests 7907 * tests/misc/help-version: Add support for new truncate command 7908 * tests/misc/truncate-dangling-symlink: check dangling link ok 7909 * tests/misc/truncate-dir-fail: ensure dirs fail 7910 * tests/misc/truncate-fail-diag: validate messages for missing paths 7911 * tests/misc/truncate-fifo: ensure fifos ignored 7912 * tests/misc/truncate-no-create-missing: ensure -c option honoured 7913 * tests/misc/truncate-overflow: check signed integer overflows 7914 * tests/misc/truncate-owned-by-other: root permissions check 7915 * tests/misc/truncate-parameters: check invalid parameter combinations 7916 * tests/misc/truncate-relative: check invalid relative sizes 7917 79182008-06-06 Eric Blake <ebb9@byu.net> 7919 7920 improve 'date +%C' documentation 7921 * src/date.c (usage): Use 20, not 21, for current century. 7922 * THANKS: Update. 7923 Reported by Dameon G. Rogers, fix suggested by Philip Rowlands. 7924 79252008-06-03 Jim Meyering <meyering@redhat.com> 7926 7927 nice.c: avoid a cast 7928 * src/nice.c (main): Use argv[0], rather than 7929 "program_name with a cast". Suggestion from Eric Blake. 7930 7931 adjust c99-to-c89 patch as well as the code to generate it 7932 * maint.mk (patch-check) [REGEN_PATCH]: Eliminate date-related 7933 differences in generated diffs. 7934 * src/c99-to-c89.diff: Adjust offsets. 7935 7936 use gnulib's progname module 7937 * bootstrap.conf (gnulib_modules): Add progname. 7938 * src/*.c (program_name): Remove declaration. 7939 * (main): Call set_program_name rather than setting program_name. 7940 * src/nice.c (main): Cast program_name to "(char *)". 7941 * src/prog-fprintf.c: Include "system.h" 7942 * src/system.h: Include "progname.h". 7943 * maint.mk (sc_program_name): Adjust rule. 7944 Suggestion from Eric Blake. 7945 7946 remove duplicate definition of matchpathcon_init_prefix 7947 * gl/lib/se-selinux.in.h (matchpathcon_init_prefix): Remove definition. 7948 It is already defined there. Reported by Eric Blake. 7949 79502008-06-02 Jim Meyering <meyering@redhat.com> 7951 7952 fix cpp indentation policy violations 7953 * src/copy.c (mkfifo): Indent nested "# define". 7954 * src/timeout.c (ECANCELED): Likewise. 7955 7956 accommodate older SELinux which lacks matchpathcon_init_prefix 7957 * m4/jm-macros.m4: Check for matchpathcon_init_prefix. 7958 * src/install.c [!HAVE_MATCHPATHCON_INIT_PREFIX] 7959 (matchpathcon_init_prefix): Define away. 7960 * gl/lib/se-selinux.in.h (matchpathcon_init_prefix): Define. 7961 Reported by Ilya N. Golubev in 7962 <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13686>. 7963 7964 each file with a "main" must also declare program_name 7965 * maint.mk (sc_program_name): New rule. 7966 * .x-sc_program_name: New file. 7967 * Makefile.am (EXTRA_DIST): Add .x-sc_program_name. 7968 7969 declare program_name consistently 7970 * src/base64.c: Likewise. 7971 * src/basename.c: Likewise. 7972 * src/cat.c: Likewise. 7973 * src/chcon.c: Likewise. 7974 * src/chgrp.c: Likewise. 7975 * src/chmod.c: Likewise. 7976 * src/chown.c: Likewise. 7977 * src/chroot.c: Likewise. 7978 * src/cksum.c: Likewise. 7979 * src/comm.c: Likewise. 7980 * src/cp.c: Likewise. 7981 * src/csplit.c: Likewise. 7982 * src/cut.c: Likewise. 7983 * src/date.c: Likewise. 7984 * src/dd.c: Likewise. 7985 * src/df.c: Likewise. 7986 * src/dircolors.c: Likewise. 7987 * src/dirname.c: Likewise. 7988 * src/du.c: Likewise. 7989 * src/echo.c: Likewise. 7990 * src/env.c: Likewise. 7991 * src/expand.c: Likewise. 7992 * src/expr.c: Likewise. 7993 * src/factor.c: Likewise. 7994 * src/fmt.c: Likewise. 7995 * src/fold.c: Likewise. 7996 * src/groups.c: Likewise. 7997 * src/head.c: Likewise. 7998 * src/hostid.c: Likewise. 7999 * src/hostname.c: Likewise. 8000 * src/id.c: Likewise. 8001 * src/install.c: Likewise. 8002 * src/join.c: Likewise. 8003 * src/kill.c: Likewise. 8004 * src/link.c: Likewise. 8005 * src/ln.c: Likewise. 8006 * src/logname.c: Likewise. 8007 * src/ls.c: Likewise. 8008 * src/md5sum.c: Likewise. 8009 * src/mkdir.c: Likewise. 8010 * src/mkfifo.c: Likewise. 8011 * src/mknod.c: Likewise. 8012 * src/mktemp.c: Likewise. 8013 * src/mv.c: Likewise. 8014 * src/nice.c: Likewise. 8015 * src/nl.c: Likewise. 8016 * src/nohup.c: Likewise. 8017 * src/od.c: Likewise. 8018 * src/paste.c: Likewise. 8019 * src/pathchk.c: Likewise. 8020 * src/pinky.c: Likewise. 8021 * src/pr.c: Likewise. 8022 * src/printenv.c: Likewise. 8023 * src/printf.c: Likewise. 8024 * src/ptx.c: Likewise. 8025 * src/pwd.c: Likewise. 8026 * src/readlink.c: Likewise. 8027 * src/rm.c: Likewise. 8028 * src/rmdir.c: Likewise. 8029 * src/runcon.c: Likewise. 8030 * src/seq.c: Likewise. 8031 * src/setuidgid.c: Likewise. 8032 * src/shuf.c: Likewise. 8033 * src/sleep.c: Likewise. 8034 * src/sort.c: Likewise. 8035 * src/split.c: Likewise. 8036 * src/stat.c: Likewise. 8037 * src/stty.c: Likewise. 8038 * src/su.c: Likewise. 8039 * src/sum.c: Likewise. 8040 * src/sync.c: Likewise. 8041 * src/tac.c: Likewise. 8042 * src/tail.c: Likewise. 8043 * src/tee.c: Likewise. 8044 * src/test.c: Likewise. 8045 * src/timeout.c: Likewise. 8046 * src/touch.c: Likewise. 8047 * src/tr.c: Likewise. 8048 * src/true.c: Likewise. 8049 * src/tsort.c: Likewise. 8050 * src/tty.c: Likewise. 8051 * src/uname.c: Likewise. 8052 * src/unexpand.c: Likewise. 8053 * src/uniq.c: Likewise. 8054 * src/unlink.c: Likewise. 8055 * src/uptime.c: Likewise. 8056 * src/users.c: Likewise. 8057 * src/wc.c: Likewise. 8058 * src/who.c: Likewise. 8059 * src/whoami.c: Likewise. 8060 * src/yes.c: Likewise. 8061 80622008-06-02 Eric Blake <ebb9@byu.net> 8063 8064 export program_name, required by gnulib 8065 * src/timeout.c (program_name): Export. 8066 80672008-06-02 Jim Meyering <meyering@redhat.com> 8068 8069 revert inadvertent change in last patch 8070 * configure.ac (AM_INIT_AUTOMAKE): Restore accidentally-modified 8071 options. Spotted by Eric Blake. 8072 80732008-06-02 Pádraig Brady <P@draigBrady.com> 8074 8075 new program: timeout 8076 * AUTHORS: Register as the author. 8077 * NEWS: Mention this change. 8078 * README: Add timeout command to list. 8079 * src/timeout.c: New file. 8080 * src/kill.c (operand2sig): Move function to its own file, 8081 now that timeout.c will also use it. 8082 * src/operand2sig.c (operand2sig): New file, extracted from kill.c. 8083 * src/operand2sig.h (operand2sig): Declare. 8084 * src/Makefile.am (EXTRA_PROGRAMS): Add timeout. 8085 * src/.gitignore: Add timeout binary to list to ignore. 8086 * doc/coreutils.texi (timeout invocation): Add timeout info. 8087 (Signal specifications): New section, also referenced by kill. 8088 * man/Makefile.am (timeout.1): Add dependency. 8089 * man/timeout.x: New file. 8090 * po/POTFILES.in: Add timeout.c and operand2sig.c to list to translate. 8091 * tests/Makefile.am (TESTS): Add the two new tests. 8092 * tests/misc/help-version: Add support for new timeout command. 8093 * tests/misc/invalid-opt: Add support for new timeout command. 8094 * tests/misc/timeout: New file: check basic timeout operation. 8095 * tests/misc/timeout-parameters: New file: check invalid parameter 8096 combinations. 8097 80982008-06-02 Jim Meyering <meyering@redhat.com> 8099 8100 spell author names consistently 8101 * src/comm.c (AUTHORS): Use RMS' middle initial. 8102 * src/ls.c (AUTHORS): Likewise. 8103 * src/rm.c (AUTHORS): Likewise. 8104 * src/uniq.c (AUTHORS): Likewise. 8105 * src/cut.c (AUTHORS): Use David M. Ihnat's middle initial. 8106 * AUTHORS: Update to match. 8107 Reported by Michael Piefel. 8108 81092008-06-01 Simon Josefsson <simon@josefsson.org> 8110 8111 doc: adjust base64 documentation 8112 * coreutils.texi (base64 invocation): Use RFC 4648 as the specification. 8113 Move the URL down a bit in the text. 8114 81152008-06-01 Erik Auerswald <auerswal@unix-ag.uni-kl.de> 8116 8117 md5sum: new option, --quiet, to suppress OK messages 8118 sha1sum, sha224sum, sha384sum, and sha512sum accept it, too. 8119 * src/md5sum.c: add option --quiet to suppress OK messages 8120 * doc/coreutils.texi: document option --quiet 8121 * tests/misc/md5sum: add test for option --quiet 8122 * NEWS: mention new option --quiet for md5sum+sha*sum in "New 8123 features" section 8124 81252008-06-01 Jim Meyering <meyering@redhat.com> 8126 8127 add rules to commit three post-release changes automatically 8128 * maint.mk (noteworthy): Define. 8129 (emit-commit-log): Define. 8130 (alpha beta major): Also update NEWS and cfg.mk automatically, 8131 and commit all three changes at once. 8132 8133 update old_NEWS_hash 8134 * cfg.mk (old_NEWS_hash): Update by running "make update-NEWS-hash". 8135 Reported by Erik Auerswald. 8136 81372008-06-01 Simon Josefsson <simon@josefsson.org> 8138 8139 src/base64.c: Improve comments. 8140 81412008-06-01 Jim Meyering <meyering@redhat.com> 8142 8143 * NEWS: add header line for next release 8144 8145 adjust format of .prev-version commit message 8146 * maint.mk (alpha beta major): Start with "*", omit version number. 8147 8148 * .prev-version: Record previous version. 8149 81502008-05-31 Jim Meyering <meyering@redhat.com> 8151 8152 Version 6.12. 8153 * NEWS: Record release date. 8154 8155 install: reenable matchpathcon-related code 8156 The underlying performance problem is being dealt with in Automake 8157 by limiting the number of install invocations, and in SELinux with 8158 incremental changes as well as a potential new implementation. 8159 * src/Makefile.am (ginstall_CPPFLAGS) [ENABLE_MATCHPATHCON]: Define. 8160 * src/install.c [ENABLE_WHEN_MATCHPATHCON_IS_MORE_EFFICIENT]: 8161 Rename to ENABLE_MATCHPATHCON. 8162 * NEWS: mention this change 8163 81642008-05-30 Jim Meyering <meyering@redhat.com> 8165 8166 configure.ac: remove explicit use of AB_INIT 8167 * configure.ac: Don't invoke AB_INIT directly, now that it's 8168 done automatically via gl_INIT. 8169 8170 tests: ignore known failure on all Darwin 8.x / Mac OS X v10.4.x 8171 * tests/chgrp/basic: Update comment and host_triplet version test. 8172 8173 tests: avoid failure with older version of Perl's File::Temp 8174 * tests/CuTmpdir.pm (import): Use &File::Temp::cleanup only 8175 if it is defined. Reported by Bruno Haible in 8176 http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13652 8177 8178 NEWS: mention that cp -p copies permissions more portably 8179 Based on wording suggested by Bruno Haible. 8180 81812008-05-29 Jim Meyering <meyering@redhat.com> 8182 8183 improve description of du's--separate-dirs option 8184 * coreutils.texi (du invocation): Prompted by Volker Badziong's 8185 report in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13646 8186 8187 du.c: tiny cleanup (no semantic change) 8188 * src/du.c (process_file): Use "file", rather than 8189 equivalent "ent->fts_path". 8190 81912008-05-27 Jim Meyering <meyering@redhat.com> 8192 8193 in 280+ tests/* files, use $srcdir, not $top_srcdir/tests 8194 8195 prefer abs_srcdir over abs_top_srcdir, ... 8196 so that e.g., tests/* may refer to absolute names without 8197 hard-coding the name of the containing directory (tests/, here). 8198 * tests/check.mk (TESTS_ENVIRONMENT): Define abs_srcdir. 8199 * tests/pr/pr-tests: Use $abs_srcdir/pr not $abs_top_srcdir/tests/pr. 8200 * tests/chmod/c-option: Use $abs_srcdir, not $abs_top_srcdir/tests. 8201 * tests/cp/cp-parents: Likewise. 8202 * tests/mkdir/parents: Likewise. 8203 * tests/mkdir/perm: Likewise. 8204 * tests/mv/acl: Likewise. 8205 * tests/mv/backup-is-src: Likewise. 8206 * tests/mv/hard-link-1: Likewise. 8207 * tests/mv/into-self-2: Likewise. 8208 * tests/mv/leak-fd: Likewise. 8209 * tests/mv/mv-special-1: Likewise. 8210 * tests/mv/part-fail: Likewise. 8211 * tests/mv/part-hardlink: Likewise. 8212 * tests/mv/part-rename: Likewise. 8213 * tests/mv/part-symlink: Likewise. 8214 * tests/mv/partition-perm: Likewise. 8215 * tests/mv/sticky-to-xpart: Likewise. 8216 * tests/mv/to-symlink: Likewise. 8217 * tests/rm/one-file-system: Likewise. 8218 * tests/sample-test: Likewise. 8219 8220 tests: generalize my-distcheck 8221 * maint.mk (my-distcheck): Accommodate missing gnulib-tests. 8222 82232008-05-26 Jim Meyering <meyering@redhat.com> 8224 8225 reflect renaming of acl.c in gnulib 8226 * POTFILES.in: s/acl.c/set-mode-acl.c/ 8227 8228 test installation results more thoroughly 8229 * maint.mk (my-distcheck): Ensure that properly-named binaries 8230 are installed. Also check all man pages, except [.1. 8231 Move configure-time --prefix= to install-time prefix=. 8232 (my-instcheck, install-transform-check): Define. 8233 8234 install many binaries at once, when possible 8235 * src/Makefile.am (install-exec-am): Override the standard 8236 automake-generated target, so we can decide whether to use 8237 the usual install-one-by-one rule, or whether we can use 8238 the new install-many-at-once rule: 8239 (cu-install-binPROGRAMS): New rule. 8240 8241 * src/runcon.c: Add copyright comment. 8242 8243 adjust AUTHORS and check-AUTHORS rule to accommodate 8244 * AUTHORS: Add coding: utf-8 comment at end. 8245 Spell François' and Torbjörn's names properly. 8246 * src/Makefile.am: Parse AUTHORS file more carefully. 8247 Use perl to join now-split lines. 8248 Use en_US.UTF-8 to generate --version output. 8249 8250 * src/c99-to-c89.diff: Adjust offsets. 8251 8252 adjust copyright dates 8253 8254 convert the rest to use proper_name -- manually 8255 * src/base64.c (AUTHORS): Rename from AUTHOR, for consistency. 8256 8257 convert 3-author programs to use proper_name 8258 g grep -E -l 'define AUTHORS "[^,]+", "[^,]+", "[^,]+"$'|xargs perl -pi -e \ 8259 's/(define AUTHORS) ("[^,]+"), ("[^,]+"), ("[^,]+")$/$1 \\\n proper_name ($2), \\\n proper_name ($3), \\\n proper_name ($4)/' 8260 8261 convert 2-author programs to use proper_name 8262 g grep -E -l 'define AUTHORS "[^,]+", "[^,]+"$'|xargs perl -pi -e \ 8263 's/(define AUTHORS) ("[^,]+"), ("[^,]+")$/$1 \\\n proper_name ($2), \\\n proper_name ($3)/' 8264 8265 convert single-author programs to use proper_name 8266 g grep -E -l 'define AUTHORS "[^,]+"$'|xargs perl -pi -e \ 8267 's/(define AUTHORS) ("[^,]+")$/$1 proper_name ($2)/' 8268 8269 use gnulib's proper_name_utf8 function, but *not* proper_name 8270 * bootstrap.conf (gnulib_modules): Add propername. 8271 (XGETTEXT_OPTIONS): Add options to tell xgettext about the functions. 8272 * src/cat.c, src/cp.c, src/df.c, src/du.c, src/split.c: 8273 Mark Torbjörn Granlund's name. 8274 * src/ptx.c: Mark François Pinard's name. 8275 Use "TRANSLATORS:" comment marker, rather than "Note to translators:". 8276 * src/system.h: Include propername.h. 8277 (proper_name): Define away. 8278 * src/Makefile.am (cat_LDADD, df_LDADD, du_LDADD, ptx_LDADD, split_LDADD): 8279 Initialize, so we can... 8280 (cat_LDADD, cp_LDADD, df_LDADD, du_LDADD, ptx_LDADD, split_LDADD): 8281 ...Use "+=" to append $(LIBICONV) for each program that uses 8282 proper_name_utf8. 8283 82842008-05-24 Jim Meyering <meyering@redhat.com> 8285 8286 * POTFILES.in: Add lib/copy-acl.c. 8287 82882008-05-20 Jim Meyering <meyering@redhat.com> 8289 8290 install: avoid a leak in currently-ifdef'd-out code 8291 * src/install.c (setdefaultfilecon) 8292 [ENABLE_WHEN_MATCHPATHCON_IS_MORE_EFFICIENT]: 8293 Call matchpathcon_init_prefix only once. 8294 Suggestion from Stephen Smalley. Reported by Ben Webb in 8295 <http://bugzilla.redhat.com/447410>. 8296 82972008-05-19 Jim Meyering <meyering@redhat.com> 8298 8299 use gnulib's base64 module, now that it's sync'd to match this one 8300 * gl/lib/base64.c: Remove file. 8301 * gl/lib/base64.h: Remove file. 8302 83032008-05-19 Pádraig Brady <P@draigBrady.com> 8304 8305 doc: clarify field delimiter description in uniq --help output 8306 * src/uniq.c: Clarify in help output that field delimiters are 8307 blanks and not the larger set of whitespace characters. 8308 83092008-05-17 Jim Meyering <meyering@redhat.com> 8310 8311 tests: skip when a debian libc6-2.7-11 bug makes printf segfault 8312 * tests/misc/printf-surprise: Detect case of a low-memory-provoked 8313 segfault and skip the test (this is actually a bug in snprintf). 8314 For details, see http://bugs.debian.org/481543 8315 8316 tests: sync and update wc and du --files0-from tests 8317 * tests/du/files0-from: Sync from tests/misc/wc-files0-from. 8318 (minus-in-minus): New test. 8319 Adjust for new diagnostics. 8320 * tests/misc/wc-files0-from: Adjust for new diagnostics. 8321 8322 du, wc: merge improved --files0-from=F-related diagnostics 8323 du gave a better diagnostic for one unusual case, 8324 and wc gave a better diagnostic for a different one. 8325 Now each diagnoses both unusual cases. 8326 * src/du.c (main): Disallow '-' as file name when reading from stdin. 8327 * src/wc.c (main): Give a better diagnostic for a zero-length file name. 8328 8329 test invalid-option handling in all programs 8330 * tests/Makefile.am (TESTS): Add misc/invalid-opt. 8331 * tests/misc/invalid-opt: New file. 8332 8333 tests: remove ugly /bin/sh wrapper around each perl-based test script 8334 * tests/check.mk (TESTS_ENVIRONMENT): Save and restore TMPDIR around 8335 envvar-check, so that the few scripts that require $TMPDIR don't fail. 8336 This is also good to let a user's default TMPDIR setting be used e.g., 8337 in the search for an 'other-partition'. 8338 FIXME: this is pretty ugly. maybe undo it and find a better way. 8339 (TESTS_ENVIRONMENT): Invoke perl scripts with $(PERL), and use -T 8340 if the script requires that. Otherwise, use $(SHELL). 8341 8342 * tests/misc/md5sum-newline: Create a file whose name contains 8343 a newline in Perl (resort to using "system", since open refuses). 8344 8345 Fix old brokenness exposed by this change: 8346 * tests/du/files0-from: Correct test not to rely on stdin 8347 being attached to a non-tty. 8348 * tests/misc/sort (3g, 3h, 3i): Likewise: add explicit empty input file. 8349 Avoid warnings about using qw()-around-commas. 8350 8351 * tests/rm/fail-eperm: Now that this test is run from a temporary 8352 subdirectory, adjust the full name of the "rm" program we're going 8353 to run. 8354 8355 Change #!/bin/sh to #!/usr/bin/perl, and factor out the few lines 8356 of boilerplate code to invoke perl. Do not "require 5.00x"; 8357 a configure-time Perl test handles that 8358 * tests/dd/skip-seek: 8359 * tests/misc/base64: 8360 * tests/misc/basename: 8361 * tests/misc/cut: 8362 * tests/misc/date: 8363 * tests/misc/dircolors: 8364 * tests/misc/dirname: 8365 * tests/misc/expand: 8366 * tests/misc/expr: 8367 * tests/misc/factor: 8368 * tests/misc/fmt: 8369 * tests/misc/fold: 8370 * tests/misc/head: 8371 * tests/misc/head-elide-tail: 8372 * tests/misc/join: 8373 * tests/misc/ls-misc: 8374 * tests/misc/md5sum: 8375 * tests/misc/md5sum-newline: 8376 * tests/misc/mktemp: 8377 * tests/misc/od: 8378 * tests/misc/paste: 8379 * tests/misc/pr: 8380 * tests/misc/printf-cov: 8381 * tests/misc/seq: 8382 * tests/misc/sha1sum: 8383 * tests/misc/sha1sum-vec: 8384 * tests/misc/sha224sum: 8385 * tests/misc/sha256sum: 8386 * tests/misc/sha384sum: 8387 * tests/misc/sha512sum: 8388 * tests/misc/sort-merge: 8389 * tests/misc/stat-printf: 8390 * tests/misc/sum: 8391 * tests/misc/tac: 8392 * tests/misc/tail: 8393 * tests/misc/test: 8394 * tests/misc/test-diag: 8395 * tests/misc/tr: 8396 * tests/misc/tsort: 8397 * tests/misc/tty-eof: 8398 * tests/misc/unexpand: 8399 * tests/misc/uniq: 8400 * tests/misc/wc: 8401 * tests/misc/wc-files0-from: 8402 * tests/misc/xstrtol: 8403 * tests/mv/i-1: 8404 * tests/pr/pr-tests: 8405 * tests/rm/empty-name: 8406 * tests/rm/fail-eperm: 8407 * tests/rm/unreadable: 8408 84092008-05-16 Jim Meyering <meyering@redhat.com> 8410 8411 tests: allow to run Perl tests more cleanly 8412 Before this change, perl tests were run via a #!/bin/sh script 8413 in which perl was invoked via $(PERL) ... -- - <<\EOF. 8414 That made some stty tests fail due to the way stdin was usurped. 8415 * build-aux/check.mk (am__check_pre): Don't append $(SHELL) to this 8416 nominally automake-internal variable. 8417 * tests/check.mk (TESTS_ENVIRONMENT): Instead, define a shell function 8418 here, and append it to the more user-visible $(TESTS_ENVIRONMENT). 8419 8420 tests: env-related clean up 8421 * tests/Coreutils.pm: tiny clean-up: s/env/env --/ 8422 * tests/misc/help-version: Use "env" rather than an absolute file 8423 name prefix. 8424 * tests/misc/printf-surprise: Likewise. 8425 8426 tests: improve coverage of printf.c 8427 * tests/misc/printf-cov: New file. 8428 * tests/Makefile.am (TESTS): Add misc/printf-cov. 8429 * tests/misc/help-version: Use env rather than abs file name prefix. 8430 8431 make HACKING slightly more generic 8432 * HACKING: remove some uses of "coreutils" 8433 Point to git's own SubmittingPatches URL. 8434 84352008-05-15 Bruno Haible <bruno@clisp.org> 8436 8437 doc: some Unicode characters cannot be specified via \u or \U 8438 * doc/coreutils.texi (printf invocation): Clarify invalid ranges for 8439 Unicode character escape syntax. 8440 84412008-05-11 Jim Meyering <meyering@redhat.com> 8442 8443 move sha256 and sha512 modules to gnulib 8444 * bootstrap.conf (gnulib_modules) [sha256, sha512]: Add "crypto/" 8445 prefix to module name, now that they come from gnulib. 8446 * gl/lib/sha256.c: Remove file. 8447 * gl/lib/sha256.h: Likewise. 8448 * gl/lib/sha512.c: Likewise. 8449 * gl/lib/sha512.h: Likewise. 8450 * gl/lib/u64.h: Likewise. 8451 * gl/m4/sha256.m4: Likewise. 8452 * gl/m4/sha512.m4: Likewise. 8453 * gl/modules/sha256: Likewise. 8454 * gl/modules/sha512: Likewise. 8455 84562008-05-10 Jim Meyering <meyering@redhat.com> 8457 8458 now that the last of the mk-script-using tests is gone... 8459 * tests/Makefile.am (EXTRA_DIST): Remove Makefile.am.in and mk-script. 8460 Move/adjust SUBDIRS-related comments. 8461 * tests/Makefile.am.in: Remove file, no longer used. 8462 * tests/mk-script: Likewise. 8463 * bootstrap: Remove coreutils-specific SUBDIRS-related code. 8464 8465 tests: remove directory, tests/join/ 8466 * configure.ac (AC_CONFIG_FILES): Remove tests/join/Makefile. 8467 * tests/misc/join: New file, with tests from... 8468 * tests/join/Test.pm: ...here. Remove file. 8469 * tests/Makefile.am (SUBDIRS): Remove definition. 8470 8471 * tests/misc/tac: Also perform stdin and piped tests. 8472 8473 tests: convert pr tests 8474 * configure.ac (AC_CONFIG_FILES): Remove tests/pr/Makefile. 8475 * tests/Makefile.am (SUBDIRS): Remove pr. 8476 * tests/pr/pr-tests: New file, with tests from... 8477 * tests/pr/Test.pm: ...here. Remove file. 8478 * tests/Makefile.am (EXTRA_DIST): Add $(pr_data). 8479 (pr_data): List all of the pr's test-related data files. 8480 8481 tests: remove directory, tests/tail/ 8482 * configure.ac (AC_CONFIG_FILES): Remove tests/tail/Makefile. 8483 * tests/Makefile.am (SUBDIRS): Remove tail. 8484 * tests/misc/tail: New file, with tests from... 8485 * tests/tail/Test.pm: ...here. Remove file. 8486 84872008-05-09 Bernhard Marx <berny@bernhard-marx.de> 8488 8489 doc: improve description of "niceness" values 8490 * doc/coreutils.texi (nice invocation): 8491 84922008-05-09 Jim Meyering <meyering@redhat.com> 8493 8494 tests: remove directory, tests/sort/ 8495 * configure.ac (AC_CONFIG_FILES): Remove tests/sort/Makefile. 8496 * tests/Makefile.am (SUBDIRS): Remove sort. 8497 * tests/misc/sort: New file, with tests from... 8498 * tests/sort/Test.pm: ...here. Remove file. 8499 85002008-05-08 Bruno Haible <bruno@clisp.org> 8501 8502 Speed up "wc -m" and "wc -w" in multibyte case. 8503 * src/wc.c: Include mbchar.h. 8504 (wc): New variable in_shift. Use it to avoid calling mbrtowc for most 8505 ASCII characters. Reported via Jan Engelhardt in 8506 http://bugzilla.novell.com/381873 with discussion here 8507 http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13520 8508 85092008-05-08 Jim Meyering <meyering@redhat.com> 8510 8511 tests: remove directory, tests/tac/ 8512 * configure.ac (AC_CONFIG_FILES): Remove tests/tac/Makefile. 8513 * tests/Makefile.am (SUBDIRS): Remove tac. 8514 * tests/misc/tac: Many new tests, from... 8515 * tests/tac/Test.pm: ...here. Remove file. 8516 8517 tests: remove directory, tests/test/ 8518 * configure.ac (AC_CONFIG_FILES): Remove tests/test/Makefile. 8519 * tests/Makefile.am (SUBDIRS): Remove test. 8520 * tests/misc/test: Many new tests, from... 8521 * tests/test/Test.pm: ...here. Remove file. 8522 8523 tests: Coreutils.pm: support running a program that is a shell built-in 8524 * tests/Coreutils.pm (run_tests): Add support for running a 8525 program like 'test', that is a shell built-in. 8526 85272008-05-06 Jim Meyering <meyering@redhat.com> 8528 8529 * TODO: Bo Borgerson is rewriting support for cp --recursive 8530 8531 tests: remove directory, tests/tr/ 8532 * configure.ac (AC_CONFIG_FILES): Remove tests/tr/Makefile. 8533 * tests/Makefile.am (SUBDIRS): Remove tr. 8534 * tests/misc/tr: Many new tests, from... 8535 * tests/tr/Test.pm: ...here. Remove file. 8536 * tests/tr/failures: Remove file. 8537 * tests/tr/TODO: Remove file. 8538 8539 tests: skip another test if mcstransd is running 8540 * tests/test-lib.sh (skip_if_mcstransd_is_running_): New function, 8541 extracted from... 8542 * tests/misc/chcon: ...here. Use function, not open-coded test. 8543 * tests/misc/selinux: Use the function here, too. 8544 Require root, not non-root. 8545 * tests/Makefile.am (root_tests): Add misc/selinux. 8546 8547 tests: translate uniq-z-test-adding code to new framework 8548 * tests/misc/uniq (add-z-variants): New function. 8549 Use it. 8550 8551 tests: remove directory, tests/uniq/ 8552 * configure.ac (AC_CONFIG_FILES): Remove tests/uniq/Makefile. 8553 * tests/Makefile.am (SUBDIRS): Remove uniq. 8554 * tests/misc/uniq: Many new tests, from... 8555 * tests/uniq/Test.pm: ...here. Remove file. 8556 8557 tests: remove directory, tests/cut/ 8558 * configure.ac (AC_CONFIG_FILES): Remove tests/cut/Makefile. 8559 * tests/Makefile.am (SUBDIRS): Remove cut. 8560 * tests/misc/cut: Many new tests, from... 8561 * tests/cut/Test.pm: ...here. Remove file. 8562 8563 tests: remove directory, tests/head/ 8564 * configure.ac (AC_CONFIG_FILES): Remove tests/head/Makefile. 8565 * tests/Makefile.am (SUBDIRS): Remove head. 8566 * tests/misc/head: New file, derived from ... 8567 * tests/head/Test.pm: ...this. Remove file. 8568 * tests/head/in: Remove file. 8569 * tests/head/in-1024: Remove file. 8570 * tests/Coreutils.pm (triple_test): New function. 8571 8572 tests: Coreutils.pm improvements 8573 * tests/Coreutils.pm: Allow test names longer than 12. 8574 Print a useful diagnostic for bogus spec entry. 8575 8576 Handle the combination of IN_PIPE and ENV properly. 8577 * tests/Coreutils.pm (run_tests): Put ENV right before command, 8578 not before the "cat INPUT_FILE |" prefix. 8579 8580 tests: move "sparse-file" into test-lib.sh 8581 * tests/sparse-file: Remove file Move contents into ... 8582 * tests/test-lib.sh (require_sparse_support_): ...here. New function. 8583 * tests/cp/sparse: Use the function, not the file. 8584 * tests/du/8gb: Likewise. 8585 * tests/Makefile.am (EXTRA_DIST): Remove sparse-file. 8586 8587 tests: move "group-names" into test-lib.sh 8588 * tests/group-names: Remove file Move contents into ... 8589 * tests/test-lib.sh (require_membership_in_two_groups_): ...here. New function. 8590 * tests/chgrp/basic: Use the function, not the file. 8591 * tests/chgrp/default-no-deref: Likewise. 8592 * tests/chgrp/deref: Likewise. 8593 * tests/chgrp/no-x: Likewise. 8594 * tests/chgrp/posix-H: Likewise. 8595 * tests/chgrp/recurse: Likewise. 8596 * tests/cp/existing-perm-race: Likewise. 8597 * tests/Makefile.am (EXTRA_DIST): Remove group-names. 8598 8599 tests: use printf+sed rather than yes+head+tr 8600 * tests/misc/fmt-long-line: Minor clean-up. 8601 Using "yes" like that has caused trouble in the past. 8602 8603 tests: save and restore TERM around use of TESTS_ENVIRONMENT, 8604 now that TESTS_ENVIRONMENT unsets it. 8605 * check.mk (am__check_pre): Save $TERM. 8606 (am__check_post): Restore saved value of TERM and export. 8607 8608 tests: hoist the sourcing of "lang-default" 8609 * tests/check.mk (TESTS_ENVIRONMENT): Source lang-default here, ... 8610 ... rather than in each of 100+ test scripts. 8611 * tests/chgrp/basic: 8612 * tests/chgrp/no-x: 8613 * tests/chmod/c-option: 8614 * tests/chmod/no-x: 8615 * tests/chmod/setgid: 8616 * tests/chmod/thru-dangling: 8617 * tests/chmod/umask-x: 8618 * tests/chmod/usage: 8619 * tests/chown/basic: 8620 * tests/chown/deref: 8621 * tests/chown/preserve-root: 8622 * tests/cp/abuse: 8623 * tests/cp/acl: 8624 * tests/cp/backup-is-src: 8625 * tests/cp/cp-a-selinux: 8626 * tests/cp/cp-i: 8627 * tests/cp/cp-mv-backup: 8628 * tests/cp/deref-slink: 8629 * tests/cp/fail-perm: 8630 * tests/cp/into-self: 8631 * tests/cp/link-preserve: 8632 * tests/cp/preserve-gid: 8633 * tests/cp/same-file: 8634 * tests/cp/slink-2-slink: 8635 * tests/cp/special-f: 8636 * tests/cp/symlink-slash: 8637 * tests/cp/thru-dangling: 8638 * tests/du/basic: 8639 * tests/du/hard-link: 8640 * tests/du/inacc-dest: 8641 * tests/du/long-sloop: 8642 * tests/du/no-x: 8643 * tests/install/basic-1: 8644 * tests/ln/hard-backup: 8645 * tests/ln/sf-1: 8646 * tests/ls/file-type: 8647 * tests/ls/infloop: 8648 * tests/ls/nameless-uid: 8649 * tests/ls/rt-1: 8650 * tests/ls/stat-failed: 8651 * tests/ls/symlink-slash: 8652 * tests/ls/x-option: 8653 * tests/misc/chcon: 8654 * tests/misc/chcon-fail: 8655 * tests/misc/csplit: 8656 * tests/misc/df-P: 8657 * tests/misc/groups-dash: 8658 * tests/misc/groups-version: 8659 * tests/misc/nohup: 8660 * tests/misc/printf-surprise: 8661 * tests/misc/runcon-no-reorder: 8662 * tests/misc/selinux: 8663 * tests/misc/split-a: 8664 * tests/misc/split-fail: 8665 * tests/misc/tac-continue: 8666 * tests/misc/wc-files0: 8667 * tests/mkdir/p-v: 8668 * tests/mkdir/selinux: 8669 * tests/mv/acl: 8670 * tests/mv/backup-dir: 8671 * tests/mv/backup-is-src: 8672 * tests/mv/childproof: 8673 * tests/mv/diag: 8674 * tests/mv/dir2dir: 8675 * tests/mv/dup-source: 8676 * tests/mv/force: 8677 * tests/mv/hard-link-1: 8678 * tests/mv/hard-verbose: 8679 * tests/mv/i-2: 8680 * tests/mv/i-3: 8681 * tests/mv/i-4: 8682 * tests/mv/i-5: 8683 * tests/mv/i-link-no: 8684 * tests/mv/into-self: 8685 * tests/mv/into-self-2: 8686 * tests/mv/into-self-3: 8687 * tests/mv/mv-special-1: 8688 * tests/mv/part-fail: 8689 * tests/mv/part-symlink: 8690 * tests/mv/partition-perm: 8691 * tests/mv/perm-1: 8692 * tests/mv/reply-no: 8693 * tests/mv/sticky-to-xpart: 8694 * tests/mv/update: 8695 * tests/rm/cycle: 8696 * tests/rm/dir-no-w: 8697 * tests/rm/dir-nonrecur: 8698 * tests/rm/fail-2eperm: 8699 * tests/rm/fail-eacces: 8700 * tests/rm/inaccessible: 8701 * tests/rm/interactive-always: 8702 * tests/rm/interactive-once: 8703 * tests/rm/isatty: 8704 * tests/rm/one-file-system: 8705 * tests/rm/r-1: 8706 * tests/rm/r-2: 8707 * tests/rm/rm1: 8708 * tests/rm/rm2: 8709 * tests/rm/rm3: 8710 * tests/rm/rm4: 8711 * tests/rm/rm5: 8712 * tests/rm/unread2: 8713 * tests/rm/v-slash: 8714 * tests/touch/fail-diag: 8715 * tests/touch/not-owner: 8716 8717 tests: hoist envvar-check so it is run for every test 8718 I.e., also for Perl-based tests; not just the ones using test-lib.sh. 8719 * tests/check.mk (TESTS_ENVIRONMENT): Source envvar-check here, ... 8720 * tests/test-lib.sh: ...not here. 8721 8722 fix typo in comments: s/ouput/output/ 8723 adjust spelling in that same comment: s/localisation/localization/ 8724 8725 * tests/touch/Makefile.am: Remove now-unused file. 8726 8727 tests: test split more thoroughly 8728 * tests/misc/split-a: Clean up. Catch more failures. 8729 8730 * tests/misc/wc: Remove an unused variable. 8731 8732 tests: detect and check more uses of strcmp 8733 * maint.mk (sc_prohibit_strcmp): Relax regexp to recognize other 8734 formatting styles. 8735 8736 avoid problems with sign-extended "char" operand to is* functions 8737 * src/cut.c (set_fields): Apply to_uchar to isblank operands. 8738 * src/uniq.c (find_field): Likewise. 8739 * src/seq.c (scan_arg): Likewise, for isspace. 8740 * tests/misc/uniq: New file. Test for the above, but only 8741 when isspace(0240). 8742 * tests/Makefile.am (TESTS): Add misc/uniq. 8743 * configure.ac: Use gt_LOCALE_FR. 8744 * tests/check.mk (TESTS_ENVIRONMENT): Propagate LOCALE_FR to scripts. 8745 * NEWS: Mention the bug fixes. 8746 8747 Before this patch, on FreeBSD 6: 8748 8749 $ printf 'x y z\nx \xa0 y z\n' > in 8750 $ LC_ALL=fr_FR.UTF-8 uniq -f2 in|tr ' ' . 8751 x.y.z 8752 x. .y.z 8753 8754 With the patch: 8755 8756 $ LC_ALL=fr_FR.UTF-8 uniq -f2 in|tr ' ' . 8757 x.y.z 8758 8759 This also affected many other locales: 8760 for i in $(locale -a); do test $(LC_ALL=$i ./uniq -f1 in|wc -l) 8761 = $(LC_ALL=$i uniq -f1 in|wc -l) || echo $i ; done 8762 ... 8763 en_GB.ISO8859-1 8764 en_GB.ISO8859-15 8765 en_GB.UTF-8 8766 en_IE.UTF-8 8767 en_NZ.ISO8859-1 8768 en_NZ.ISO8859-15 8769 en_NZ.UTF-8 8770 en_US.ISO8859-1 8771 en_US.ISO8859-15 8772 en_US.UTF-8 8773 ... 8774 87752008-05-06 Bo Borgerson <gigabo@gmail.com> 8776 8777 base64: remove some unused/redundant getopt code 8778 * src/base64.c (struct option long_option): Remove redundant help/version 8779 option items. 8780 (main): Remove unused 'q' from short options. 8781 87822008-05-06 Jim Meyering <meyering@redhat.com> 8783 8784 help2man: fix perl 5.10 problem properly 8785 * man/help2man: Do pull LC_ALL via "use POSIX". 8786 Instead, limit the importing of gettext-related symbols 8787 to just those two we'll use: gettext and textdomain. 8788 87892008-05-05 Jim Meyering <meyering@redhat.com> 8790 8791 help2man: avoid failure with Debian unstable's Perl 5.10.0 8792 Avoid failure that produced this diagnostic: 8793 Constant subroutine main::LC_ALL redefined at /.../Exporter.pm 8794 * man/help2man: Don't include LC_ALL in the "use POSIX" list, 8795 since Locale::gettext->import will get it. 8796 87972008-05-05 Bo Borgerson <gigabo@gmail.com> 8798 8799 base64 module: adjust API so it's compatible with gnulib's 8800 * gl/lib/base64.c (base64_decode_ctx): If no context structure was passed in, 8801 treat newlines as garbage (this is the historical behavior). Formerly 8802 base64_decode. 8803 (base64_decode_alloc_ctx): Formerly base64_decode_alloc. 8804 * gl/lib/base64.h (base64_decode): Macro for four-argument calls. 8805 (base64_decode_alloc): Likewise. 8806 * src/base64.c (do_decode): Call base64_decode_ctx instead of base64_decode. 8807 88082008-05-05 Jim Meyering <meyering@redhat.com> 8809 8810 * tests/misc/tac: Set execute bit. 8811 8812 tac: avoid segfault for e.g., "echo > x; tac -r x x" 8813 * src/tac.c (tac_seekable): Move local "regs" declaration out 8814 to file scope, so its values aren't clobbered between calls. 8815 Discovered by Cristian Cadar, Daniel Dunbar and Dawson Engler, 8816 reported in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13501 8817 * NEWS: Mention the bug fix. 8818 * tests/Makefile.am (TESTS): Add misc/tac. 8819 * tests/misc/tac: New file. Test for the above. 8820 88212008-04-30 Jim Meyering <meyering@redhat.com> 8822 8823 tests: avoid a "make check-root" failure when mcstransd is running 8824 * tests/misc/chcon: Skip this test if mcstransd seems to be running. 8825 8826 tests: avoid spurious "make check-root" failure 8827 * README (Running tests as root): Also set PATH in suggested "sudo" 8828 command. This avoids failure of at least tests/cp/cp-a-selinux 8829 when the default PATH does not contain /sbin. 8830 * tests/cp/cp-a-selinux: Don't redirect stderr to /dev/null. 8831 "mkfs" was failing due to /sbin not being in PATH. 8832 88332008-04-30 Bo Borgerson <gigabo@gmail.com> 8834 8835 Add Daniel Dunbar's lcov instructions to HACKING 8836 * HACKING: New section `Finding things to do', points to TODO file and 8837 gives instructions on generating an html coverage report as provided by 8838 Daniel Dunbar. 8839 * TODO: Add item for improving test coverage. Point back to HACKING. 8840 88412008-04-29 Jim Meyering <meyering@redhat.com> 8842 8843 chcon, runcon: make --help print the bug-reporting address 8844 * src/chcon.c (usage): Use emit_bug_reporting_address. 8845 * src/runcon.c (usage): Likewise. 8846 * tests/misc/help-version: Don't exempt chcon and runcon. 8847 * NEWS: Mention this. 8848 88492008-04-28 Jim Meyering <meyering@redhat.com> 8850 8851 tests: don't hard-code coreutils list of tests/ SUBDIRS in bootstrap 8852 * bootstrap: Extract the list from tests/Makefile.am, and die 8853 when it is empty -- it will be, eventually. 8854 88552008-04-28 Bo Borgerson <gigabo@gmail.com> 8856 8857 tests: remove references to tests/wc from bootstrap 8858 * bootstrap: Don't try to initialize anything in tests/wc. 8859 88602008-04-28 Jim Meyering <meyering@redhat.com> 8861 8862 tests: slightly relax sc_cast_of_argument_to_free syntax check 8863 * maint.mk (sc_cast_of_argument_to_free): Relax regexp slightly. 8864 (sc_no_have_config_h): Add a comment. 8865 88662008-04-28 Bo Borgerson <gigabo@gmail.com> 8867 8868 tests: don't chmod after a failed chdir in cleanup 8869 * tests/CuTmpdir.pm (chmod_tree): Don't chmod if chdir failed. 8870 8871 Only cleanup test dirs from the process that created them. 8872 * tests/CuTmpdir.pm (import): Use closure around current PID to avoid cleanup races. 8873 88742008-04-27 Jim Meyering <meyering@redhat.com> 8875 8876 move wc tests from own subdir into a single script 8877 * configure.ac (AC_CONFIG_FILES): Remove wc/Makefile from the list. 8878 * tests/Makefile.am (SUBDIRS): Remove wc from the list. 8879 (TESTS): Add misc/wc. 8880 * tests/misc/wc: New file, derived from tests/wc/Tests.pm. 8881 * tests/wc/Test.pm: Remove file. 8882 8883 tests: remove temporary log file upon catchable signal 8884 * check.mk (am__check_pre): Add signal handler to remove $@-t. 8885 8886 tests: don't source envvar-check manually, test-lib.sh does it 8887 * tests/cp/abuse: Remove ". $top_srcdir/tests/envvar-check". 8888 * tests/cp/parent-perm: Likewise. 8889 * tests/cp/special-f: Likewise. 8890 * tests/ls/proc-selinux-segfault: Likewise. 8891 * tests/misc/help-version: Likewise. 8892 * tests/mkdir/selinux: Likewise. 8893 * tests/mv/sticky-to-xpart: Likewise. 8894 * tests/touch/now-owned-by-other: Likewise. 8895 * tests/sample-test: Remove commented out suggestion. 8896 8897 tests: ensure at least one failure when $built_programs is empty 8898 Before, this test and others would pass with empty $built_programs. 8899 * tests/misc/help-version: Fail if built_programs is empty. 8900 8901 tests: improve perl-based tempdir handling 8902 Before, upon interrupt, directories would be left behind. 8903 * tests/CuTmpdir.pm: Remove temporary directory on interrupt. 8904 8905 tests: reorder some tests in the long list 8906 * tests/Makefile.am (TESTS): Move some tests that use sleep 8907 "up" in the list so that they don't delay even a little the 8908 completion of "make check". Also run a chmod test early. 8909 8910 tests: put root-only (usually skipped) tests at the end 8911 * tests/Makefile.am (TESTS): Don't list root-only tests explicitly. 8912 Instead, just use $(root_tests). 8913 * tests/check.mk (vc_exe_in_TESTS): Now that root_tests are separate, 8914 parse out the union of $(TESTS) and $(root_tests). 8915 8916 tests: move another file (expensive) into test-lib.sh 8917 * tests/expensive: Remove file. Move contents into ... 8918 * tests/test-lib.sh (expensive_): ...here. New function. 8919 * tests/du/fd-leak: Update caller to use the new function. 8920 * tests/mv/leak-fd: Likewise. 8921 * tests/rm/hash: Likewise. 8922 * tests/tail-2/big-4gb: Likewise. 8923 * tests/Makefile.am (EXTRA_DIST): Remove its name. 8924 8925 tests: cp/perm (usually not run) was failing on systems with SELinux 8926 * tests/cp/perm: Use stat to get the permission string, not ls. 8927 This test was run only when RUN_VERY_EXPENSIVE_TESTS=yes was set 8928 in the environment. It would fail on SELinux-enable systems 8929 because ls-generated permission strings would not match, e.g., 8930 "test _-rw-r--r--+ = _-rw-r--r--" would fail. 8931 8932 tweak HACKING advice 8933 89342008-04-24 Jim Meyering <meyering@redhat.com> 8935 8936 tests: do define built_programs 8937 * tests/check.mk (built_programs): Define here, where it's used. 8938 This definition was in now-removed tests/misc/Makefile.am. 8939 89402008-04-23 Jim Meyering <meyering@redhat.com> 8941 8942 tests: update commented-out examples in sample-test, too 8943 * tests/sample-test: Use $top_srcdir/tests/SCRIPT_NAME, not 8944 $top_srcdir/../SCRIPT_NAME here, too. 8945 89462008-04-23 Ondřej Vašík <ovasik@redhat.com> 8947 8948 tests: don't fail in a non-English locale 8949 * tests/chmod/thru-dangling: Source lang-default. 8950 * tests/cp/thru-dangling: Likewise. 8951 * tests/misc/printf-surprise: Likewise. 8952 89532008-04-23 Jim Meyering <meyering@redhat.com> 8954 8955 tests: remove now-unused Makefile.am 8956 * tests/misc/Makefile.am: Remove file. 8957 89582008-04-23 Ondřej Vašík <ovasik@redhat.com> 8959 8960 id: do not print SELinux context when invoked with a USERNAME argument 8961 * NEWS: Mention new behaviour. 8962 * src/id.c (main): Do not print SELinux context when user is specified. 8963 * tests/Makefile.am: Add the new test. 8964 * tests/misc/id-context: New file. Test for the fix. 8965 Problem reported by Ronny Buchmann in http://bugzilla.redhat.com/443485. 8966 89672008-04-23 Jim Meyering <meyering@redhat.com> 8968 8969 id: do print the AFS-specific nameless group ID (called a PAG) 8970 In 6.11, we mistakenly suppressed the printing of certain group IDs, 8971 thinking they were useless AFS-specific artifacts. 8972 This change reverts that, so now they are printed once again. 8973 http://thread.gmane.org/gmane.org.fsf.announce/867/focus=13345 8974 This also reverts the bug-fix that applied solely to the new code 8975 used to avoid printing those IDs 8976 8977 Revert "id bug fix: don't point to potentially clobbered static storage" 8978 This reverts commit f7d1c59c224f81a8bab5fa2afcaf815988f50467. 8979 Revert "Work around AFS bug: id and groups would print invalid group number." 8980 This reverts commit b7a836c0a3524cda8ef79c30c3fe7ea759ae4656. 8981 Revert "* src/c99-to-c89.diff: Accommodate a C99-ism in id.c." 8982 This reverts commit d44893c5dba4150b4ded9cf6aad316c1ef620c9f. 8983 89842008-04-22 Jim Meyering <meyering@redhat.com> 8985 8986 build: move a project-specific definition to cfg.mk 8987 * cfg.mk (old_NEWS_hash): Define here, ... 8988 * maint.mk: ... not here. 8989 (update-NEWS-hash): Update comment. 8990 Suggestion from Eric Blake. 8991 8992 Accommodate building on OS/2 (www.ecomstation.com Ecs v2 rc4) 8993 * configure.ac: Filter out carriage returns in more places. 8994 Reported by Elbert Pol, details here: 8995 http://thread.gmane.org/gmane.org.fsf.announce/867/focus=13332 8996 8997 guard against inserting a NEWS entry into a block for a prior release 8998 Without a guard like this, it is far too easy to apply a patch 8999 prepared against a preceding release, and not notice that a NEWS 9000 entry is inserted into the wrong block. 9001 * maint.mk (sc_immutable_NEWS): New rule. 9002 (update-NEWS-hash): New rule to update the hard-coded hash. 9003 9004 tests: ensure that all exec-$PERL lines are the same 9005 * maint.mk (sc_perl_coreutils_test): New rule. 9006 90072008-04-21 Jim Meyering <meyering@redhat.com> 9008 9009 tests: skip (don't fail) rm/one-file-system when mount --bind fails 9010 * tests/rm/one-file-system: Reported by Allen Hewes. 9011 9012 tests: convert umask-check to a function 9013 * tests/test-lib.sh (working_umask_or_skip_): New function, from... 9014 * tests/umask-check: ...here. Remove file. 9015 * tests/Makefile.am (EXTRA_DIST): Remove umask-check. 9016 * tests/mkdir/perm: Use the function rather than sourcing the file. 9017 * tests/cp/cp-parents: Likewise. 9018 * tests/cp/parent-perm: Likewise. 9019 Bruno Haible reported that parent-perm was failing to run umask-check. 9020 9021 tests: adjust perl -I to use $top_srcdir/tests, not $srcdir/.. 9022 9023 tests: clean up root tests; adapt to new layout 9024 * tests/Makefile.am (root_tests): New list. 9025 (check-root): Add 'SUBDIRS='. 9026 (root-hint): Point to README. 9027 * Makefile.am (check-root): Add 'SUBDIRS=' here, too. 9028 * maint.mk (sc_root_tests): Adapt rule to new syntax used 9029 in tests/Makefile.am. 9030 9031 Revamp test-related Makefiles. 9032 One side-effect of this change is that "make check" now works even if 9033 you put "." early in your shell's search PATH (don't do that!). 9034 9035 Remove all test-related Makefile.am files, except those generated 9036 by mk-script. Instead, tests/Makefile.am now lists not only the 9037 tests directly under tests/, but also those in tests/*/ that are 9038 not generated by mk-script, e.g., cp/abuse, cp/acl, mv/i-1, etc. 9039 9040 A lot of these changes are like this: 9041 9042 -. $srcdir/../lang-default 9043 +. $top_srcdir/tests/lang-default 9044 9045 -. $srcdir/../test-lib.sh 9046 +. $top_srcdir/tests/test-lib.sh 9047 9048 * configure.ac (AC_CONFIG_FILES): Remove corresponding Makefiles. 9049 * tests/check.mk (vc_exe_in_TESTS): Relax syntax requirements. 9050 * tests/rwx-to-mode: Remove file. Rewritten as... 9051 * tests/test-lib.sh (rwx_to_mode_): ...this new function. 9052 * tests/Makefile.am (EXTRA_DIST): Remove rwx-to-mode. 9053 (SUBDIRS): Remove each dir with a removed Makefile.am. 9054 (EXTRA_DIST): Add $(TESTS). 9055 (TESTS): Add over 300 entries. 9056 90572008-04-20 Jim Meyering <meyering@redhat.com> 9058 9059 * tests/misc/Makefile.am (built_programs): Remove. Unused. 9060 9061 Use "env" to invoke potential built-ins. 9062 * tests/misc/pwd-unreadable-parent: Invoke pwd via "env -- pwd", 9063 rather than via an absolute name. 9064 * tests/touch/not-owner: Likewise for test. 9065 * tests/chmod/setgid: Likewise. 9066 90672008-04-19 Jim Meyering <meyering@redhat.com> 9068 9069 * .prev-version: Record previous version: 6.11. 9070 9071 Version 6.11. 9072 * NEWS: Record release date. 9073 9074 * maint.mk (writable-files): Fix syntax error. 9075 9076 * doc/.gitignore: Add texinfo-related outputs. 9077 90782008-04-19 Sven Joachim <svenjoac@gmx.de> 9079 9080 * THANKS: Update my address, correct encoding for a name. 9081 90822008-04-19 Jim Meyering <meyering@redhat.com> 9083 9084 pr -e, with a mix of backspaces and TABs, could corrupt the heap 9085 * tests/pr/Test.pm: New tests for the above. 9086 * src/pr.c (char_to_clump): Ensure that "input_position" never 9087 goes below 0. 9088 Also, elide any backspace encountered when input_position is 0, 9089 to be compatible at least with /bin/pr from Solaris 10. 9090 This bug is present in the original version: 9091 b25038ce9a234ea0906ddcbd8a0012e917e6c661 9092 * NEWS [Bug fixes]: Mention this. 9093 Report and diagnosis by Cristian Cadar, Daniel Dunbar and Dawson Engler 9094 in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13272 9095 90962008-04-19 Mike Frysinger <vapier@gentoo.org> 9097 9098 * src/dircolors.hin: Add .flv. Move .svgz to "image formats". 9099 91002008-04-19 Jim Meyering <meyering@redhat.com> 9101 9102 md5sum -c: ignore a line with a NUL byte among checksum hex digits 9103 * src/md5sum.c (hex_digits): Require that all "digest_hex_bytes" 9104 be hexadecimal digits, not just those before the first NUL byte. 9105 This bug dates back to the original version: 9106 3763a4f24eb21be40674d13ff7b04e078f473e85 9107 * tests/misc/md5sum (nul-in-cksum): Test for the above. 9108 * NEWS [Bug fixes]: Mention this. 9109 Prompted by a report from Flóki Pálsson in 9110 http://bugzilla.redhat.com/439531 9111 91122008-04-16 Matthew Woehlke <mw_triad@users.sourceforge.net> 9113 9114 tests: accommodate built-in mknod more cleanly still 9115 * tests/mkdir/selinux: Use "env" rather than "nice". 9116 91172008-04-16 Jim Meyering <meyering@redhat.com> 9118 9119 tests: accommodate built-in mknod more cleanly 9120 * tests/mkdir/selinux: Undo most of previous change, 9121 bc22dbbf844f31ddaf2e68b167d0128a985d73ab, and instead 9122 invoke the command via "nice". Using "exec" should be 9123 enough, but isn't with OpenBSD's PD KSH v5.2.14 99/07/13.2. 9124 Eric Blake suggested using nice. 9125 9126 mknod --help: note that this command may be a shell built-in 9127 * src/mknod.c (usage): Print USAGE_BUILTIN_WARNING. 9128 Suggestion from Eric Blake. 9129 9130 avoid "may be used uninitialized" warning from newer gcc 9131 * src/md5sum.c (digest_check) [lint]: Initialize local, "filename". 9132 9133 tests: add a comment explaining the potential failure 9134 9135 tests: avoid mkdir/selinux failure when mknod is a shell built-in 9136 * tests/mkdir/selinux: Skip the mknod test if it's a built-in. 9137 91382008-04-15 Jim Meyering <meyering@redhat.com> 9139 9140 md5sum, sha1sum, etc: handle invalid input (i.e., don't segfault) 9141 * src/md5sum.c (bsd_split_3): Return right away if s_len == 0. 9142 * tests/misc/md5sum (bsd-segv): New test for the above. 9143 * tests/misc/sha1sum (bsd-segv): Likewise. 9144 * NEWS: Mention the bug fix. 9145 Reported by Cristian Cadar, Daniel Dunbar and Dawson Engler. 9146 91472008-04-14 Jim Meyering <meyering@redhat.com> 9148 9149 tests: don't fail on systems without a "stat" syscall 9150 * tests/test-lib.sh (require_strace_): Add a syscall parameter. 9151 * tests/ls/stat-free-symlinks: Update caller. 9152 * tests/mv/atomic: Likewise. 9153 * tests/mv/atomic2: Likewise. 9154 Reported by Mike Frysinger in 9155 http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13222 9156 9157 tests: accommodate a different errno string on Irix 6.5 9158 * tests/mkdir/selinux: Also handle "Not supported". 9159 Reported by Peter Fales. 9160 9161 seq: work around floating point inaccuracies on more systems 9162 * src/seq.c: Include <math.h> for fabs. 9163 Include <float.h> for DBL_EPSILON. 9164 (abs_rel_diff): New function. 9165 (print_numbers): Use abs_rel_diff rather than a strict equality test. 9166 Without this change, Solaris 8 and Irix 6.2 would fail the float-6 9167 test. Reported by Peter Fales in 9168 http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13183 9169 * src/c99-to-c89.diff: Adjust seq.c offsets. 9170 9171 doc: fix typo 9172 * coreutils.texi (sort invocation): s/Whitespace/White space/ 9173 91742008-04-12 Jim Meyering <meyering@redhat.com> 9175 9176 tests: Accommodate a different errno value on OSF/1 4.0F. 9177 * tests/mkdir/selinux: Also handle "Function not implemented". 9178 9179 Avoid link failure when using mkstemp replacement. 9180 * src/Makefile.am (tac_LDADD): Add $(LIB_CLOCK_GETTIME). 9181 This is necessary at least on a DEC Alpha OSF/1 4.0F. 9182 9183 tests: always enable VERBOSE output, now that test framework works better 9184 * cfg.mk: Set VERBOSE=yes. 9185 * tests/check.mk: Likewise. 9186 91872008-04-11 Jim Meyering <meyering@redhat.com> 9188 9189 doc: avoid "make pdf" failure (due to texi2dvi bug?) 9190 * doc/coreutils.texi (filesZeroFromOption): 9191 Comment out @cindex-in-@macro use. 9192 9193 doc: use a valid texinfo macro name 9194 * doc/coreutils.texi (filesZeroFromOption): s/0/Zero/ 9195 91962008-04-08 Jim Meyering <meyering@redhat.com> 9197 9198 tests: accommodate a different errno value on HPUX-10.20 9199 * tests/mkdir/selinux: Also handle "Unknown system error". 9200 Reported by Peter Fales. 9201 92022008-04-06 Jim Meyering <meyering@redhat.com> 9203 9204 doc: factor out --files0-from duplication 9205 * coreutils.texi (wc invocation) [files0fromOption]: New macro. Use it. 9206 (du invocation): Use it here, too. 9207 9208 * src/c99-to-c89.diff: Adjust remove.c diffs. 9209 92102008-04-06 Jim Meyering <jim@meyering.net> 9211 9212 remove.c: accommodate systems with negative errno values 9213 This is required at least on Haiku and BeOS. 9214 * src/remove.c (write_protected_non_symlink): Return 1 for a write- 9215 protected non-symlink, 0 if we determine it's not, and -1 upon 9216 error (setting errno accordingly only in this final case). 9217 (prompt): Deal with the changed semantics of the above function. 9218 Based on this patch from Axel Dörfler: 9219 http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13071 9220 92212008-04-05 Jim Meyering <meyering@redhat.com> 9222 9223 Accommodate building on OS/2 (www.ecomstation.com Ecs v2 rc4) 9224 * configure.in: Also filter out carriage returns from the value 9225 of $no_install_progs_default. Reported by Elbert Pol. 9226 92272008-04-02 Jim Meyering <meyering@redhat.com> 9228 9229 "touch E; mkfifo F; cp -fR F E" no longer fails due to existing E 9230 * src/copy.c (copy_internal): Revert change of 2005-03-01, 9231 4303f0454592421eea48be87777d32a49e1d5e5b 9232 Prompted by Michael Stone, who pointed me to an old bug report from 9233 Ian Jackson: http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/7504 9234 * tests/cp/special-f: New file. Test for the above. 9235 * tests/cp/Makefile.am (TESTS): Add special-f. 9236 * NEWS: mention this bug fix. 9237 9238 copy.c: remove an in-function #ifdef 9239 * src/copy.c (rpl_mkfifo) [! HAVE_MKFIFO]: New function. 9240 (mkfifo) [! HAVE_MKFIFO]: Define to rpl_mkfifo. 9241 (copy_internal): Remove #ifdef. 9242 9243 HACKING: rename README-contribution-guidelines 9244 README-contribution-guidelines: Rename to .. 9245 HACKING: ...this. 9246 92472008-04-01 Jim Meyering <meyering@redhat.com> 9248 9249 bootstrap: remove dangling *.[ch] symlinks from lib 9250 * bootstrap [dangling symlink removal]: Match *.[ch] files, too. 9251 Suggestion from Eric Blake. 9252 9253 bootstrap: make find's -depth option be the first. 9254 * bootstrap [dangling symlink removal]: Move find's -depth 9255 option to precede all others, to avoid a warning. 9256 9257 * bootstrap: Remove dangling symlinks from lib (aka $source_base), too. 9258 9259 Avoid root-only SELinux-related test failures w/o mcstransd. 9260 When mcstransd is not running (i.e., after service mcstrans stop), 9261 "make check" as root would provoke two test failures. 9262 * tests/cp/cp-a-selinux: Use the context, root:object_r:tmp_t:s0, 9263 that works both with and without mcstransd. 9264 Thanks to Eric Paris for the tip and to Ondřej Vašík for alerting 9265 me to the problem. 9266 Reported by Robert Scheck in <http://bugzilla.redhat.com/436717>. 9267 9268 root tests: Set NON_ROOT_USERNAME if not set already. 9269 * tests/test-lib.sh (require_root_): This avoids failure of a 9270 couple of root-only tests that require a value for that envvar. 9271 9272 texinfo formatting tweaks 9273 * coreutils.texi: Avoid some overfull hbox warnings. 9274 (Treating / specially): Use @file{/} rather than a bare /. 9275 9276 printf doc: xref print(3) and libc's "Output Conversion Syntax" node 9277 * coreutils.texi (printf invocation): Add xref. 9278 Use "The GNU C Library Reference Manual" as the name of the 'libc' 9279 document consistently. 9280 * man/printf.x: Add See also: printf(3). 9281 Suggested by A. Costa in http://bugs.debian.org/465522 9282 92832008-03-31 Jim Meyering <meyering@redhat.com> 9284 9285 Emit "#line 1" right after the two 'read-only/GENERATED' lines. 9286 * bootstrap (cp_mark_as_generated): This preserves line numbering 9287 e.g., in assertions, which is important when correlating between 9288 coreutils test failures and the original files in gnulib/tests. 9289 Suggested by Eric Blake. 9290 9291 * README-contribution-guidelines: Mention how to amend a commit. 9292 Suggestion from Pádraig Brady. 9293 9294 Begin documenting contribution guidelines. 9295 * README-contribution-guidelines: New file. For now, not distributed. 9296 9297 "rm -r DIR" would mistakenly prompt about very long names 9298 * src/remove.c (write_protected_non_symlink): Return 0(-1) when 9299 euidaccess_stat pronounces a writable(not-writable) file, not -1(0). 9300 * tests/rm/deep-2: New file. Test for the above-fixed bug. 9301 * tests/rm/Makefile.am (TESTS): Add deep-2. 9302 Discovered while reviewing this change: 9303 http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13071 9304 9305 * NEWS: Note the dd bug fix. The bug was introduced over 8 years ago: 9306 9fca49f67c16c8b42c32e185808fe187cedb0fa7 9307 93082008-03-31 Paul Eggert <eggert@cs.ucla.edu> 9309 9310 dd bug fix: accept e.g., if=/dev/stdin and of=/dev/stdout 9311 * lib/fd-reopen.c: Work even if FILE is "/dev/stdin". 9312 Problem reported by Geoffrey Lee in <http://bugs.debian.org/290727>. 9313 * tests/dd/misc: Check for this bug. 9314 93152008-03-29 Jim Meyering <meyering@redhat.com> 9316 9317 avoid failure of new test on kernel without SELinux support 9318 * tests/mkdir/selinux: Also accept ENOENT. 9319 Reported by Sven Joachim. 9320 9321 tests: accept ENOTSUP message as well as the EINVAL one 9322 This test would fail on most non-Linux systems because the original 9323 expected an "Invalid argument" diagnostic, yet they all produced 9324 "Operation not supported". 9325 * tests/mkdir/selinux: Accept both strings. Factor out duplication. 9326 9327 Work around a recent glibc/getopt.c diagnostic change. 9328 * tests/misc/factor: Map new "-- '1'" to expected "-- 1". 9329 93302008-03-28 Jim Meyering <meyering@redhat.com> 9331 9332 mknod, mkfifo: don't segfault when diagnosing invalid SELinux context 9333 Identical to the bug fixed by 72d052896a9092b811961a8f3e6ca5d151a59be5. 9334 * src/mkfifo.c (main): Use "scontext", not NULL optarg in diagnostic. 9335 * src/mknod.c (main): Likewise. 9336 Reported by Cristian Cadar, Daniel Dunbar and Dawson Engler. 9337 * tests/mkdir/selinux: Test for the above fixes. 9338 * NEWS: Mention the fixes. 9339 9340 Fix typo in old NEWS and ChangeLog: s/commmand/command/. 9341 * ChangeLog-2007: Likewise. 9342 * NEWS: Likewise. 9343 Prompted by http://bugzilla.redhat.com/439410 9344 93452008-03-28 Pádraig Brady <P@draigBrady.com> 9346 9347 tests: Factor out code that's going to be reused. 9348 * tests/test-lib.sh (mkfifo_or_skip_): New function, factored out of... 9349 * tests/touch/fifo: ...here. 9350 93512008-03-28 Jim Meyering <meyering@redhat.com> 9352 9353 Require that "(exit $fail); exit $fail" be last line of each test. 9354 * maint.mk (sc_require_test_exit_idiom): New rule to enforce policy. 9355 * tests/cp/acl: Adhere to the new policy. 9356 * tests/cp/preserve-gid: Likewise. 9357 * tests/dd/misc: 9358 * tests/install/create-leading: 9359 * tests/ln/sf-1: 9360 * tests/ls/symlink-slash: 9361 * tests/misc/help-version: 9362 * tests/misc/ls-time: 9363 * tests/misc/nice: 9364 * tests/misc/shred-remove: 9365 * tests/misc/stty: 9366 * tests/misc/stty-row-col: 9367 * tests/mkdir/p-1: 9368 * tests/mkdir/p-2: 9369 * tests/mkdir/p-3: 9370 * tests/mkdir/p-v: 9371 * tests/mkdir/special-1: 9372 * tests/mkdir/writable-under-readonly: 9373 * tests/mv/acl: 9374 * tests/mv/backup-is-src: 9375 * tests/mv/diag: 9376 * tests/mv/dir-file: 9377 * tests/mv/force: 9378 * tests/mv/hard-link-1: 9379 * tests/mv/i-2: 9380 * tests/mv/i-4: 9381 * tests/mv/into-self: 9382 * tests/mv/into-self-2: 9383 * tests/mv/into-self-3: 9384 * tests/mv/partition-perm: 9385 * tests/mv/to-symlink: 9386 * tests/rmdir/ignore: 9387 * tests/tail-2/assert: 9388 * tests/tail-2/assert-2: 9389 * tests/touch/dangling-symlink: 9390 * tests/touch/dir-1: 9391 * tests/touch/empty-file: 9392 * tests/touch/fifo: 9393 * tests/touch/no-rights: Likewise. 9394 9395 Perform explicit exit-nonzero if the embedded Perl script fails. 9396 * tests/misc/pwd-long: Add canonical '(exit $fail); exit $fail'. 9397 93982008-03-27 Jim Meyering <meyering@redhat.com> 9399 9400 paste -d\\: avoid heap overrun for backslash at end of delim list 9401 * src/paste.c: Include "quotearg.h". 9402 (collapse_escapes): Handle backslash-escaped backslash explicitly. 9403 Handle unescaped backslash at end of string by returning nonzero, 9404 rather than by overrunning memory. 9405 (main): Diagnose an invalid delimiter list -- carefully. 9406 Reported by Cristian Cadar, Daniel Dunbar and Dawson Engler. 9407 * tests/misc/paste-no-nl (delim-bs): Add a test to demonstrate the 9408 heap-smashing capability. 9409 (delim-bs2): Prior to coreutils-5.1.2, this bug was a little harder 9410 to demonstrate: it would corrupt a first-argument containing e.g., \b 9411 * NEWS: Mention the bug fix. 9412 * tests/misc/Makefile.am (TESTS): Reflect renaming. 9413 * tests/misc/paste: Rename from paste-no-nl. 9414 94152008-03-26 Jim Meyering <meyering@redhat.com> 9416 9417 * src/join.c (keycmp): Document new parameters. 9418 9419 Test for mkdir bug fix. 9420 * tests/mkdir/selinux: New file: test for today's fix. 9421 * tests/mkdir/Makefile.am (TESTS): Add selinux. 9422 94232008-03-26 Daniel Dunbar <daniel@zuster.org> 9424 9425 mkdir -Z x d: don't segfault when diagnosing invalid context "x" (tiny change) 9426 * src/mkdir.c (main): Use "scontext", not NULL optarg in diagnostic. 9427 Reported by Cristian Cadar, Daniel Dunbar and Dawson Engler. 9428 * NEWS: Mention the bug fix. 9429 94302008-03-25 Peter Fales <psfales@alcatel-lucent.com> 9431 9432 id bug fix: don't point to potentially clobbered static storage 9433 On at least Mac OS, when calling getpwuid twice with the same UID, 9434 the static storage containing results from the first call is 9435 invalidated by the second call. 9436 * src/id.c (main): Point to a copy of the user name string. 9437 94382008-03-25 Eric Blake <ebb9@byu.net> 9439 9440 Use new gnulib gnumakefile module. 9441 * bootstrap.conf (gnulib_modules): Pull in new module. 9442 * GNUmakefile: Remove from version control. 9443 * .gitignore: Update. 9444 * configure.ac (AC_CONFIG_LINKS): Delete; rely on gnulib to do 9445 this now. 9446 * Makefile.am (EXTRA_DIST, distclean-local): Likewise. 9447 94482008-03-25 Jim Meyering <meyering@redhat.com> 9449 9450 join bug fix: adapt keycmp to work with new order-checking feature 9451 * src/join.c (keycmp): Add two join-field parameters. 9452 (check_order, join): Update callers. 9453 Reported by Dmitry V. Levin in 9454 http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/12731/focus=13017 9455 * tests/join/Test.pm (chkodr-7): New test for this fix. 9456 94572008-03-23 Jim Meyering <meyering@redhat.com> 9458 9459 join.c: syntax/style tweaks 9460 * src/join.c (check_order): Rename from checkorder. 9461 Move definition to precede first use and remove prototype. 9462 Use EXIT_FAILURE, rather than "1". 9463 (key_cmp): Move definition to precede first use. 9464 94652008-03-22 Jim Meyering <meyering@redhat.com> 9466 9467 portability: work around a "busybox sed" limitation 9468 * configure.ac: While every other sed tested supports usage like 9469 '/\(re\)/{s//\1/;...<NEWLINE>}', and POSIX appears to requires this, 9470 busybox's sed does not support it. So duplicate the regexp: 9471 '/\(re\)/{s/\(re\)/\1/;...<NEWLINE>}'. Reported by Vincent Lefevre: 9472 <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13013>. 9473 94742008-03-21 Jim Meyering <meyering@redhat.com> 9475 9476 * src/c99-to-c89.diff: Adjust seq.c offsets. 9477 9478 ptx: avoid heap overrun for backslash at end of optarg string 9479 * src/ptx.c (copy_unescaped_string): Ignore a lone backslash 9480 at end of string. Reported by Cristian Cadar, Daniel Dunbar 9481 and Dawson Engler. Details here: 9482 <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13005>. 9483 * tests/misc/Makefile.am (TESTS): Add ptx-overrun. 9484 * tests/misc/ptx-overrun: New file. Test for the above fix. 9485 * NEWS: Mention the fix. 9486 9487 ptx.c readability 9488 * src/ptx.c (copy_unescaped_string): Add braces around 80+-line 9489 single-stmt while-loop body. 9490 9491 Write NEWS and update c99-to-c89 patch for today's rm improvement. 9492 * NEWS: call this a "portability improvement" ;-) 9493 * src/c99-to-c89.diff: Adjust remove.c offsets. 9494 94952008-03-21 Ingo Weinhold <ingo_weinhold@gmx.de> 9496 9497 remove.c: Accommodate systems with negative errno values. 9498 * src/remove.c (cache_fstatat): Store errno value directly in 9499 the st_ino field, rather than trying to shoehorn it into st_size. 9500 This is required at least on BeOS and Haiku. 9501 95022008-03-21 Jim Meyering <meyering@redhat.com> 9503 9504 * src/seq.c (long_double_format): Add a comment. 9505 9506 * GNUmakefile: Update from gnulib. 9507 95082008-03-20 Jim Meyering <meyering@redhat.com> 9509 9510 Remove today's automake kludge, altogether. Fix properly. 9511 * man/Makefile.am: Use dist_man1_MANS instead of dist_man_MANS. 9512 Suggestion from Ralf Wildenhues. 9513 9514 Add a check to detect this problem, in case it reappears. 9515 * maint.mk (my-distcheck): Run "make install", and then ensure 9516 that ls.1 is installed. 9517 9518 Kludge to make automake generate install-man rules 9519 * man/Makefile.am (dist_man_MANS): Add a literal, rm.1. 9520 Without this, "make install" would not install man pages. 9521 However, with this kludge, the rm.1 man page is installed 9522 even when you configure with --enable-no-install-program=rm. 9523 9524 Revert recent man/Makefile.am change. 9525 Revert 4b544e447eb78fd1f031a026a499f6aed177808a. 9526 * man/Makefile.am: That change was only a band-aid. It solved 9527 the stated problem, but not a deeper one: that "make install" 9528 would no longer man pages. Reported by Dmitry V. Levin. 9529 The latter problem arose in 9530 167b8025aca487de001da2448c1aebc2747bc1d3 with the removal of 9531 the sole literal from the definition of dist_man_MANS. When 9532 automake perceives dist_man_MANS as empty, it no longer emits 9533 the install-man* rules. 9534 95352008-03-20 Eric Blake <ebb9@byu.net> 9536 9537 Sync GNUmakefile with gnulib. 9538 * GNUmakefile (Makefile.cfg): Rename... 9539 (cfg.mk): ...to this, and make optional. 9540 (GNUmakefile.cfg): Delete, redundant with cfg.mk. 9541 (Makefile.maint): Rename... 9542 (maint.mk): ...to this. 9543 (all) [!_have-Makefile]: Rename... 9544 (abort-due-to-no-makefile): ...to this, and invoke via 9545 .DEFAULT_GOAL to pick up all targets. 9546 * Makefile.cfg: Rename... 9547 * cfg.mk: ...to this. 9548 * Makefile.maint: Rename... 9549 * maint.mk ...to this. 9550 (ME): Reflect rename. 9551 (makefile-check, m4-check, author_mark_check, msg): Use $(ME) 9552 rather than hard-coded name. 9553 * Makefile.am (EXTRA_DIST): Distribute renamed files. 9554 * .x-sc_file_system: Remove Makefile.maint along with others. No longer needed. 9555 * .x-sc_obsolete_symbols: Likewise. 9556 * .x-sc_prohibit_atoi_atof: Reflect renaming and remove no-longer-VC'd names. 9557 * TODO: Likewise. 9558 95592008-03-19 Bob Proulx <bob@proulx.com> 9560 9561 make check: Remove /tmp/ls-creating debug code. 9562 * tests/misc/ls-misc: Remove debug code creating /tmp/ls. 9563 95642008-03-19 Jim Meyering <meyering@redhat.com> 9565 9566 bootstrap: restore kludge removed on 2008-03-12: it's still necessary. 9567 * bootstrap: Make the gnulib-tests/test-*.sh scripts executable. 9568 This restores code removed by dec8bb25bb6da2fe9fe6dd63c0fbbd593a0e94cb. 9569 Reported by Bob Proulx. 9570 9571 Check for -- and remove -- some unnecessarily included header files. 9572 * Makefile.maint: Add checks for a handful of additional header files. 9573 * src/mktemp.c: Don't include "long-options.h". Not used. 9574 * src/pr.c: Don't include "inttostr.h". Not used. 9575 * src/printenv.c: Don't include "error.h". Not used. 9576 * src/test.c: Don't include "error.h". Not used. 9577 * src/touch.c: Don't include "safe-read.h". Not used. 9578 9579 Remove more vestiges of CVS. 9580 * Makefile.maint (VC_LIST): Rename from CVS_LIST. 9581 (VC_LIST_EXCEPT): Rename from CVS_LIST_EXCEPT. 9582 9583 mv: never unlink a destination file before calling rename 9584 While cp --preserve=links must unlink certain destination files, 9585 mv must never do that. 9586 * src/copy.c (copy_internal): Pull the '! x->move_mode' test "up", 9587 so it affects the entire condition, and not just DEREF_NEVER mode. 9588 Reported by James Ralston in <http://bugzilla.redhat.com/438076>. 9589 * tests/mv/atomic2: New file. Test for the above fix. 9590 * tests/mv/Makefile.am (TESTS): Add atomic2. 9591 * NEWS: Mention the bug-fix. 9592 [Bug introduced in 367719ba5f1dbd5e2f7fa2466c441f23f66a7c9e] 9593 9594 "make" would not always update man/*.1 files (but "make dist" would) 9595 * man/Makefile.am (BUILT_SOURCES): Define, so that "make" always 9596 updates man/*.1 files. Reported by Bob Proulx. 9597 95982008-03-18 Jim Meyering <meyering@redhat.com> 9599 9600 syntax-check: Make the space-before-open-paren optional. 9601 * Makefile.maint (sc_prohibit_assert_without_use): Match also 9602 when there is no space before the opening parenthesis. 9603 (sc_prohibit_getopt_without_use): Likewise. 9604 (sc_prohibit_quotearg_without_use): Likewise. 9605 (sc_prohibit_quote_without_use): Likewise. 9606 9607 * Makefile.maint (sc_no_have_config_h): Use a more precise regexp. 9608 9609 * Makefile.maint (CVS): Remove now-unused definition. 9610 9611 Factor out duplication in sc_prohibit_*_without_use rules. 9612 * Makefile.maint (_header_without_use): New "command", 9613 factored out of four sc_prohibit_HEADER_without_use rules. 9614 (sc_prohibit_assert_without_use): Rewrite using $(_header_without_use). 9615 (sc_prohibit_getopt_without_use): Likewise. 9616 (sc_prohibit_quotearg_without_use): Likewise. 9617 (sc_prohibit_quote_without_use): Likewise. 9618 96192008-03-18 Dmitry V. Levin <ldv@altlinux.org> 9620 9621 Correct typo in "make syntax-check" diagnostic. 9622 * Makefile.maint (sc_prohibit_getopt_without_use): s/assert.h/getopt.h/ 9623 96242008-03-16 Jim Meyering <meyering@redhat.com> 9625 9626 Prohibit inclusion of getopt.h without use. 9627 * Makefile.maint (sc_prohibit_getopt_without_use): New rule. 9628 9629 Include <getopt.h> only if used. 9630 * src/group-list.c: Don't include <getopt.h>. 9631 * src/printf.c: Likewise. 9632 96332008-03-16 J. Scott Edwards <qrw.software@gmail.com> 9634 9635 sha512_process_bytes: fix a bug in processing a buffer where length&64 != 0 9636 * gl/lib/sha512.c (sha512_process_bytes): s/63/127/. 9637 96382008-03-12 Jim Meyering <meyering@redhat.com> 9639 9640 Generalize GNUmakefile, ... 9641 ...so that it can be used unmodified by autoconf. 9642 * GNUmakefile: Include optional file, GNUmakefile.cfg. 9643 Autoconf will use this to override _autoreconf and to export PATH. 9644 (_autoreconf): Define. 9645 (_dummy): cd to $(srcdir) before removing autom4te.cache. 9646 9647 * bootstrap: Sync from gnulib and remove part of a local kludge. 9648 96492008-03-10 Ondřej Vašík <ovasik@redhat.com> 9650 9651 install, rmdir: write --verbose output to stdout, not to stderr. 9652 * src/install.c (announce_mkdir): Write verbose output to stdout, 9653 not to stderr. 9654 * src/mkdir.c (announce mkdir): Use prog_fprintf for verbose output. 9655 * src/prog-fprintf.c (prog_fprintf): New function and file. 9656 * src/prog-fprintf.h: New file. 9657 * src/rmdir.c (main): Write verbose output to stdout, not to stderr. 9658 Quote directory name in a diagnostic. 9659 * src/rmdir.c (remove_parents): Write verbose output to stdout, 9660 not to stderr. 9661 * doc/coreutils.texi: Mention that shred verbose output is to stderr. 9662 * NEWS: Mention the changes. 9663 96642008-03-10 Jim Meyering <meyering@redhat.com> 9665 9666 make syntax-check: also check src/*.h files for extern functions, 9667 * src/Makefile.am (sc_tight_scope): ... now that there is one. 9668 96692008-03-07 Jim Meyering <meyering@redhat.com> 9670 9671 dd: avoid unnecessary, but harmless close_stdout call. 9672 * src/dd.c (close_stdout_required): New global. 9673 (maybe_close_stdout): New function. 9674 (main): Set the global. 9675 Reported by Ulrich Drepper in http://bugzilla.redhat.com/436368 9676 96772008-03-06 Jim Meyering <meyering@redhat.com> 9678 9679 Now that ChangeLog is no longer under version control, ... 9680 * Makefile.maint (alpha beta major): Don't make changelog-check. 9681 (changelog-version-check): Rename from changelog-check. 9682 96832008-03-05 Jim Meyering <meyering@redhat.com> 9684 9685 * src/c99-to-c89.diff: Accommodate a C99-ism in id.c. 9686 96872008-03-05 ribalba <geerd.dietger.hoffmann@gmail.com> 9688 9689 Work around AFS bug: id and groups would print invalid group number. 9690 * src/id.c (main): Call print_group_list with a user name, if possible. 9691 * src/groups.c (main): Likewise. 9692 * NEWS: Mention this. 9693 For details, see 9694 http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/12852 9695 http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/12875 9696 96972008-03-05 Jim Meyering <meyering@redhat.com> 9698 9699 Now that Makefile.maint is used in VPATH builds, too... 9700 * Makefile.maint (prev_version_file): Prefix with $(srcdir)/. 9701 (syntax-check-rules): Prefix $(ME) with $(srcdir)/. 9702 9703 Avoid new "make distcheck" failure, now that VPATH has GNUmakefile. 9704 * GNUmakefile: Remove commands to create ".version". 9705 They were unnecessary, and caused creation of a newer .version 9706 file in a VPATH build, which in turn caused creation of updated 9707 man/*.1 files reflecting the newer time stamp on .version. 9708 Those *.1 files were not removed (since they're distributed), and 9709 the fact that they remained after "distclean" triggered the failure. 9710 97112008-03-04 Eric Blake <ebb9@byu.net> 9712 9713 Reinstate GNUmakefile patch, but with workaround for automake. 9714 * configure.ac (AC_CONFIG_LINKS): Use shell variable to bypass 9715 automake distclean rules. 9716 * Makefile.am (distclean-local): Clean GNUmakefile in VPATH builds, 9717 since we are bypassing automake. 9718 * GNUmakefile (_is-dist-target): 'distclean' is not a dist target. 9719 97202008-03-04 Jim Meyering <meyering@redhat.com> 9721 9722 Clarify comment and attribute preceding change: Reported by Ralf Wildenhues. 9723 9724 Comment out yesterday's VPATH-friendly addition, for now. 9725 * configure.ac: ...while we wait for a fixed version of automake. 9726 97272008-03-03 Eric Blake <ebb9@byu.net> 9728 9729 Use m4_PACKAGE_VERSION, not AC_AUTOCONF_VERSION. 9730 * configure.ac: The latter is only in post-2.61 autoconf. 9731 9732 GNUmakefile build tweaks. 9733 * GNUmakefile: When Makefile is not present, make common targets depend 9734 on "all" in order to trigger nicer error message. 9735 * configure.ac: If autoconf is new enough, link GNUmakefile into VPATH 9736 builds. 9737 For more details, see 9738 <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/12853>. 9739 97402008-03-03 Simon Josefsson <simon@josefsson.org> 9741 9742 Define SHA*_DIGEST_SIZE symbols. 9743 * gl/lib/sha256.h (SHA224_DIGEST_SIZE, SHA256_DIGEST_SIZE): Define. 9744 * gl/lib/sha512.h (SHA384_DIGEST_SIZE, SHA512_DIGEST_SIZE): Define. 9745 97462008-03-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 9747 9748 Fix so that out-of-tree VPATH "make dist" works, too. 9749 * GNUmakefile: Add $(srcdir)/ prefix to git-version-gen and argument. 9750 97512008-03-02 Jim Meyering <meyering@redhat.com> 9752 9753 One more for non-srcdir "make dist". 9754 * GNUmakefile: Also cd $(srcdir) before running autoreconf. 9755 9756 Adjust so that non-srcdir "make dist" works, too. 9757 * GNUmakefile: Add $(srcdir)/ prefix to git-version-gen and argument. 9758 9759 Don't infringe namespace of "sub"-Makefiles. 9760 * GNUmakefile (_dummy, _have-Makefile): Add "_" prefix. 9761 9762 Create sha256 and sha512 modules and move files into gl/. 9763 * bootstrap.conf (gnulib_modules): Add sha256 and sha512. 9764 * m4/prereq.m4: Don't require gl_SHA256 or gl_SHA512. 9765 * gl/modules/sha512: New file. 9766 * gl/modules/sha256: New file. 9767 * m4/sha256.m4: Move to ... 9768 * gl/m4/sha256.m4: ...here, removing use of AC_SOURCES. 9769 * m4/sha512.m4: Move to ... 9770 * gl/m4/sha512.m4: ...here, removing use of AC_SOURCES. 9771 * lib/sha256.c, lib/sha256.h: Move to ... 9772 * gl/lib/sha256.c, gl/lib/sha256.h: ...here. 9773 * lib/sha512.c, lib/sha512.h: Move to ... 9774 * gl/lib/sha512.c, gl/lib/sha512.h: ...here. 9775 * lib/u64.h: Move to ... 9776 * gl/lib/u64.h: ...here. 9777 9778 * bootstrap: Remove only *.m4, and only from $m4_base/. Rewrite the comment. 9779 9780 * bootstrap: Sync from gnulib. 9781 97822008-03-01 Jim Meyering <meyering@redhat.com> 9783 9784 Don't skip the groups-version test. 9785 * tests/Makefile.am (built_programs): Remove unused definition. 9786 * src/Makefile.am (built_programs.list): Print a space-separated 9787 list of program names, not NL-separated, since all clients now 9788 expect a space-separated list. 9789 9790 Don't exempt "groups" from write-failure test, now that it's a C program. 9791 * tests/misc/help-version: Since groups is no longer a shell 9792 script, a buggy bourne shell can't cause trouble. 9793 9794 * configure.ac (AC_INIT): Use .tarball-version, not .version. 9795 9796 Don't depend on gnulib's deprecated "free" module. 9797 * bootstrap.conf (obsolete_gnulib_modules): Remove free. 9798 * gl/modules/mgetgroups (Depends-on): Remove free. 9799 98002008-02-29 Jim Meyering <meyering@redhat.com> 9801 9802 Merge bootstrap changes from gnulib. 9803 * bootstrap (MSGID_BUGS_ADDRESS): Define and use. 9804 (version_controlled_file): Use "git rm", not "git-rm". 9805 9806 Use "git tag", not "git-tag", in preparation for git-1.6.0. 9807 * Makefile.maint (VC-tag): Remove '-': s/git-tag/git tag/ 9808 98092008-02-28 Jim Meyering <meyering@redhat.com> 9810 9811 Make copyright comments consistent. 9812 * src/mktemp.c: Update copyright to use newer form. 9813 9814 Make first copyright lines consistent. Some did not end in ", Inc.". 9815 Due to that missing ", Inc" at end of line, emacs' copyright-updating 9816 code missed some opportunities. This corrects most of those, and 9817 adds some mistakenly omitted years. 9818 * src/chown-core.c: Adjust. 9819 * src/chown-core.h: Likewise. 9820 * src/copy.c: Likewise. 9821 * src/copy.h: Likewise. 9822 * src/cp-hash.c: Likewise. 9823 * src/cp.c: Likewise. 9824 * src/group-list.h: Likewise. 9825 * src/mktemp.c: Likewise. 9826 * src/stat.c: Likewise. 9827 * tests/chmod/equal-x: Likewise. 9828 * tests/dd/skip-seek: Likewise. 9829 * tests/envvar-check: Likewise. 9830 * tests/mv/into-self-2: Likewise. 9831 98322008-02-25 Bob Proulx <bob@proulx.com> 9833 9834 Fix test failure where rm would appear to succeed incorrectly. 9835 * tests/rm/fail-eperm: Ignore files that were opportunistically chosen 9836 to test permission failures but disappear before we can finish the test. 9837 98382008-02-24 Jim Meyering <meyering@redhat.com> 9839 9840 * gl/lib/mgetgroups.c (mgetgroups): Parenthesize correctly. 9841 9842 * gl/lib/mgetgroups.c: Include <stdlib.h>. 9843 98442008-02-23 Jim Meyering <meyering@redhat.com> 9845 9846 Avoid test failures when root (/) is not readable. 9847 * tests/test-lib.sh (require_readable_root_): New function. 9848 * tests/misc/pwd-long: Skip this test when / is unreadable. 9849 * tests/du/slash: Likewise. 9850 This is required at least for Mandrake/Mandriva in "secure" mode. 9851 Reported by Theodoros V. Kalamatianos in 9852 http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/12800 9853 98542008-02-22 Jim Meyering <meyering@redhat.com> 9855 9856 id: avoid race when a group is added between getgrouplist calls 9857 * gl/lib/mgetgroups.c (mgetgroups) [N_GROUPS_INIT]: Rename enum. 9858 Use a larger value. 9859 Update *groups only upon success. 9860 Iterate upon failed getgrouplist. 9861 98622008-02-21 James Youngman <jay@gnu.org> 9863 9864 id: use getgrouplist when possible 9865 * gl/m4/mgetgroups.m4: Check for getgrouplist. 9866 * gl/lib/mgetgroups.c (mgetgroups): Use getgrouplist, if available. 9867 * TODO: Remove the item about switching to getgrouplist. 9868 * NEWS: mention this 9869 98702008-02-21 Paul Eggert <eggert@CS.UCLA.EDU> 9871 9872 du vs. hard links and argument order: improve documentation 9873 * doc/coreutils.texi (du invocation): Document default behavior on 9874 hard links, and why argument order matters. 9875 98762008-02-20 James Youngman <jay@gnu.org> 9877 9878 join: avoid new leaks 9879 * src/join.c (prevline): Make prevline module-level static, so that 9880 the allocated items can be freed at exit. 9881 (free_prevline): new atexit function; frees items in prevline[]. 9882 Use ARRAY_CARDINALITY, so include "argmatch.h" to get that. 9883 (main): Arrange for free_prevline to be called during exit. 9884 (get_line): Free prevline[which - 1] also, as that 9885 will have been allocated by dup_line. 9886 98872008-02-20 Jim Meyering <meyering@redhat.com> 9888 9889 Remove xdelta support, clean up distcheck process. * Makefile.maint (writable-files): Don't create $(release_archive_dir). (my-distcheck): Don't depend on prev-tgz. Remove xdelta-related variables and uses. (alpha beta major): Skip steps if $(release_archive_dir) doesn't exist. 9890 9891 * bootstrap: Remove dangling symlinks before invoking aclocal. 9892 98932008-02-20 Andreas Schwab <schwab@suse.de> 9894 9895 sort: add --sort=... option. 9896 * src/sort.c (SORT_OPTION): New enum. 9897 (sort_args, sort_types): Define. 9898 (usage, long_options, main): New option --sort. 9899 * tests/sort/Test.pm: Test it. 9900 * doc/coreutils.texi (sort invocation): Document --sort option. 9901 * NEWS: Mention this. 9902 99032008-02-19 Jim Meyering <meyering@redhat.com> 9904 9905 2008-02-19 Jim Meyering <meyering@redhat.com> 9906 * TODO: Remove final seq-related item. 9907 9908 * src/c99-to-c89.diff: Adjust seq.c offsets. Accommodate a new C99-ism. 9909 99102008-02-19 Steven Schubiger <schubiger@gmail.com> 9911 9912 seq: give better diagnostics for invalid formats. 9913 * src/seq.c: (validate_format): New function. 9914 (main): Use it. 9915 * tests/misc/seq (fmt-d, fmt-e): Test for expected diagnostics with 9916 invalid formats. 9917 * NEWS: Mention this change. 9918 * TODO: Remove this item. 9919 [jm: src/seq.c: make diagnostics more consistent 9920 tests/misc/seq (fmt-eos1): adjust the expected diagnostic ] 9921 99222008-02-19 James Youngman <jay@gnu.org> 9923 9924 join: new options: --check-order and --nocheck-order. 9925 * src/join.c: Support --check-order and --nocheck-order. 9926 New variables check_input_order, seen_unpairable and 9927 issued_disorder_warning[]. For --check-order, verify that the 9928 input files are in sorted order. For the default case, check the 9929 order only if there are unpairable lines. 9930 (join): Perform ordering checks after reaching EOF on either 9931 input. 9932 (usage): Mention --check-order and --nocheck-order. 9933 (dupline): Save a copy of the previously-read input line so that 9934 we can detect disorder on the input. 9935 (get_line): Temporarily save a copy of the previous line (by 9936 calling dupline) and check relative ordering (by calling 9937 checkorder) before returning the newly-read line. 9938 (getseq, join): Tell get_line which file we are reading from. 9939 (advance_seq): New function, factoring out some of the code 9940 commonly surrounding calls to getseq. 9941 (checkorder): New function. Verifies that a pair of consecutive 9942 input lines are in sorted order. 9943 * doc/coreutils.texi (join invocation): Document the new options 9944 --check-order and --nocheck-order. 9945 * tests/join/Test.pm (tv): Added tests for --check-order and 9946 --nocheck-order. 9947 * NEWS: Mention this new feature. 9948 9949 Fix non-srcdir "make distcheck" failure. 9950 * Makefile.am (check-ls-dircolors): Look for sources under 9951 $(srcdir), not under ".". 9952 99532008-02-18 Jim Meyering <meyering@redhat.com> 9954 9955 seq: give a proper diagnostic for an invalid --format=% option 9956 * src/seq.c (long_double_format): Handle '%' at end of string. 9957 * tests/misc/seq [fmt-eos1, fmt-eos2]: New tests for the bug. 9958 * NEWS: Mention this. 9959 Reported by Pádraig Brady. 9960 99612008-02-17 Jim Meyering <meyering@redhat.com> 9962 9963 .gitignore, src/.gitignore: ignore more 9964 9965 Clean up Makefile.maint. 9966 * Makefile.maint: Remove obsolete comments. 9967 (local-checks-available): Remove changelog-check. 9968 9969 Clean up ls.c. 9970 * src/ls.c (put_indicator): Use fwrite, not a loop. 9971 9972 Ensure that dircolors.c and ls.c remain in sync. 9973 * Makefile.am (check-ls-dircolors): New rule. 9974 (distcheck-hook): Depend on it. 9975 9976 Expand "ls --color" tests to also use the dircolors defaults. 9977 * tests/misc/ls-misc: Adjust this test so each is run twice. First, as usual, 9978 and the second time with LS_COLORS set using the default settings 9979 produced by running dircolors. 9980 * tests/Coreutils.pm: See below. 9981 9982 This required some changes: 9983 - save and restore $ENV{LS_COLORS} for each individual test 9984 that requires a specific value. 9985 - Since this is the first test to call the run_tests command more 9986 than once, it has exposed that that function erroneously modifies 9987 the \@Tests array. Fix that in tests/Coreutils.pm. 9988 9989 Adjust dircolors to match ls.c. 9990 * src/dircolors.hin: comment out NORMAL and FILE, define RESET. 9991 * src/dircolors.c (slack_codes) Add "RESET". 9992 (ls_codes): Add "rs". 9993 99942008-02-17 Ed Avis <ed@membled.com> 9995 9996 ls --color no longer outputs unnecessary escape sequences 9997 In --color mode, plain files do not get any color, not even white. 9998 When no highlighting is required, ls outputs no escape sequence at all. 9999 * src/ls.c (print_with_color): 10000 (used_color): New global. 10001 (indicator_no) [C_RESET]: New enum value. 10002 (indicator_name) ["rs"]: Corresponding new string. 10003 (color_indicator): Make the 'normal' and 'file' markers be NULL. 10004 Use "rs" (C_RESET) to reset to ordinary colors. 10005 (process_signals): Restore default colors only if necessary. 10006 (main): Don't call prep_non_filename_text here. 10007 (print_name_with_quoting): Call it here, instead. 10008 (prep_non_filename_text): Use C_RESET, not C_NORM. 10009 (print_color_indicator): Return bool, not void. 10010 Print nothing, when possible. 10011 (put_indicator): Call prep_non_filename_text the first time. 10012 * tests/misc/ls-misc: Test for above. 10013 * tests/ls/color-dtype-dir: Adapt: no escapes around regular file name. 10014 * TODO: Remove item. 10015 * NEWS: Mention this. 10016 100172008-02-17 Dan Jacobson <jidanni@jidanni.org> 10018 10019 ls: Improve description of --group-directories-first. 10020 * src/ls.c (usage) [--group-directories-first]: Improve description. 10021 * doc/coreutils.texi (Which files are listed): Likewise. 10022 100232008-02-16 Jim Meyering <meyering@redhat.com> 10024 10025 Avoid tests/cp/acl test failure. 10026 * tests/check.mk (TESTS_ENVIRONMENT) [CONFIG_HEADER]: Define 10027 to an absolute name, so it can be used from any point in the 10028 test hierarchy. Reported by James Youngman. 10029 100302008-02-16 James Youngman <jay@gnu.org> 10031 10032 Use the gettime module in ls.c. 10033 Implement TODO list item to make ls.c use the gettime module. 10034 * TODO (ls): Now that we use gettime, remove the TODO entry. 10035 * src/ls.c: Use timespec.h and the gettime module. 10036 (current_time): Change type from time_t to struct timespec. 10037 (current_time_ns): Removed. 10038 (get_current_time): Removed. 10039 (print_long_format): Remove when and when_ns, since we have 10040 when_timespec anyway. Change type of variable six_months_ago from 10041 time_t to struct timespec. 10042 100432008-02-14 Jim Meyering <meyering@redhat.com> 10044 10045 groups: don't test printf and putchar calls for failure 10046 They are unnecessary, since we use gnulib's closeout module. 10047 * src/group-list.c (print_group): Remove explicit error tests. 10048 * src/groups.c (main): Likewise. 10049 (write_error): Remove function. 10050 100512008-02-13 James Youngman <jay@gnu.org> 10052 10053 Replace groups.sh with groups.c. 10054 * src/groups.c (main): New file, replacing groups.sh. 10055 * src/group-list.c, src/group-list.h: New files, factored out of id.c, 10056 implementing the functionality that "id" and "groups" have in common. 10057 * src/id.c (print_full_info): Avoid a segfault when trying to print 10058 an error message if getgroups fails. 10059 (print_group_list): Move to group-list.c. 10060 (print_group): Likewise. 10061 * man/Makefile.am: When building groups.1, obtain the help text 10062 from src/groups.c, not src/groups.sh. 10063 (noinst_HEADERS): Add group-list.h. 10064 (group): Remove rule. 10065 (dist_man_MANS): Remove groups.1. 10066 * doc/coreutils.texi (groups: Print group names a user is in): 10067 Explain why "groups" and "groups $(id -un)" give different results 10068 in existing login sessions after you change the group database. 10069 (id: Print user identity): Likewise for "id". 10070 * po/POTFILES.in: Add src/group-list.c and src/groups.c. 10071 * NEWS: mention this. 10072 * AUTHORS: Update. 10073 100742008-02-12 Jim Meyering <meyering@redhat.com> 10075 10076 Move more test_skip_-using code to follow ". test-lib.sh". 10077 * tests/mv/acl: Likewise. 10078 * tests/cp/acl: Likewise. 10079 100802008-02-12 Peter Fales <psfales@alcatel-lucent.com> 10081 10082 tests/touch/not-owner: Source test-lib.sh before using skip_test_. 10083 100842008-02-12 Jim Meyering <meyering@redhat.com> 10085 10086 * tests/Makefile.am (EXTRA_DIST): Remove strace. 10087 100882008-02-11 Jim Meyering <meyering@redhat.com> 10089 10090 tests: Migrate sourced strace file into a function, require_strace_. 10091 * tests/strace: Remove file. 10092 * tests/test-lib.sh (require_strace_): New function. 10093 * tests/mv/atomic: Use require_strace_, rather than ". strace". 10094 * tests/ls/stat-free-symlinks: Likewise. 10095 Peter Fales reported that stat-free-symlinks failed without strace. 10096 10097 * tests/rm/inaccessible: Source test-lib.sh *before* using skip_test_. 10098 Reported by Peter Fales. 10099 101002008-02-10 Jim Meyering <meyering@redhat.com> 10101 10102 Ensure there are no removable (useless) if-before-free tests. 10103 * bootstrap.conf (gnulib_modules): Add useless-if-before-free. 10104 * Makefile.maint (sc_avoid_if_before_free): New rule. 10105 10106 Use a better dirname emulation. 10107 * build-aux/check.mk (_dirname): Define. 10108 (am__check_pre): Use it. 10109 10110 Avoid test failure when run with risky PATH ("." before /usr/bin). 10111 * build-aux/check.mk (approx_dirname_filter): Define. 10112 (am__check_pre): Emulate dirname using sed. 10113 Report and suggested fix from Bruno Haible in 10114 http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/12587/focus=12590 10115 10116 * build-aux/.gitignore: Remove file from version control. It's generated. 10117 10118 Generate ChangeLog from git log. 10119 * bootstrap.conf (gnulib_modules): Add gitlog-to-changelog. 10120 Ensure that ChangeLog exists, for automake. 10121 * Makefile.am (gen-ChangeLog): New rule. 10122 (dist-hook): Depend on it. 10123 (EXTRA_DIST): Add ChangeLog-2006, ChangeLog-2007, ChangeLog-2008. 10124 10125 Remove ChangeLog, dividing its content into ChangeLog-200? 10126 * ChangeLog: Remove file. 10127 * ChangeLog-2005: Prepend the 2005 entries. 10128 * ChangeLog-2006: New file. 10129 * ChangeLog-2007: New file. 10130 * ChangeLog-2008: New file. 10131 10132 * ChangeLog: Manually update copyright notice at *bottom*. 10133 101342008-02-09 Jim Meyering <meyering@redhat.com> 10135 10136 tests: rm/fail-eperm: require-non-root in perl, not sh 10137 Since it creates no temporaries and since it requires non-root, 10138 do the require-non-root bit in perl, rather than using test-lib.sh. 10139 10140 tests: Remove priv-check. Use new require_root_ function instead. 10141 * tests/priv-check: Remove file. 10142 * tests/Makefile.am (EXTRA_DIST): Remove priv-check. 10143 * tests/test-lib.sh (require_root_): New function. 10144 Use this function rather than sourcing the priv-check file. 10145 * tests/sample-test: Use require_root_ rather than priv-check. 10146 * tests/chown/basic: Likewise. 10147 * tests/cp/cp-a-selinux: Likewise. 10148 * tests/cp/preserve-gid: Likewise. 10149 * tests/cp/special-bits: Likewise. 10150 * tests/ls/nameless-uid: Likewise. 10151 * tests/misc/chcon: Likewise. 10152 * tests/mkdir/writable-under-readonly: Likewise. 10153 * tests/mv/sticky-to-xpart: Likewise. 10154 * tests/rm/fail-2eperm: Likewise. 10155 * tests/rm/no-give-up: Likewise. 10156 * tests/rm/one-file-system: Likewise. 10157 * tests/tail-2/append-only: Likewise. 10158 * tests/touch/now-owned-by-other: Likewise. 10159 * tests/rm/fail-eperm: Use skip_if_root_ rather than priv-check. 10160 * Makefile.maint (sc_root_tests): Reflect this change: 10161 search for the new function name. 10162 10163 tests: factor out the perl-requiring code in many test scripts 10164 * tests/require-perl: New file. 10165 * tests/Makefile.am (EXTRA_DIST): Add require-perl. 10166 * tests/dd/skip-seek: Use it, and remove manual tests. 10167 * tests/du/files0-from: Likewise. 10168 * tests/ls/nameless-uid: Likewise. 10169 * tests/misc/base64: Likewise. 10170 * tests/misc/basename: Likewise. 10171 * tests/misc/cut: Likewise. 10172 * tests/misc/date: Likewise. 10173 * tests/misc/dircolors: Likewise. 10174 * tests/misc/dirname: Likewise. 10175 * tests/misc/expand: Likewise. 10176 * tests/misc/expr: Likewise. 10177 * tests/misc/factor: Likewise. 10178 * tests/misc/fmt: Likewise. 10179 * tests/misc/fold: Likewise. 10180 * tests/misc/head-elide-tail: Likewise. 10181 * tests/misc/ls-misc: Likewise. 10182 * tests/misc/md5sum: Likewise. 10183 * tests/misc/md5sum-newline: Likewise. 10184 * tests/misc/mktemp: Likewise. 10185 * tests/misc/od: Likewise. 10186 * tests/misc/paste-no-nl: Likewise. 10187 * tests/misc/pr: Likewise. 10188 * tests/misc/pwd-long: Likewise. 10189 * tests/misc/seq: Likewise. 10190 * tests/misc/sha1sum: Likewise. 10191 * tests/misc/sha1sum-vec: Likewise. 10192 * tests/misc/sha224sum: Likewise. 10193 * tests/misc/sha256sum: Likewise. 10194 * tests/misc/sha384sum: Likewise. 10195 * tests/misc/sha512sum: Likewise. 10196 * tests/misc/sort-merge: Likewise. 10197 * tests/misc/stat-printf: Likewise. 10198 * tests/misc/sum: Likewise. 10199 * tests/misc/sum-sysv: Likewise. 10200 * tests/misc/test-diag: Likewise. 10201 * tests/misc/tsort: Likewise. 10202 * tests/misc/tty-eof: Likewise. 10203 * tests/misc/unexpand: Likewise. 10204 * tests/misc/wc-files0-from: Likewise. 10205 * tests/misc/xstrtol: Likewise. 10206 * tests/mv/i-1: Likewise. 10207 * tests/rm/empty-name: Likewise. 10208 * tests/rm/fail-eperm: Likewise. 10209 * tests/rm/unreadable: Likewise. 10210 10211 (EXTRA_DIST): *do* require require-perl as a stand-alone, 'source'able script. 10212 10213 tests: call skip_test_ in place of echo+exit 77 10214 * tests/mv/no-target-dir: Likewise. 10215 * tests/other-fs-tmpdir: Likewise. 10216 * tests/rm/empty-name: Likewise. 10217 * tests/rm/fail-eperm: Likewise. 10218 * tests/rm/inaccessible: Likewise. 10219 * tests/rm/isatty: Likewise. 10220 * tests/rm/unreadable: Likewise. 10221 * tests/setgid-check: Likewise. 10222 * tests/sparse-file: Likewise. 10223 * tests/strace: Likewise. 10224 * tests/tail-2/append-only: Likewise. 10225 * tests/tail-2/big-4gb: Likewise. 10226 * tests/tail-2/tail-n0f: Likewise. 10227 * tests/touch/dangling-symlink: Likewise. 10228 * tests/touch/fifo: Likewise. 10229 * tests/touch/not-owner: Likewise. 10230 * tests/mv/i-3: Likewise. 10231 * tests/umask-check: Likewise. 10232 * tests/mv/acl: Likewise. 10233 * tests/cp/acl: Likewise. 10234 * tests/chgrp/deref: Likewise. 10235 * tests/chmod/setgid: Likewise. 10236 * tests/cp/existing-perm-race: Likewise. 10237 * tests/cp/file-perm-race: Likewise. 10238 * tests/cp/parent-perm-race: Likewise. 10239 * tests/du/2g: Likewise. 10240 * tests/du/8gb: Likewise. 10241 * tests/du/long-from-unreadable: Likewise. 10242 * tests/du/long-sloop: Likewise. 10243 * tests/du/slink: Likewise. 10244 * tests/ls/nameless-uid: Likewise. 10245 * tests/ls/stat-dtype: Likewise. 10246 * tests/misc/cat-proc: Likewise. 10247 * tests/misc/md5sum-newline: Likewise. 10248 * tests/misc/nice: Likewise. 10249 * tests/misc/od-x8: Likewise. 10250 * tests/misc/pwd-unreadable-parent: Likewise. 10251 * tests/misc/selinux: Likewise. 10252 * tests/misc/stty-row-col: Likewise. 10253 * tests/misc/tac-continue: Likewise. 10254 * tests/misc/arch: Likewise, and source $srcdir/../test-lib.sh *before* 10255 the use of skip_test_. 10256 10257 tests: move the very-expensive file into test-lib.sh 10258 * tests/very-expensive: Remove file. 10259 * tests/test-lib.sh (very_expensive_): New function. 10260 * tests/Makefile.am (EXTRA_DIST): Remove very-expensive. 10261 * tests/cp/perm: Call the new function, rather than sourcing the file. 10262 * tests/tail-2/assert: Likewise. 10263 * tests/tail-2/assert-2: Likewise. 10264 * tests/du/2g: Likewise. 10265 10266 tests: start migrating sourced-file function-like tests into test-lib.sh. 10267 * tests/acl: Remove file. 10268 * tests/test-lib.sh (require_acl_): New function. 10269 * tests/cp/acl: Use require_acl_ instead. 10270 * tests/mv/acl: Likewise. 10271 * tests/Makefile.am (EXTRA_DIST): Remove acl. 10272 10273 tests: mv/acl: Don't mention "yes" as a partition name in diagnostic. 10274