7.12. Util-linux-2.40.2

The Util-linux package contains miscellaneous utility programs.

Approximate build time: 0.2 SBU
Required disk space: 180 MB

7.12.1. Installation of Util-linux

The FHS recommends using the /var/lib/hwclock directory instead of the usual /etc directory as the location for the adjtime file. Create this directory with:

mkdir -pv /var/lib/hwclock

Prepare Util-linux for compilation:

./configure --libdir=/usr/lib     \
            --runstatedir=/run    \
            --disable-chfn-chsh   \
            --disable-login       \
            --disable-nologin     \
            --disable-su          \
            --disable-setpriv     \
            --disable-runuser     \
            --disable-pylibmount  \
            --disable-static      \
            --disable-liblastlog2 \
            --without-python      \
            ADJTIME_PATH=/var/lib/hwclock/adjtime \
            --docdir=/usr/share/doc/util-linux-2.40.2

The meaning of the configure options:

ADJTIME_PATH=/var/lib/hwclock/adjtime

This sets the location of the file recording information about the hardware clock in accordance to the FHS. This is not strictly needed for this temporary tool, but it prevents creating a file at another location, which would not be overwritten or removed when building the final util-linux package.

--libdir=/usr/lib

This switch ensures the .so symlinks targeting the shared library file in the same directory (/usr/lib) directly.

--disable-*

These switches prevent warnings about building components that require packages not in LFS or not installed yet.

--without-python

This switch disables using Python. It avoids trying to build unneeded bindings.

runstatedir=/run

This switch sets the location of the socket used by uuidd and libuuid correctly.

Compile the package:

make

Install the package:

make install

7.12.2. Installation of Util-linux - 32-bit

Clean previous build:

make distclean

Prepare Util-linux for compilation:

CC="gcc -m32" \
./configure --host=i686-pc-linux-gnu \
            --libdir=/usr/lib32      \
            --runstatedir=/run       \
            --docdir=/usr/share/doc/util-linux-2.40.2 \
            --disable-chfn-chsh   \
            --disable-login       \
            --disable-nologin     \
            --disable-su          \
            --disable-setpriv     \
            --disable-runuser     \
            --disable-pylibmount  \
            --disable-static      \
            --disable-liblastlog2 \
            --without-python      \
            ADJTIME_PATH=/var/lib/hwclock/adjtime

Compile the package:

make

Install the package:

make DESTDIR=$PWD/DESTDIR install
cp -Rv DESTDIR/usr/lib32/* /usr/lib32
rm -rf DESTDIR

7.12.3. Installation of Util-linux - x32-bit

Clean previous build:

make distclean

Prepare Util-linux for compilation:

CC="gcc -mx32" \
./configure --host=x86_64-pc-linux-gnux32 \
            --libdir=/usr/libx32     \
            --runstatedir=/run       \
            --docdir=/usr/share/doc/util-linux-2.40.2 \
            --disable-chfn-chsh   \
            --disable-login       \
            --disable-nologin     \
            --disable-su          \
            --disable-setpriv     \
            --disable-runuser     \
            --disable-pylibmount  \
            --disable-static      \
            --disable-liblastlog2 \
            --without-python      \
            ADJTIME_PATH=/var/lib/hwclock/adjtime

Compile the package:

make

Install the package:

make DESTDIR=$PWD/DESTDIR install
cp -Rv DESTDIR/usr/libx32/* /usr/libx32
rm -rf DESTDIR

Details on this package are located in Section 8.80.4, “Contents of Util-linux.”