Big script
This commit is contained in:
51
toolchain/scripts/176-e2fsprogs.sh
Executable file
51
toolchain/scripts/176-e2fsprogs.sh
Executable file
@@ -0,0 +1,51 @@
|
||||
#!/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 ==="
|
||||
Reference in New Issue
Block a user