Mirror of GNU Coreutils

Eric Blake 6c935a0554 Merge remote branch 'origin/next' into next 14 years ago
build-aux 5e778f7c8d global: convert indentation-TABs to spaces 15 years ago
doc 242689c7f9 ls: with -LR, exit with status 2 upon detecting a cycle 14 years ago
gl 99f59aaaf8 mktemp: adapt to new, 3-argument gen_tempname_len 14 years ago
gnulib @ 959d9cb463 2cd1577554 build: update gnulib submodule to latest, for utimens improvements 14 years ago
gnulib-tests 30071248c9 tests: enable automake's color-tests and parallel-tests via configure.ac 15 years ago
lib e5dba03d2f euidaccess-stat: remove unnecessary macros 14 years ago
m4 82e344ca09 copy: allow symlink timestamp preservation on more systems 14 years ago
man 5d4f09d83a doc: mention the texinfo documentation in --help 14 years ago
old 5e778f7c8d global: convert indentation-TABs to spaces 15 years ago
po 569e387b8a build: translate diagnostics from two new files 14 years ago
src 3b7dc2b522 rm: record timing data 14 years ago
tests 82e344ca09 copy: allow symlink timestamp preservation on more systems 14 years ago
.gitattributes f3574102d3 .gitattributes: generalize 16 years ago
.gitignore 59a6ddfca3 maint: ignore only man/*.1, not all *.1 files 14 years ago
.gitmodules 5e778f7c8d global: convert indentation-TABs to spaces 15 years ago
.prev-version 96829a9ff0 post-release administrivia 14 years ago
.vg-suppressions 2232b4d08f maint: update all Copyright year lists to include 2009 15 years ago
.x-sc_GPL_version 847fbc4eba Reflect 2->3 GPL copyright version update in gnulib. 16 years ago
.x-sc_error_message_uppercase 6eec737ade standardize some error messages 16 years ago
.x-sc_file_system 2c7bed000e Sync GNUmakefile with gnulib. 16 years ago
.x-sc_obsolete_symbols 2c7bed000e Sync GNUmakefile with gnulib. 16 years ago
.x-sc_po_check 1ee192a9ff maint: use more sc_-prefixed names 15 years ago
.x-sc_program_name 77b1bfc85c each file with a "main" must also declare program_name 16 years ago
.x-sc_prohibit_atoi_atof c55c0e7369 maint: tighten atoi/atof-prohibiting regexp, clean up .x-sc- file 15 years ago
.x-sc_prohibit_stat_st_blocks c3e1fe230b tests: move check-misc targets from src/Makefile.am to maint.mk 15 years ago
.x-sc_prohibit_strcmp d6a62182f0 build: don't reject definition of STREQ 15 years ago
.x-sc_prohibit_tab_based_indentation 1130e181ee maint: teach "make syntax-check" the space-only indentation rule 15 years ago
.x-sc_require_config_h 9a913a2461 * .x-sc_require_config_h: Remove obsolete regexps. 15 years ago
.x-sc_require_config_h_first 317d2c6384 maint.mk: enforce the "include <config.h> first" rule 15 years ago
.x-sc_space_tab 048e85c751 *** empty log message *** 18 years ago
.x-sc_sun_os_names 121ae4951e Reflect renaming: config -> build-aux. 19 years ago
.x-sc_system_h_headers a5a2a406f8 stdbuf: A new program to run a command with modified stdio buffering 15 years ago
.x-sc_trailing_blank 8029cc8b5a * .x-sc_trailing_blank: Remove names of files that are no longer 17 years ago
.x-sc_unmarked_diagnostics bbfe621405 . 18 years ago
.x-sc_useless_cpp_parens 0d8ca457b3 * .x-sc_useless_cpp_parens: Ignore a false-positive in a shell script. 17 years ago
AUTHORS a5a2a406f8 stdbuf: A new program to run a command with modified stdio buffering 15 years ago
COPYING b3f293c61b maint: don't change COPYING 15 years ago
ChangeLog-2005 2232b4d08f maint: update all Copyright year lists to include 2009 15 years ago
ChangeLog-2006 2232b4d08f maint: update all Copyright year lists to include 2009 15 years ago
ChangeLog-2007 2232b4d08f maint: update all Copyright year lists to include 2009 15 years ago
ChangeLog-2008 2232b4d08f maint: update all Copyright year lists to include 2009 15 years ago
HACKING ddfcccce51 doc: HACKING: mention the new space-only indentation policy 15 years ago
Makefile.am 98ec4beba5 tests: move a coreutils-specific test from maint.mk to Makefile.am 14 years ago
NEWS 0023f65fd7 chcon: don't disable just because SELinux is disabled 14 years ago
README a5a2a406f8 stdbuf: A new program to run a command with modified stdio buffering 15 years ago
README-hacking e2808a3999 maint: remove Local Variables: indent-tabs-mode: nil from all sources 15 years ago
README-package-renamed-to-coreutils c634bb97af * README-package-renamed-to-coreutils: Add a URL for the FAQ, 17 years ago
README-prereq 3e565eb3a6 maint: generalize the development prerequisites docs 15 years ago
README-release d183a15cbb maint: make release-making instructions more generic 14 years ago
README-valgrind 2232b4d08f maint: update all Copyright year lists to include 2009 15 years ago
THANKS 3a97d664b9 chcon: exit immediately if SELinux is disabled 14 years ago
THANKStt.in c725204141 *** empty log message *** 22 years ago
TODO e22f096d10 doc: add missing documentation for some SELinux options 15 years ago
bootstrap 30c65cd49c maint: factor coreutils-specific code out of bootstrap 14 years ago
bootstrap.conf 219f2f0538 maint: touch up previous LDADD patch 14 years ago
cfg.mk 96829a9ff0 post-release administrivia 14 years ago
configure.ac d74a1b005c build: build uname(1) unconditionally 14 years ago
dist-check.mk f9bb168f56 build: make distcheck rules use --enable-gcc-warnings 15 years ago

README

These are the GNU core utilities. This package is the union of
the GNU fileutils, sh-utils, and textutils packages.

Most of these programs have significant advantages over their Unix
counterparts, such as greater speed, additional options, and fewer
arbitrary limits.

The programs that can be built with this package are:

[ arch base64 basename cat chcon chgrp chmod chown chroot cksum comm cp
csplit cut date dd df dir dircolors dirname du echo env expand expr
factor false fmt fold groups head hostid hostname id install join kill
link ln logname ls md5sum mkdir mkfifo mknod mktemp mv nice nl nohup
od paste pathchk pinky pr printenv printf ptx pwd readlink rm rmdir
runcon seq sha1sum sha224sum sha256sum sha384sum sha512sum shred shuf
sleep sort split stat stdbuf stty su sum sync tac tail tee test timeout
touch tr true truncate tsort tty uname unexpand uniq unlink uptime users
vdir wc who whoami yes

See the file NEWS for a list of major changes in the current release.

If you obtained this file as part of a "git clone", then see the
README-hacking file. If this file came to you as part of a tar archive,
then see the file INSTALL for compilation and installation instructions.

These programs are intended to conform to POSIX (with BSD and other
extensions), like the rest of the GNU system. By default they conform
to older POSIX (1003.2-1992), and therefore support obsolete usages
like "head -10" and "chown owner.group file". This default is
overridden at build-time by the value of 's _POSIX2_VERSION
macro, and this in turn can be overridden at runtime as described in
the documentation under "Standards conformance".

The ls, dir, and vdir commands are all separate executables instead of
one program that checks argv[0] because people often rename these
programs to things like gls, gnuls, l, etc. Renaming a program
file shouldn't affect how it operates, so that people can get the
behavior they want with whatever name they want.

Special thanks to Paul Eggert, Brian Matthews, Bruce Evans, Karl Berry,
Kaveh Ghazi, and François Pinard for help with debugging and porting
these programs. Many thanks to all of the people who have taken the
time to submit problem reports and fixes. All contributed changes are
attributed in the commit logs.

And thanks to the following people who have provided accounts for
portability testing on many different types of systems: Bob Proulx,
Christian Robert, François Pinard, Greg McGary, Harlan Stenn,
Joel N. Weber, Mark D. Roth, Matt Schalit, Nelson H. F. Beebe,
Réjean Payette, Sam Tardieu.

Thanks to Michael Stone for inflicting test releases of this package
on Debian's unstable distribution, and to all the kind folks who used
that distribution and found and reported bugs.

Note that each man page is now automatically generated from a template
and from the corresponding --help usage message. Patches to the template
files (man/*.x) are welcome. However, the authoritative documentation
is in texinfo form in the doc directory.


*****************************************
On Mac OS X 10.5.1 (Darwin 9.1), test failure
-----------------------------------------

Mac OS X 10.5.1 (Darwin 9.1) provides only partial (and incompatible)
ACL support, so although "./configure && make" succeeds, "make check"
exposes numerous failures. The solution is to turn off ACL support
manually via "./configure --disable-acl". For details, see
.


*****************************************
Test failure with NLS and gettext <= 0.17
-----------------------------------------

Due to a conflict between libintl.h and gnulib's new xprintf module,
when you configure with NLS support, and with a gettext installation
older than 0.17.1 (not yet released, at the time of this writing),
then some tests fail, at least on NetBSD 1.6. To work around it in
the mean time, you can configure with --disable-nls. For details,
see .


***********************
Pre-C99 build failure
-----------------------

There is a new, implicit build requirement:
To build the coreutils from source, you should have a C99-conforming
compiler, due to the use of declarations after non-declaration statements
in several files in src/. There is code in configure to find and, if
possible, enable an appropriate compiler. However, if configure doesn't
find a C99 compiler, it continues nonetheless, and your build will fail.
If that happens, simply[*] apply the included patch using the following
command, and then run make again:

cd src && patch < c99-to-c89.diff

[*] however, as of coreutils-7.1, the "c99-to-c89.diff" file is no longer
maintained, so even if the patches still apply, the result will be an
incomplete conversion. It's been 10 years. Get a decent compiler! ;-)


***********************
HPUX 11.x build failure
-----------------------

A known problem exists when compiling on HPUX on both hppa and ia64
in 64-bit mode (i.e. +DD64) on HP-UX 11.0, 11.11, and 11.23. This
is not due to a bug in the package but instead due to a bug in the
system header file which breaks things in 64-bit mode. The default
compilation mode is 32-bit and the software compiles fine using the
default mode. To build this software in 64-bit mode you will need
to fix the system /usr/include/inttypes.h header file. After
correcting that file the software also compiles fine in 64-bit mode.
Here is one possible patch to correct the problem:

--- /usr/include/inttypes.h.orig Thu May 30 01:00:00 1996
+++ /usr/include/inttypes.h Sun Mar 23 00:20:36 2003
@@ -489 +489 @@
-#ifndef __STDC_32_MODE__
+#ifndef __LP64__


************************
OSF/1 4.0d build failure
------------------------

If you use /usr/bin/make on an OSF/1 4.0d system, it will fail due
to the presence of the "[" target. That version of make appears to
treat "[" as some syntax relating to locks. To work around that,
the best solution is to use GNU make. Otherwise, simply remove
all mention of "[$(EXEEXT)" from src/Makefile.



**********************
Running tests as root:
----------------------

If you run the tests as root, note that a few of them create files
and/or run programs as a non-root user, `nobody' by default.
If you want to use some other non-root username, specify it via
the NON_ROOT_USERNAME environment variable. Depending on the
permissions with which the working directories have been created,
using `nobody' may fail, because that user won't have the required
read and write access to the build and test directories.
I find that it is best to unpack and build as a non-privileged
user, and then to run the following command as that user in order
to run the privilege-requiring tests:

sudo env PATH="$PATH" NON_ROOT_USERNAME=$USER make -k check-root

If you can run the tests as root, please do so and report any
problems. We get much less test coverage in that mode, and it's
arguably more important that these tools work well when run by
root than when run by less privileged users.


***************
Reporting bugs:
---------------

IMPORTANT: if you take the time to report a test failure,
please be sure to include the output of running `make check'
in verbose mode for each failing test. For example,
if the test that fails is tests/misc/df, then you would
run this command:

(cd tests && make check TESTS=misc/df VERBOSE=yes) >> log 2>&1

For some tests, you can get even more detail by adding DEBUG=yes.
Then include the contents of the file `log' in your bug report.

Send bug reports, questions, comments, etc. to bug-coreutils@gnu.org.
If you would like to suggest a patch, see the files README-hacking
and HACKING for tips.

***************************************

There are many tests, but nowhere near as many as we need.
Additions and corrections are very welcome.

If you see a problem that you've already reported, feel free to re-report
it -- it won't bother me to get a reminder. Besides, the more messages I
get regarding a particular problem the sooner it'll be fixed -- usually.
If you sent a complete patch and, after a couple weeks you haven't
received any acknowledgement, please ping us. A complete patch includes
a well-written ChangeLog entry, unified (diff -u format) diffs relative
to the most recent test release (or, better, relative to the latest
sources in the public repository), an explanation for why the patch is
necessary or useful, and if at all possible, enough information to
reproduce whatever problem prompted it. Plus, you'll earn lots of
karma if you include a test case to exercise any bug(s) you fix.
Here are instructions for checking out the latest development sources:

http://savannah.gnu.org/git/?group=coreutils

If your patch adds a new feature, please try to get some sort of consensus
that it is a worthwhile change. One way to do that is to send mail to
bug-coreutils@gnu.org including as much description and justification
as you can. Based on the feedback that generates, you may be able to
convince us that it's worth adding.


WARNING: Now that we use the ./bootstrap script, you should not run
autoreconf manually. Doing that will overwrite essential source files
with older versions, which may make the package unbuildable or introduce
subtle bugs.


WARNING: If you modify files like configure.in, m4/*.m4, aclocal.m4,
or any Makefile.am, then don't be surprised if what gets regenerated no
longer works. To make things work, you'll have to be using appropriate
versions of the tools listed in bootstrap.conf's buildreq string.

All of these programs except `test' recognize the `--version' option.
When reporting bugs, please include in the subject line both the package
name/version and the name of the program for which you found a problem.

For general documentation on the coding and usage standards
this distribution follows, see the GNU Coding Standards,
http://www.gnu.org/prep/standards_toc.html.

Mail suggestions and bug reports for these programs to
the address on the last line of --help output.


========================================================================

Copyright (C) 1998, 2002-2009 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.2 or
any later version published by the Free Software Foundation; with no
Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
Texts. A copy of the license is included in the ``GNU Free
Documentation License'' file as part of this distribution.