#!/bin/bash # ============================================================================ # DarkForge Linux — Phase 0, Chapter 6: Coreutils # ============================================================================ # Purpose: Cross-compile GNU coreutils (ls, cp, mv, cat, chmod, etc.) # for the temporary tools environment. # Inputs: ${LFS}/sources/coreutils-9.6.tar.xz # Outputs: Core utilities in ${LFS}/usr/bin/ # Assumes: Cross-toolchain complete # Ref: LFS 13.0 §6.5 # ============================================================================ set -euo pipefail source "${LFS}/sources/darkforge-env.sh" PACKAGE="coreutils" VERSION="9.6" SRCDIR="${LFS}/sources" echo "=== Building ${PACKAGE}-${VERSION} (Temporary Tool) ===" cd "${SRCDIR}" tar -xf "${PACKAGE}-${VERSION}.tar.xz" cd "${PACKAGE}-${VERSION}" ./configure \ --prefix=/usr \ --host="${LFS_TGT}" \ --build="$(build-aux/config.guess)" \ --enable-install-program=hostname \ gl_cv_macro_MB_CUR_MAX_good=y make make DESTDIR="${LFS}" install # Move some programs to where they're expected mv -v "${LFS}/usr/bin/chroot" "${LFS}/usr/sbin" cd "${SRCDIR}" rm -rf "${PACKAGE}-${VERSION}" echo "=== ${PACKAGE}-${VERSION} complete ==="