5.17. Coreutils-6.12

The Coreutils package contains utilities for showing and setting the basic system characteristics.

Approximate build time: 0.7 SBU
Required disk space: 83 MB

5.17.1. Installation of Coreutils

There's an internal issue with Coreutils which makes some of the programs behave abnormally if you build using an older kernel. Apply a patch to fix the issue:

patch -Np1 -i ../coreutils-6.12-old_build_kernel-1.patch

Prepare Coreutils for compilation:

./configure --prefix=/tools --enable-install-program=hostname

The meaning of the configure options:

--enable-install-program=hostname

This enables the hostname binary to be built and installed – it is disabled by default but is required by the Perl test suite.

Compile the package:

make

Compilation is now complete. As discussed earlier, running the test suite is not mandatory for the temporary tools here in this chapter. To run the Coreutils test suite anyway, issue the following command:

make RUN_EXPENSIVE_TESTS=yes check

The RUN_EXPENSIVE_TESTS=yes parameter tells the test suite to run several additional tests that are considered relatively expensive (in terms of CPU power and memory usage) on some platforms, but generally are not a problem on Linux.

Install the package:

make install

The above command refuses to install su because the program cannot be installed setuid root as a non-privileged user. By manually installing it with a different name, we can use it for running tests in the final system as a non-privileged user and we keep a possibly useful su from our host first in our PATH. Install it with:

cp -v src/su /tools/bin/su-tools

Details on this package are located in Section 6.18.2, “Contents of Coreutils.”