summaryrefslogtreecommitdiff
path: root/m4
AgeCommit message (Collapse)Author
2009-10-08maint: remove unused macros and declarationsEric Blake
* src/system.h (EDQUOT, EISDIR, ENOSYS, EOVERFLOW, F_OK, X_OK) (W_OK, R_OK): Delete; macros provided by gnulib. (includes): Gnulib guarantees both <time.h> and <sys/time.h>, in either order. (free, malloc, memchr, realloc, getenv, lseek): Delete, gnulib guarantees these declarations. * m4/check-decl.m4 (gl_CHECK_DECLS): Delete checks now done by gnulib.
2009-09-11rm: use gnulib faccessatEric Blake
* bootstrap.conf (gnulib_modules): Add faccessat. Replace strdup with strdup-posix. * m4/jm-macros.m4 (coreutils_MACROS): Revert previous change, now that gnulib does it for us. * src/remove.c (write_protected_non_symlink): Use faccessat in more situations.
2009-09-11rm: improve efficiency of rm -r (without -f) from O(N^2) to O(N)Jim Meyering
where N is the depth of the deepest hierarchy rm is processing. * src/remove.c (write_protected_non_symlink): Use faccessat to avoid O(N)-per-entry cost of calling euidaccess. * m4/jm-macros.m4 (coreutils_MACROS): Check for faccessat. * NEWS (Improvements): Mention it.
2009-09-04build: fix libcap configure flag handlingMike Frysinger
* m4/jm-macros.m4 (coreutils_MACROS): The code to handle configure-time enabling or disabling of libcap support was broken. It would treat any libcap configure option as --disable-libcap because it doesn't check $enableval at all. This change makes sure we do the sane thing: --disable-libcap -> disable and don't run any tests --enable-libcap -> run tests and fail if not found default -> run tests and warn if not found
2009-08-25global: convert indentation-TABs to spacesJim Meyering
Transformed via this shell code: t=$'\t' git ls-files \ | grep -vE '(^|/)((GNU)?[Mm]akefile|ChangeLog)|\.(am|mk)$' \ | grep -vE 'tests/pr/|help2man' \ | xargs grep -lE "^ *$t" \ | xargs perl -MText::Tabs -ni -le \ '$m=/^( *\t[ \t]*)(.*)/; print $m ? expand($1) . $2 : $_'
2009-08-04cp -pP (and e.g., -a): preserve time stamps on symlinks, tooJim Meyering
* src/copy.c (utimensat_if_possible): New function. (copy_internal): Remove variable, "preserve_metadata". Replace with "dest_is_symlink". That covers all cases but one: the one in which cp --link has created hard links to non-directories. In that case, there is no need to update attributes of the links. Use utimensat_if_possible, to preserve timestamps of symlinks. * NEWS (New features): Mention this. * tests/Makefile.am (TESTS): Add cp/preserve-slink-time. * tests/cp/preserve-slink-time: New file. * m4/jm-macros.m4 (coreutils_MACROS): Test for utimensat. Reported in http://bugzilla.redhat.com/230866
2009-08-04install runs faster again with SELinux enabledKamil Dudka
* m4/jm-macros.m4: Pull in SELinux libraries while checking for matchpathcon_init_prefix (). Emit configure warning when not found with SELinux enabled. * NEWS (Bug fixes): Mention it. The bug was introduced in coreutils-7.0 via commit 0647f3eb, 2008-06-02, "accommodate older SELinux which lacks matchpathcon_init_prefix".
2009-08-04maint: move the update-copyright rule to gnulib's maint.mkJim Meyering
* gnulib: Update submodule to get latest maint.mk. * Makefile.am (update-copyright): Remove rule; now it's in maint.mk. * m4/check-decl.m4: Update sole remaining copyright year list.
2009-07-29maint: make update-copyright work in yet another caseJim Meyering
* build-aux/update-copyright: Handle the case in which "\n#" appears between the final year number and the copyright holder name. * m4/lib-check.m4: Update copyright year list. Reported by Joel E. Denny.
2009-06-23maint: update all Copyright year lists to include 2009Jim Meyering
2009-06-15tail: use inotify if it is availableGiuseppe Scrivano
* NEWS: Document the new feature. * m4/jm-macros.m4: Check if inotify is present. * src/tail.c (tail_forever_inotify): New function. (main): Use the inotify-based function, if possible. * tests/Makefile.am: Add new tests for tail. * tests/test-lib.sh (require_proc_pid_status_, get_process_status_): New functions. * tests/tail-2/pid: New file. * tests/tail-2/wait: New file. * tests/tail-2/tail-n0f: Refactor code into the test-lib.sh require_proc_pid_status_ function.
2009-04-30stdopen: remove unused codeEric Blake
* m4/stdopen.m4: Delete now-unused file. * lib/stdopen.h: Likewise. * lib/stdopen.c: Likewise.
2009-04-04maint: clean up Makefile.am, rename remaining ChangeLog filesJim Meyering
* Makefile.am (changelog_etc, syntax_check_exceptions): Define. (EXTRA_DIST): Use. Remove names that are now automatically included: build-aux/git-version-gen, build-aux/vc-list-files. * build-aux/ChangeLog-2007: Rename from */ChangeLog. * doc/ChangeLog-2007: Likewise. * lib/ChangeLog-2007: Likewise. * m4/ChangeLog-2007: Likewise. * po/ChangeLog-2007: Likewise.
2009-02-18add missing copyright datesEric Blake
* NEWS: Add 2009 to copyright. * README: Likewise. * README-hacking: Likewise. * TODO: Likewise. * doc/Makefile.am: Likewise. * m4/prereq.m4: Likewise. * src/nl.c: Likewise. * src/seq.c: Likewise. * tests/cp/cp-i: Likewise. * tests/install/install-C: Likewise. * tests/install/install-C-root: Likewise. * tests/install/install-C-selinux: Likewise. * tests/misc/seq: Likewise. * tests/mv/mv-n: Likewise.
2009-02-02update copyright dates from recent changesJim Meyering
* src/dd.c: Add 2009 to list of copyright years. * tests/dd/seek-skip-past-file: Likewise. * tests/dd/seek-skip-past-dev: Likewise. * m4/xattr.m4: Likewise. * src/copy.h: Likewise.
2009-01-29cp/mv: add xattr supportKamil Dudka
This patch was originally written by Andreas Grünbacher, nowadays available at http://www.suse.de/~agruen/coreutils/5.91/coreutils-xattr.diff * bootstrap.conf: Add gnulib module verror. * po/POTFILES.in: Add lib/verror.c. * m4/xattr.m4: Check for libattr availability, new configure option --disable-xattr. * m4/prereq.m4: Require gl_FUNC_XATTR. * src/Makefile.am: Link cp, mv and ginstall with libattr. * src/copy.h: Add preserve_xattr and require_preserve_xattr to cp_options. * src/copy.c (copy_attr_error): New function to handle errors during xattr copying. (copy_attr_quote): New function to quote file name in error messages printed by libattr. (copy_attr_free): Empty function requested by libattr to free quoted string. (copy_attr_by_fd): New fd-oriented function to copy xattr. (copy_attr_by_name): New name-oriented function to copy xattr. (copy_reg, copy_internal): Call copy_extended_attributes function. * src/cp.c (usage): Mention new --preserve=xattr option. (decode_preserve_arg): Handle new --preserve=xattr option. * src/mv.c: Always attempt to preserve xattr. * src/install.c: Never attempt to preserve xattr. * tests/misc/xattr: New test for xattr support in cp, mv and install. * tests/Makefile.am: Add the new test to list. * doc/coreutils.texi: Mention xattr support, new --preserve=xattr option. * NEWS: Mention the change.
2009-01-21m4: don't use AC_REQUIRE([AC_C_BIGENDIAN])Jim Meyering
* m4/jm-macros.m4: Use AC_REQUIRE([gl_BIGENDIAN]) instead. This avoids a subtle problem recently documented in autoconf: http://git.sv.gnu.org/gitweb/?p=autoconf.git;a=commitdiff;h=34e2c8d5484
2009-01-01improve M4 quotingJim Meyering
* configure.ac: Add quotes. * gl/m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise. * m4/boottime.m4 (GNULIB_BOOT_TIME): Likewise. * m4/check-decl.m4 (gl_CHECK_DECLS): Likewise. * m4/gmp.m4 (cu_GMP): Likewise. * m4/jm-macros.m4 (coreutils_MACROS, gl_CHECK_ALL_HEADERS): Likewise. (gl_CHECK_ALL_TYPES): Likewise. * m4/lib-check.m4 (cu_LIB_CHECK): Likewise. * m4/stat-prog.m4 (cu_PREREQ_STAT_PROG): Likewise. FYI, I first ran this command: git ls-files | grep -E '\.(m4|ac)$' | xargs perl -pi \ -e 's/(AC_[A-Z_]+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \ -e 's/(AC_[A-Z_]+\(\[[^,]+?\], )([^,[()]+?)([,)])/$1\[$2]$3/g;' \ -e 's/(AC_[A-Z_]+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g' Then I updated serial numbers and copyright dates manually. Also, I manually added two pairs of quotes in boottime.m4.
2009-01-01maint: tighten m4 AC_ quoting checkJim Meyering
* maint.mk (sc_m4_quote_check): Renamed from m4-check. Also search for AC_DEFINE and AC_DEFINE_UNQUOTED. Also search in configure.ac. * configure.ac: Quote first argument of AC_DEFINE. * jm-macros.m4 (coreutils_MACROS): Quote the first argument to AC_DEFINE.
2008-11-30m4: avoid a warning from gcc's -Wstrict-prototypesJim Meyering
* m4/jm-macros.m4 (ARGMATCH_DIE_DECL): Use proper prototype for usage.
2008-11-11jm-macros.m4: avoid syntax issue with newer autoconfEric Blake
* jm-macros.m4 (coreutils_MACROS): Make LIB_CAP assignment persistent. Signed-off-by: Eric Blake <ebb9@byu.net>
2008-08-01ls: --color now highlights files with capabilities, tooKamil Dudka
* src/ls.c: [HAVE_CAP] Include <sys/capability.h>. (has_capability): New function for capability detection. (print_color_indicator): Colorize file with capability. * m4/jm-macro.m4: New configure option: --disable-libcap. Check for libcap usability. * src/Makefile.am (dir_LDADD, ls_LDADD, ...): Append $(LIB_CAP). * src/dircolors.c: Update color lists. * src/dircolors.hin: Mention new CAPABILITY color attribute. * tests/ls/capability: Test for ls - colorize file with capability. * tests/Makefile.am (root_tests): Add ls/capability. * NEWS: Mention the change.
2008-08-01factor arbitrarily large numbersJames Youngman
* m4/gmp.m4: New file; adds cu_GMP, which detects GNU MP. * configure.ac: Use cu_GMP. * src/Makefile.am: Link factor against libgmp if available. * src/factor.c: Use GNU MP if it is available. (emit_factor, emit_ul_factor, factor_using_division, factor_using_pollard_rho, extract_factors_multi, sort_and_print_factors, free_factors): new functions for the arbitrary-precision implementation, taken from an example in GNU MP. (factor_wheel): Renamed; was called factor. (print_factors_single): Renamed; was called print_factors. (print_factors): New function, chooses between the single- and arbitrary-precision algorithms according to availability of GNU MP and the length of the number to be factored. (usage, main): New options --bignum and --no-bignum. * coreutils.texi (factor invocation): Document new command-line options for the MP implementation and update the performance numbers to take into account the asymptotically faster algorithm. * TODO: Remove item about factoring large primes (it's done). * m4/gmp.m4: Add support for --without-gmp. * NEWS: Mention the new feature.
2008-06-15address root cause of compilation failures:Jim Meyering
The affected code wasn't even being compiled on my system, because HAVE_NL_LANGINFO was not defined. On other systems, where vasnprintf.m4 determines it needs %A or %a replacement support, it _would_ check for nl_langinfo, and expose the compilation failure. * m4/jm-macros.m4: Check for nl_langinfo, required by sort.c.
2008-06-13od: simplify long double supportEric Blake
* m4/jm-macros.m4 (gl_CHECK_ALL_TYPES): Remove obsolete check for AC_C_LONG_DOUBLE. * src/od.c (LONG_DOUBLE): Delete. (width_bytes, MAX_FP_TYPE_SIZE, decode_one_format, main): Just use 'long double' directly. (print_long_double): No longer protect by HAVE_LONG_DOUBLE.
2008-06-02accommodate older SELinux which lacks matchpathcon_init_prefixJim Meyering
* m4/jm-macros.m4: Check for matchpathcon_init_prefix. * src/install.c [!HAVE_MATCHPATHCON_INIT_PREFIX] (matchpathcon_init_prefix): Define away. * gl/lib/se-selinux.in.h (matchpathcon_init_prefix): Define. Reported by Ilya N. Golubev in <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13686>.
2008-03-02Create sha256 and sha512 modules and move files into gl/.Jim Meyering
* bootstrap.conf (gnulib_modules): Add sha256 and sha512. * m4/prereq.m4: Don't require gl_SHA256 or gl_SHA512. * gl/modules/sha512: New file. * gl/modules/sha256: New file. * m4/sha256.m4: Move to ... * gl/m4/sha256.m4: ...here, removing use of AC_SOURCES. * m4/sha512.m4: Move to ... * gl/m4/sha512.m4: ...here, removing use of AC_SOURCES. * lib/sha256.c, lib/sha256.h: Move to ... * gl/lib/sha256.c, gl/lib/sha256.h: ...here. * lib/sha512.c, lib/sha512.h: Move to ... * gl/lib/sha512.c, gl/lib/sha512.h: ...here. * lib/u64.h: Move to ... * gl/lib/u64.h: ...here.
2007-12-20Use comma-separated list in ./configure --help output.Jim Meyering
* configure.ac: Map commas to spaces in excluded-program list. Use a comma-separated list, not a space-separated one. * m4/include-exclude-prog.m4 (gl_INCLUDE_EXCLUDE_PROG): Expect list of program names to be comma-separated. Reported by Jan Bauke Douma.
2007-11-15* m4/include-exclude-prog.m4 (gl_REMOVE_PROG): Fix syntax error.Andreas Schwab
Remove trailing space from result.
2007-11-14Enable gnulib-tool's --with-tests option.Jim Meyering
* bootstrap: After all is done, transform the generated gnulib-tests/gnulib.mk. * bootstrap.conf (gnulib_tool_option_extras): Set it here. * gnulib-tests/Makefile.am: New file. * Makefile.am (SUBDIRS): Add gnulib-tests. * configure.ac (AC_CONFIG_FILES): Add gnulib-tests/Makefile. * m4/jm-macros.m4 (coreutils_MACROS) [ARGMATCH_DIE_DECL]: Omit the "extern " prefix to "void usage ()", so that the macro string value can be used to construct a function definition in gnulib's test-argmatch.c.
2007-11-05Don't use GNU-sed-specific \< \> operators here, either.Jim Meyering
* m4/include-exclude-prog.m4 (gl_REMOVE_PROG): Use a loop, as below.
2007-10-07Convert coreutils' rand*.{c,h,m4} into modules.Jim Meyering
First step: move these files to gl/lib: * lib/rand-isaac.c, lib/rand-isaac.h * lib/randint.c, lib/randint.h * lib/randperm.c, lib/randperm.h * lib/randread.c, lib/randread.h Step 2: add modules/rand* and remove now-unneeded .m4 files. * gl/modules/randint: New file. * gl/modules/randperm: New file. * gl/modules/randread: New file. * m4/randint.m4: Remove file. * m4/randperm.m4: Remove file. * m4/randread.m4: Remove file. Step 3: use the new modules * bootstrap.conf (gnulib_modules): Add randint and randperm. * m4/prereq.m4 (gl_RANDINT, gl_RANDREAD, gl_RANDPERM): Don't require; These have been removed. (gl_ROOT_DEV_INO): Don't require; already handled via bootstrap.conf.
2007-08-30Use PACKAGE_NAME instead of GNU_PACKAGE.Eric Blake
* src/Makefile.am (.sh, uninstall-local): Adjust all users of hand-rolled GNU_PACKAGE to instead use autoconf-provided PACKAGE_NAME. * src/basename.c (main): Likewise. * src/chroot.c (main): Likewise. * src/dirname.c (main): Likewise. * src/echo.c (main): Likewise. * src/expr.c (main): Likewise. * src/factor.c (main): Likewise. * src/groups.sh (version): Likewise. Also, reflect change in --version output due to GPLv3. * 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/system.h (case_GETOPT_VERSION_CHAR): Likewise. * src/test.c (main): Likewise. * src/true.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. * configure.ac (AC_CHECK_DECLS): No need to check strtoimax, strtoumax, since gnulib does this.
2007-08-24No longer version-control .???ignore files in lib/, m4/, and po/.Jim Meyering
* .gitignore: Ignore a few files in lib/, m4/, and po/ that are not picked up automatically. * lib/.gitignore, lib/.cvsignore: Remove files. * m4/.gitignore, m4/.cvsignore: Remove files. * po/.gitignore, po/.cvsignore: Remove files.
2007-08-20Avoid consuming too much seekable input when yesno is used.Eric Blake
* bootstrap.conf (gnulib_modules): Grab closein. * src/system.h (includes): Also include closein.h. * src/mv.c (main): Use close_stdin, not close_stdout. * src/cp.c (main): Likewise. * src/ln.c (main): Likewise. * src/rm.c (main): Likewise. * src/install.c (main): Likewise. * NEWS: Document the fix.
2007-07-23Update all copyright notices to use the newer form.Jim Meyering
2007-07-14Change interface: make 2nd param _space_-separated, not comma-separatedJim Meyering
* m4/include-exclude-prog.m4 (gl_INCLUDE_EXCLUDE_PROG): Remove now- unnecessary use of tr. Improve comments. * configure.ac: Adjust caller, as well as the code that ensures the 2nd parameter stays in sync with the list in src/Makefile.am.
2007-07-14* m4/include-exclude-prog.m4 (gl_REMOVE_PROG): Fix typo: s/$2/$1/.Karel Zak
(gl_INCLUDE_EXCLUDE_PROG): Quote first use of $2 parameter. Don't mix comma- and space-separated lists. Patch from Karel Zak.
2007-07-12Expand default-no-install prog list in ./configure --help output,Jim Meyering
and fix some []-quoting bugs in sed expressions. * configure.ac: Hard-code the list, "arch,su" here as well as in src/Makefile.am, and ensure the two stay in sync. * m4/include-exclude-prog.m4 (gl_INCLUDE_EXCLUDE_PROG): Use $2, rather than the nearly-equivalent shell variable. Karel Zak reported that ./configure --help's output included the literal string, $gl_no_install_progs_default.
2007-07-12Clean up include-exclude-prog.m4.Jim Meyering
* m4/include-exclude-prog.m4 (gl_ADD_PROG): Don't modify MAN. (gl_REMOVE_PROG): Likewise. Add omitted "\>" in sed regexp. Remove any leading or trailing spaces. (gl_ADD_PROG): Remove any leading space. * configure.ac: Instead, derive $MAN from $optional_bin_progs. Append $(EXEEXT) to *all* names, not just the first one.
2007-07-10Add support for enabling/disabling installation of specified programs.Jim Meyering
* NEWS: Mention new configure-time options. Mention that neither arch nor su is built/installed, by default. * m4/include-exclude-prog.m4: New file. * configure.ac: Use new macro, gl_ADD_PROG, rather than manually appending to OPTIONAL_BIN_PROGS and MAN. Move the code that adds "df" to the list of programs to build from m4/jm-macros into this file. Use gl_INCLUDE_EXCLUDE_PROG, then handle special cases: ginstall, [. (NO_INSTALL_PROGS_DEFAULT): AC_SUBST it. Used by man/Makefile.am. * man/Makefile.am (dist_man_MANS): Remove from this list all man pages corresponding to "bin" programs. Add $(MAN) instead. (optional_mans): Remove all uses. (check-x-vs-1): Adapt to work even though arch and su are typically no longer built (and neither are their .1 files). * src/Makefile.am (install_su): Rename from INSTALL_SU, now that INSTALL_SU has a different meaning. Use the new $(INSTALL_SU) value.
2007-07-10Change "version 2" to "version 3" in all copyright notices.Jim Meyering
2007-07-06setuidgid: set all groups, not just the primary one; mgetgroups: new moduleJim Meyering
I wanted to use the xgetgroups function from id.c, so factored it out and made it into a non-exiting function (hence the "m" prefix rather than "x"). * src/setuidgid.c (main): Use mgetgroups. Include "mgetgroups.h". * src/id.c (xgetgroups): Remove function. Include "mgetgroups.h". (print_group_list): Use mgetgroups, not xgetgroups. * gl/modules/mgetgroups: New module. * gl/lib/mgetgroups.c: New file. mgetgroups is derived from id.c's xgetgroups function. * bootstrap.conf (gnulib_modules): Add mgetgroups. * gl/m4/mgetgroups.m4: New file. * gl/lib/mgetgroups.h: New file.
2007-07-04Add Paul's ChangeLog for previous patch.Jim Meyering
Restore the m4/.gitignore file I inadvertently removed.
2007-07-04pr -F no longer suppresses the footer or the first two blank header linesPaul Eggert
Here's a patch along the lines of <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10849/focus=10857>. It's a bit large since it changes the test cases to match the behavior, and the test cases' file names depend on the behavior! * NEWS: pr -F no longer suppresses the footer or the first two blank lines in the header. * doc/coreutils.texi (pr invocation): Likewise. Also, a too-short page length implies -t, not -T. * src/pr.c (lines_per_header, lines_per_footer): Now constants. (init_parameters): Don't try to change them. (print_header): Use the same header and footer format regardless of wither form feeds are being used. (usage): Adjust to above change when describing too-short page length. Too-short page length impliesy -t, not -T. * tests/pr/2-S_f-t_notab: Adjust to the fact that -F now affects only formfeed handling; it does not change the header. * tests/pr/2-Sf-t_notab: Likewise. ... * tests/pr/3-5l17f-t: Remove, since it's been renamed to another file whose name has a line count 7 larger, reflecting the new line count needed for this behavior. * tests/pr/3a3l8f-t: Likewise. ... * tests/pr/w72l24f-ll: Likewise. Signed-off-by: Jim Meyering <jim@meyering.net>
2007-06-10Add to .cvsignore and .gitignore files.Jim Meyering
2007-06-02Add to .cvsignore and .gitignore files.Jim Meyering
2007-05-26Add to .cvsignore and .gitignore files.Jim Meyering
2007-04-25* bootstrap.conf (gnulib_modules): Add autobuild.Jim Meyering
* m4/autobuild.m4: Remove file. Now, provided by gnulib.
2007-04-25Add to .cvsignore and .gitignore files.Jim Meyering