source: trunk/essentials/sys-apps/coreutils/README

Last change on this file was 3043, checked in by bird, 19 years ago

-> essentials

File size: 7.6 KB
Line 
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 [ basename cat chgrp chmod chown chroot cksum comm cp csplit cut date dd
11 df dir dircolors dirname du echo env expand expr factor false fmt fold
12 ginstall groups head hostid hostname id join kill link ln logname ls
13 md5sum mkdir mkfifo mknod mv nice nl nohup od paste pathchk pinky pr
14 printenv printf ptx pwd readlink rm rmdir seq sha1sum shred sleep sort
15 split stat stty su sum sync tac tail tee test touch tr true tsort tty
16 uname unexpand uniq unlink uptime users vdir wc who whoami yes
17
18See the file NEWS for a list of major changes in the current release.
19
20See the file INSTALL for compilation and installation instructions.
21
22These programs are intended to conform to POSIX (with BSD and other
23extensions), like the rest of the GNU system. By default they conform
24to older POSIX (1003.2-1992), and therefore support obsolete usages
25like "head -10" and "chown owner.group file". This default is
26overridden at build-time by the value of <unistd.h>'s _POSIX2_VERSION
27macro, and this in turn can be overridden at runtime as described in
28the documentation under "Standards conformance".
29
30The ls, dir, and vdir commands are all separate executables instead of
31one program that checks argv[0] because people often rename these
32programs to things like gls, gnuls, l, etc. Renaming a program
33file shouldn't affect how it operates, so that people can get the
34behavior they want with whatever name they want.
35
36Special thanks to Paul Eggert, Brian Matthews, Bruce Evans, Karl Berry,
37Kaveh Ghazi, and François Pinard for help with debugging and porting
38these programs. Many thanks to all of the people who have taken the
39time to submit problem reports and fixes. All contributed changes are
40attributed in the ChangeLog files.
41
42And thanks to the following people who have provided accounts for
43portability testing on many different types of systems: Bob Proulx,
44Christian Robert, François Pinard, Greg McGary, Harlan Stenn,
45Joel N. Weber, Mark D. Roth, Matt Schalit, Nelson H. F. Beebe,
46Réjean Payette, Sam Tardieu.
47
48Thanks to Michael Stone for inflicting test releases of this package
49on Debian's unstable distribution, and to all the kind folks who used
50that distribution and found and reported bugs.
51
52Note that each man page is now automatically generated from a template
53and from the corresponding --help usage message. Patches to the template
54files (man/*.x) are welcome. However, the authoritative documentation
55is in texinfo form in the doc directory.
56
57If you run the tests on a SunOS4.1.4 system, expect the ctime-part of
58the ls `time-1' test to fail. I believe that is due to a bug in the
59way Sun implemented link(2) and chmod(2).
60
61
62***********************
63HPUX 11.x build failure
64-----------------------
65
66A known problem exists when compiling on HPUX on both hppa and ia64
67in 64-bit mode (i.e. +DD64) on HP-UX 11.0, 11.11, and 11.23. This
68is not due to a bug in the package but instead due to a bug in the
69system header file which breaks things in 64-bit mode. The default
70compilation mode is 32-bit and the software compiles fine using the
71default mode. To build this software in 64-bit mode you will need
72to fix the system /usr/include/inttypes.h header file. After
73correcting that file the software also compiles fine in 64-bit mode.
74Here is one possible patch to correct the problem:
75
76--- /usr/include/inttypes.h.orig Thu May 30 01:00:00 1996
77+++ /usr/include/inttypes.h Sun Mar 23 00:20:36 2003
78@@ -489 +489 @@
79-#ifndef __STDC_32_MODE__
80+#ifndef __LP64__
81
82
83**********************
84Running tests as root:
85----------------------
86
87If you run the tests as root, note that a few of them create files
88and/or run programs as a non-root user, `nobody' by default.
89If you want to use some other non-root username, specify it via
90the NON_ROOT_USERNAME environment variable. Depending on the
91permissions with which the working directories have been created,
92using `nobody' may fail, because that user won't have the required
93read and write access to the build and test directories.
94I find that it is best to unpack and build as a non-privileged
95user, and then to run the following command as that user in order
96to run the privilege-requiring tests:
97
98 sudo env NON_ROOT_USERNAME=$USER make -k check
99
100If you can run the tests as root, please do so and report any
101problems. We get much less test coverage in that mode, and it's
102arguably more important that these tools work well when run by
103root than when run by less privileged users.
104
105
106***************
107Reporting bugs:
108---------------
109
110IMPORTANT: if you take the time to report a test failure,
111please be sure to include the output of running `make check'
112in verbose mode for each each failing test. For example,
113if the test that fails is tests/mv/hard-link-1, then you
114would run this command:
115
116 env VERBOSE=yes make check -C tests/mv TESTS=hard-link-1 >> log 2>&1
117
118For some tests, you can get even more detail by including
119DEBUG=yes in the environment:
120
121 env DEBUG=yes VERBOSE=yes make check -C tests/mv TESTS=hard-link-1 >> log 2>&1
122
123and then include the contents of the file `log' in your bug report.
124
125***************************************
126
127There are pretty many tests, but nowhere near as many as we need.
128Additions and corrections are very welcome.
129
130If you see a problem that you've already reported, feel free to re-report
131it -- it won't bother me to get a reminder. Besides, the more messages I
132get regarding a particular problem the sooner it'll be fixed -- usually.
133If you sent a complete patch and, after a couple weeks you haven't
134received any acknowledgement, please ping us. A complete patch includes
135a well-written ChangeLog entry, unified (diff -u format) diffs relative
136to the most recent test release (or, better, relative to the latest
137sources in the CVS repository), an explanation for why the patch is
138necessary or useful, and if at all possible, enough information to
139reproduce whatever problem prompted it. Plus, you'll earn lots of
140karma if you include a test case to exercise any bug(s) you fix.
141Instructions for checking out the latest source via CVS are here:
142
143 http://savannah.gnu.org/cvs/?group=coreutils
144
145
146If your patch adds a new feature, please try to get some sort of consensus
147that it is a worthwhile change. One way to do that is to send mail to
148[email protected] including as much description and justification
149as you can. Based on the feedback that generates, you may be able to
150convince us that it's worth adding.
151
152
153WARNING: If you modify files like configure.in, m4/*.m4, aclocal.m4,
154or any Makefile.am, then don't be surprised if what gets regenerated no
155longer works. To make things work, you'll have to be using appropriate
156versions of automake and autoconf. As for what versions are `appropriate',
157use the versions of
158
159 * autoconf specified via AC_PREREQ in m4/jm-macros.m4
160 * automake specified via AM_INIT_AUTOMAKE in configure.ac
161
162Usually it's fine to use versions that are newer than those specified.
163
164All of these programs except `test' recognize the `--version' option.
165When reporting bugs, please include in the subject line both the package
166name/version and the name of the program for which you found a problem.
167
168For general documentation on the coding and usage standards
169this distribution follows, see the GNU Coding Standards,
170http://www.gnu.org/prep/standards_toc.html.
171
172Mail suggestions and bug reports for these programs to
173the address on the last line of --help output.
Note: See TracBrowser for help on using the repository browser.