summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2008-09-27rm -r: avoid O(n^2) performance for a directory with very many entriesJim Meyering
This enhancement works around a problem that is specific to at least ext3 and ext4 file systems. With them, it would take hours to remove a two-million-entry directory. RAM-backed file systems (tmpfs) are not affected, since there is no seek penalty. * remove.c (rm_malloc, rm_free, compare_ino): New functions. (dirent_count, preprocess_dir): New function. [struct readdir_data]: New struct. (remove_cwd_entries): Call preprocess_dir. * tests/rm/ext3-perf: New file. Test for the performance fix. * NEWS: mention the new feature
2008-09-27remove.c: don't use xmalloc; don't let obstack call exit on failureJim Meyering
(obstack_chunk_alloc, obstack_chunk_free): Don't define. (top_dir): Param is no longer "const". Use malloc, not xmalloc, and call longjmp upon failed malloc. (obstack_init_minimal): New function. (ds_init): Don't use xmalloc. Instead, use caller-supplied buffer. Use obstack_specify_allocation_with_arg, not obstack_init, so that we control what happens upon allocation failure. Arrange for ds_free not to free uninitialized if/when any obstack_specify_allocation_with_arg allocation fails. (ds_free): Don't free DS, now that it's no longer malloc'd. (rm): Allocate DS on the stack. Arrange to handle ds_init allocation failure. step1
2008-09-27* maint.mk (my-distcheck): remove duplicate c99-related test codeJim Meyering
2008-09-27maint: allow more C99 constructs; stop maintaining c99-to-c89 patch setJim Meyering
* cfg.mk (local-checks-to-skip): Add patch-check. With the recent changes to remove.c, I no longer wish to maintain the c99-to-c89 patch set.
2008-09-26seq -0.1 0.1 2: print final number when locale's decimal point is ","Jim Meyering
* src/seq.c (print_numbers): Use strtold, not c_strtold to convert from just-formatted-using-asprintf string back to double, since asprintf may have used something other than "." as the decimal point. Reported by lsof@nodata.co.uk as <http://bugzilla.redhat.com/463556>. Thanks to Ondřej Vašík for discovering that the bug was locale-related. $ LC_ALL=cs_CZ.UTF-8 seq -0.1 0.1 2|grep 2.0 [Exit 1] $ seq -0.1 0.1 2|grep 2.0 2.0 * tests/check.mk (TESTS_ENVIRONMENT): Add LOCALE_FR_UTF8, for... * tests/misc/seq [locale-dec-pt]: New test for the above. * NEWS (bug fix): Mention it.
2008-09-26maint: relax a check so "make distcheck" succeeds againJim Meyering
* maint.mk (makefile-check): Relax the check, in order to exempt the necessary use of a sole @...@-delimited Makefile.am variable.
2008-09-24maint: avoid using find -name Makefile.am; could get false positivesJim Meyering
* maint.mk (makefile-check): Instead, search for the offending @...@ construct only in version-controlled files.
2008-09-24pinky: gettextize two missed stringsBenno Schulenberg
Additionally differentiate the strings for unknown idle time and unknown real name so they can be translated differently.
2008-09-24cp.c: adjust a comment to make it consistent with documentationJim Meyering
'-a' is equivalent to -dpR, so s/-dpPR/-dpR/; the -P is redundant, since -d already implies -P, and both --help and "info cp" say -dpR: Corresponding doc changes: 080ac7785071c7f135711a39e57c71d9057d9bd7 b7c2db676635518c06add0dd570543ae83e21f2e.
2008-09-22fix installation with ./ginstall in srcRalf Wildenhues
* src/Makefile.am (cu_install_program): New variable, set to either ./ginstall or @INSTALL_PROGRAM@ (for cross compilation). (INSTALL_PROGRAM): Override AC_SUBST unconditionally, to avoid warning, and wrong initialization order.
2008-09-22doc: alphabetize 'who's option descriptionsBenno Schulenberg
* doc/coreutils.texi (who invocation): Alphabetize.
2008-09-19who --help: add a general descriptionBenno Schulenberg
2008-09-19uptime --help: put together message parts that belong togetherBenno Schulenberg
2008-09-19tr --help: gettextize a single paragraph as a single stringBenno Schulenberg
Breaking a paragraph into several strings is awkward for translators.
2008-09-19tail: gettextize the string, "standard input"Benno Schulenberg
2008-09-19tail --help: move the --retry entry into alphabetical orderBenno Schulenberg
* src/tail.c (usage): Also simplify --retry description, split a long string in two, remove a stray period, and add the usual indent.
2008-09-19shred --help: lowercase a stray capitalBenno Schulenberg
2008-09-19stty --help: correct the alignment of an entryBenno Schulenberg
* src/stty.c (usage): Also remove a stray period, and ungettextize a debugging message.
2008-09-19sort --help: sort the options better alphabeticallyBenno Schulenberg
Take the opportunity to split the long message into three parts.
2008-09-19rmdir --help: use lower case in option description; adjust indentationBenno Schulenberg
2008-09-19remove.c: move comment to right before string, so gettext will pick it upBenno Schulenberg
2008-09-19pr --help: elide arguments after short options that allow a spaceBenno Schulenberg
* src/pr.c (usage): Also, put the -S option with its description.
2008-09-19od: ungettextize debugging messagesBenno Schulenberg
2008-09-19nohup, remove, tr: also gettextize the alternative messagesBenno Schulenberg
2008-09-19od --help: avoid concatening two messages without a newlineBenno Schulenberg
src/od.c (usage): Better: make them into two separate paragraphs.
2008-09-19mkfifo, mknod --help: put -Z option in its alphabetical positionBenno Schulenberg
Options are normally sorted by their short form, not their long form. Also line up their descriptions.
2008-09-19doc: coreutils.texi (csplit invocation): Add an example.Jim Meyering
2008-09-14various VPATH-related fixesRalf Wildenhues
* maint.mk (VC_LIST): Prepend '$(srcdir)/'. (patch-check): Fix to make it work with a VPATH build. * src/Makefile.am (sc_tight_scope): Likewise. * man/Makefile.am (.x.1): Do not make outputs unwritable.
2008-09-14stat: remove obsolete and undocumented option, --filesystemJim Meyering
* src/stat.c: Remove obsolete and undocumented --filesystem.
2008-09-13tests: reenable disabled test, now that automake can handle itJim Meyering
This reverts the change in ae1c205fc473589d028ef63785926263843555cd.
2008-09-11tests: temporarily disable part of "make distcheck"Jim Meyering
* maint.mk (install-transform-check): Temporarily disable.
2008-09-11tweak wording and check to avoid failureJim Meyering
* doc/coreutils.texi (printf invocation): Tweak wording. * doc/Makefile.am (check-texinfo): Allow "search path".
2008-09-10doc: mention which commands may be built-in functionsJim Meyering
* doc/coreutils.texi (mayConflictWithShellBuiltIn): New macro. (mknod invocation, stat invocation, echo invocation) (printf invocation, test invocation, pwd invocation) (nice invocation, kill invocation, sleep invocation): Use it. (printf invocation): Invoke via "env" rather than using a literal /usr/local/bin/ prefix in examples.
2008-09-10simplify installation rules, using new AutomakeRalf Wildenhues
This relies on development Automake to provide multi-file installation, and avoids relying on undocumented Automake interfaces. It also removes special-casing for `['. * configure.ac (AM_INIT_AUTOMAKE): Depend on 1.10a. (CROSS_COMPILING): New Automake conditional. * src/Makefile.am (install-exec-am, filtered_PROGS) (d_bindir, cu-install-binPROGRAMS): Remove. (INSTALL_PROGRAM) [!CROSS_COMPILING]: Set to `./ginstall'.
2008-09-10fix minor shell issues in test suiteRalf Wildenhues
* tests/misc/help-version: Fix bad quoting. * tests/cp/same-file: Fix unportable shell quoting. * tests/mv/part-symlink: Likewise.
2008-09-10tests: don't use "local" in bourne shell scriptsJim Meyering
* tests/test-lib.sh (remove_tmp_, skip_if_mcstransd_is_running_): Avoid failure on Solaris 11, since their /bin/sh passes the tests in posix-shell.m4, yet does not support "local" (which is not POSIX).
2008-09-10tests: use "Exit $fail", not (exit $fail); exit $failJim Meyering
* tests/test-lib.sh (Exit): New function by Ralf Wildenhues in automake http://git.sv.gnu.org/gitweb/?p=automake.git;a=commitdiff;h=20594c08f63 * tests/**: Convert all uses: This restrictive change converted the vast majority: git grep -l '^(exit \$fail); exit \$fail$' \ | xargs perl -pi -e 's/'^\(exit \$fail\); exit \$fail$/Exit \$fail/' And this did the rest, plus a few undesirable ones, so I manually backed out the changes to ChangeLog-* and build-aux/check.mk: git grep -l -E '\(exit [^)]+\); exit ' \ | xargs perl -pi -e 's/\(exit (.+?)\); exit \1/Exit $1/'
2008-09-08tests: move input-tty into a test-lib.sh functionJim Meyering
* tests/test-lib.sh (require_controlling_input_terminal_): New function, from * tests/input-tty: ...here. Remove file. * tests/Makefile.am (EXTRA_DIST): Remove input-tty. * tests/mv/i-3: Use the function, not the file. * tests/misc/stty: Likewise. * tests/misc/stty-row-col: Likewise. * tests/misc/stty-invalid: Likewise.
2008-09-07tests: work around Solaris 11 bugJim Meyering
* tests/misc/printf-surprise: Accept bogus prefix on stderr output.
2008-09-07tests: don't let rounding-to-1KB blocks provoke a failureJim Meyering
* tests/df/total-awk: Use df's --block-size=512 option.
2008-09-07tests: don't fail due to built-in sleep from Solaris 11's /bin/shJim Meyering
* tests/misc/help-version (id_args): Invoke via env to ensure we run the just-built version of sleep.
2008-09-06install: new option: --strip-program,Kamil Dudka
...to specify the program used to strip binaries * src/install.c (main): Handle new option --strip-program. (strip): Use strip program from global variable strip_program. (usage): Mention new option --strip-program in --help. * tests/tests/strip-program: Test case for new option --strip-program. * tests/Makefile.am: Add new test case to test set. * doc/coreutils.texi: Mention new option --strip-program. * NEWS: Mention the change. * TODO: Remove completed task.
2008-09-03df: new option: --total to print grand totalsKamil Dudka
* src/df.c (add_uint_with_neg_flag): New function to add two integral values with separate negation flag. (show_dev): New parameter force_fsu to display numbers directly. Collect summary statistics on each printed device. (usage): Mention new option --total in --help. (main): Initialize summary on program start. Handle new option --total. * tests/df/total: Dummy test case for new --total option. * tests/df/total-awk: Better test case for new --total option (requires awk). * doc/coreutils.texi: Mention new parameter --total. * NEWS: Mention the change. * TODO: Removed completed task.
2008-09-03TODO: add an item for a chmod optimizationJim Meyering
2008-08-31env, groups: remove duplicate inclusion of <getopt.h>Jerry Snitselaar
* src/env.c: Remove redundant #include. * src/groups.c: Likewise. Tiny change.
2008-08-26generate version.c and version.hJim Meyering
* src/Makefile.am (version.c, version.h): New rules. Generate. (nodist_libver_a_SOURCES): Define * .gitignore: Add src/version.c and src/version.h. (DISTCLEANFILES): Add version.c and version.h.
2008-08-26use new global, "Version", rather than macro, VERSIONJim Meyering
With this change, a version-string update no longer forces recompilation of 100+ src/*.o files. * src/version.c (Version): New global. New file. * src/version.h: Declare it. * src/Makefile.am: Put it in a library that everyone links to. (noinst_LIBRARIES, libver_a_SOURCES): Define. (LDADD): Add libver.a. (sc_tight_scope): Use perl (was sed), and a more relaxed regexp to build the global-variable-name-recognizing regexp list. * src/system.h: Include "version.h". (case_GETOPT_VERSION_CHAR): Use Version rather than VERSION. * src/basename.c (main): Use Version rather than VERSION. * src/chroot.c (main): Likewise. * src/cksum.c (main): Likewise. * src/dd.c (main): Likewise. * src/dirname.c (main): Likewise. * src/echo.c (main): Likewise. * src/hostid.c (main): Likewise. * src/hostname.c (main): Likewise. * src/link.c (main): Likewise. * src/logname.c (main): Likewise. * src/nice.c (main): Likewise. * src/nohup.c (main): Likewise. * src/printenv.c (main): Likewise. * src/printf.c (main): Likewise. * src/pwd.c (main): Likewise. * src/setuidgid.c (main): Likewise. * src/sleep.c (main): Likewise. * src/sync.c (main): Likewise. * src/test.c (main): Likewise. * src/timeout.c (main): Likewise. * src/true.c (main): Likewise. * src/tsort.c (main): Likewise. * src/unlink.c (main): Likewise. * src/uptime.c (main): Likewise. * src/users.c (main): Likewise. * src/whoami.c (main): Likewise. * src/yes.c (main): Likewise.
2008-08-26bootstrap: preserve permissions of more copied filesJim Meyering
* bootstrap (cp_mark_as_generated): Preserve perms of copied files. Remove a kludge, now that this is fixed.
2008-08-23doc: clarify wc -L documentationBruno Haible
* doc/coreutils.texi (wc invocation): Explain what the -L option measures.
2008-08-20ls: adjust to gnulib changeEric Blake
* src/ls.c (includes): "strverscmp.h" no longer exists.