52 lines
1.4 KiB
Bash
Executable File
52 lines
1.4 KiB
Bash
Executable File
#!/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 ==="
|