1These are the GNU core utilities. This package is the union of 2the GNU fileutils, sh-utils, and textutils packages. 3 4Most of these programs have significant advantages over their Unix 5counterparts, such as greater speed, additional options, and fewer 6arbitrary limits. 7 8The programs that can be built with this package are: 9 10 [ arch base64 basename cat chcon chgrp chmod chown chroot cksum comm cp 11 csplit cut date dd df dir dircolors dirname du echo env expand expr 12 factor false fmt fold groups head hostid hostname id install join kill 13 link ln logname ls md5sum mkdir mkfifo mknod mktemp mv nice nl nohup 14 nproc od paste pathchk pinky pr printenv printf ptx pwd readlink rm rmdir 15 runcon seq sha1sum sha224sum sha256sum sha384sum sha512sum shred shuf 16 sleep sort split stat stdbuf stty su sum sync tac tail tee test timeout 17 touch tr true truncate tsort tty uname unexpand uniq unlink uptime users 18 vdir wc who whoami yes 19 20See the file NEWS for a list of major changes in the current release. 21 22If you obtained this file as part of a "git clone", then see the 23README-hacking file. If this file came to you as part of a tar archive, 24then see the file INSTALL for compilation and installation instructions. 25 26These programs are intended to conform to POSIX (with BSD and other 27extensions), like the rest of the GNU system. By default they conform 28to older POSIX (1003.2-1992), and therefore support obsolete usages 29like "head -10" and "chown owner.group file". This default is 30overridden at build-time by the value of <unistd.h>'s _POSIX2_VERSION 31macro, and this in turn can be overridden at runtime as described in 32the documentation under "Standards conformance". 33 34The ls, dir, and vdir commands are all separate executables instead of 35one program that checks argv[0] because people often rename these 36programs to things like gls, gnuls, l, etc. Renaming a program 37file shouldn't affect how it operates, so that people can get the 38behavior they want with whatever name they want. 39 40Special thanks to Paul Eggert, Brian Matthews, Bruce Evans, Karl Berry, 41Kaveh Ghazi, and François Pinard for help with debugging and porting 42these programs. Many thanks to all of the people who have taken the 43time to submit problem reports and fixes. All contributed changes are 44attributed in the commit logs. 45 46And thanks to the following people who have provided accounts for 47portability testing on many different types of systems: Bob Proulx, 48Christian Robert, François Pinard, Greg McGary, Harlan Stenn, 49Joel N. Weber, Mark D. Roth, Matt Schalit, Nelson H. F. Beebe, 50Réjean Payette, Sam Tardieu. 51 52Thanks to Michael Stone for inflicting test releases of this package 53on Debian's unstable distribution, and to all the kind folks who used 54that distribution and found and reported bugs. 55 56Note that each man page is now automatically generated from a template 57and from the corresponding --help usage message. Patches to the template 58files (man/*.x) are welcome. However, the authoritative documentation 59is in texinfo form in the doc directory. 60 61 62***************************************** 63On Mac OS X 10.5.1 (Darwin 9.1), test failure 64----------------------------------------- 65 66Mac OS X 10.5.1 (Darwin 9.1) provides only partial (and incompatible) 67ACL support, so although "./configure && make" succeeds, "make check" 68exposes numerous failures. The solution is to turn off ACL support 69manually via "./configure --disable-acl". For details, see 70<http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/12292/focus=12318>. 71 72 73***************************************** 74Test failure with NLS and gettext <= 0.17 75----------------------------------------- 76 77Due to a conflict between libintl.h and gnulib's new xprintf module, 78when you configure with NLS support, and with a gettext installation 79older than 0.17.1 (not yet released, at the time of this writing), 80then some tests fail, at least on NetBSD 1.6. To work around it in 81the mean time, you can configure with --disable-nls. For details, 82see <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/12015/>. 83 84 85*********************** 86Pre-C99 build failure 87----------------------- 88 89There is a new, implicit build requirement: 90To build the coreutils from source, you should have a C99-conforming 91compiler, due to the use of declarations after non-declaration statements 92in several files in src/. There is code in configure to find and, if 93possible, enable an appropriate compiler. However, if configure doesn't 94find a C99 compiler, it continues nonetheless, and your build will fail. 95If that happens, simply[*] apply the included patch using the following 96command, and then run make again: 97 98 cd src && patch < c99-to-c89.diff 99 100[*] however, as of coreutils-7.1, the "c99-to-c89.diff" file is no longer 101maintained, so even if the patches still apply, the result will be an 102incomplete conversion. It's been 10 years. Get a decent compiler! ;-) 103 104 105*********************** 106HPUX 11.x build failure 107----------------------- 108 109A known problem exists when compiling on HPUX on both hppa and ia64 110in 64-bit mode (i.e. +DD64) on HP-UX 11.0, 11.11, and 11.23. This 111is not due to a bug in the package but instead due to a bug in the 112system header file which breaks things in 64-bit mode. The default 113compilation mode is 32-bit and the software compiles fine using the 114default mode. To build this software in 64-bit mode you will need 115to fix the system /usr/include/inttypes.h header file. After 116correcting that file the software also compiles fine in 64-bit mode. 117Here is one possible patch to correct the problem: 118 119--- /usr/include/inttypes.h.orig Thu May 30 01:00:00 1996 120+++ /usr/include/inttypes.h Sun Mar 23 00:20:36 2003 121@@ -489 +489 @@ 122-#ifndef __STDC_32_MODE__ 123+#ifndef __LP64__ 124 125 126************************ 127OSF/1 4.0d build failure 128------------------------ 129 130If you use /usr/bin/make on an OSF/1 4.0d system, it will fail due 131to the presence of the "[" target. That version of make appears to 132treat "[" as some syntax relating to locks. To work around that, 133the best solution is to use GNU make. Otherwise, simply remove 134all mention of "[$(EXEEXT)" from src/Makefile. 135 136 137 138********************** 139Running tests as root: 140---------------------- 141 142If you run the tests as root, note that a few of them create files 143and/or run programs as a non-root user, `nobody' by default. 144If you want to use some other non-root username, specify it via 145the NON_ROOT_USERNAME environment variable. Depending on the 146permissions with which the working directories have been created, 147using `nobody' may fail, because that user won't have the required 148read and write access to the build and test directories. 149I find that it is best to unpack and build as a non-privileged 150user, and then to run the following command as that user in order 151to run the privilege-requiring tests: 152 153 sudo env PATH="$PATH" NON_ROOT_USERNAME=$USER make -k check-root 154 155If you can run the tests as root, please do so and report any 156problems. We get much less test coverage in that mode, and it's 157arguably more important that these tools work well when run by 158root than when run by less privileged users. 159 160 161*************** 162Reporting bugs: 163--------------- 164 165IMPORTANT: if you take the time to report a test failure, 166please be sure to include the output of running `make check' 167in verbose mode for each failing test. For example, 168if the test that fails is tests/misc/df, then you would 169run this command: 170 171 (cd tests && make check TESTS=misc/df VERBOSE=yes) >> log 2>&1 172 173For some tests, you can get even more detail by adding DEBUG=yes. 174Then include the contents of the file `log' in your bug report. 175 176Send bug reports, questions, comments, etc. to bug-coreutils@gnu.org. 177If you would like to suggest a patch, see the files README-hacking 178and HACKING for tips. 179 180*************************************** 181 182There are many tests, but nowhere near as many as we need. 183Additions and corrections are very welcome. 184 185If you see a problem that you've already reported, feel free to re-report 186it -- it won't bother me to get a reminder. Besides, the more messages I 187get regarding a particular problem the sooner it'll be fixed -- usually. 188If you sent a complete patch and, after a couple weeks you haven't 189received any acknowledgement, please ping us. A complete patch includes 190a well-written ChangeLog entry, unified (diff -u format) diffs relative 191to the most recent test release (or, better, relative to the latest 192sources in the public repository), an explanation for why the patch is 193necessary or useful, and if at all possible, enough information to 194reproduce whatever problem prompted it. Plus, you'll earn lots of 195karma if you include a test case to exercise any bug(s) you fix. 196Here are instructions for checking out the latest development sources: 197 198 http://savannah.gnu.org/git/?group=coreutils 199 200If your patch adds a new feature, please try to get some sort of consensus 201that it is a worthwhile change. One way to do that is to send mail to 202bug-coreutils@gnu.org including as much description and justification 203as you can. Based on the feedback that generates, you may be able to 204convince us that it's worth adding. 205 206 207WARNING: Now that we use the ./bootstrap script, you should not run 208autoreconf manually. Doing that will overwrite essential source files 209with older versions, which may make the package unbuildable or introduce 210subtle bugs. 211 212 213WARNING: If you modify files like configure.in, m4/*.m4, aclocal.m4, 214or any Makefile.am, then don't be surprised if what gets regenerated no 215longer works. To make things work, you'll have to be using appropriate 216versions of the tools listed in bootstrap.conf's buildreq string. 217 218All of these programs except `test' recognize the `--version' option. 219When reporting bugs, please include in the subject line both the package 220name/version and the name of the program for which you found a problem. 221 222For general documentation on the coding and usage standards 223this distribution follows, see the GNU Coding Standards, 224http://www.gnu.org/prep/standards_toc.html. 225 226Mail suggestions and bug reports for these programs to 227the address on the last line of --help output. 228 229 230======================================================================== 231 232Copyright (C) 1998, 2002-2010 Free Software Foundation, Inc. 233 234Permission is granted to copy, distribute and/or modify this document 235under the terms of the GNU Free Documentation License, Version 1.3 or 236any later version published by the Free Software Foundation; with no 237Invariant Sections, with no Front-Cover Texts, and with no Back-Cover 238Texts. A copy of the license is included in the ``GNU Free 239Documentation License'' file as part of this distribution. 240