#!/bin/bash # ============================================================================ # DarkForge Linux — Phase 3, Chapter 8: e2fsprogs # ============================================================================ # Purpose: Build e2fsprogs (ext2/3/4 filesystem utilities: mkfs.ext4, fsck.ext4, etc). # Essential for creating and maintaining ext4 filesystems. # Inputs: /sources/e2fsprogs-1.47.2.tar.gz # Outputs: e2fsprogs utilities in /usr/sbin/, libraries in /usr/lib/ # Assumes: Running inside chroot # Ref: LFS 13.0 §8.82 # ============================================================================ set -euo pipefail source /sources/toolchain-scripts/100-chroot-env.sh PACKAGE="e2fsprogs" VERSION="1.47.2" echo "=== Building ${PACKAGE}-${VERSION} ===" cd /sources tar -xf "${PACKAGE}-${VERSION}.tar.gz" cd "${PACKAGE}-${VERSION}" # Note: LFS builds e2fsprogs with a split (build in separate dir) # We do a simpler in-place build for DarkForge mkdir -pv build cd build ../configure \ --prefix=/usr \ --sysconfdir=/etc \ --enable-elf-shlibs \ --disable-libblkid \ --disable-libuuid \ --disable-uuidd \ --disable-fsck make # Optional: run tests # make check || true make install make install-libs # Set proper permissions on important utilities chmod -v u+w /usr/lib/lib{e2p,ext2fs}.a cd /sources rm -rf "${PACKAGE}-${VERSION}" echo "=== ${PACKAGE}-${VERSION} complete ==="