Big script

This commit is contained in:
2026-03-20 15:09:30 +01:00
parent dc2ac2f768
commit a2ca02a856
92 changed files with 5842 additions and 0 deletions

View File

@@ -0,0 +1,42 @@
#!/bin/bash
# ============================================================================
# DarkForge Linux — Phase 3, Chapter 8.28: Libxcrypt
# ============================================================================
# Purpose: Build libxcrypt, a modern replacement for the crypt() function
# in glibc. Provides support for various password hashing algorithms
# (MD5, SHA-256, SHA-512, bcrypt, etc.).
# Required by shadow password utilities and system authentication.
# Inputs: /sources/libxcrypt-4.4.38.tar.xz
# Outputs: libxcrypt library in /usr/lib, headers in /usr/include
# Ref: LFS 13.0 §8.28
# ============================================================================
set -euo pipefail
source /sources/toolchain-scripts/100-chroot-env.sh
PACKAGE="libxcrypt"
VERSION="4.4.38"
echo "=== Building ${PACKAGE}-${VERSION} (Phase 3) ==="
pkg_extract "${PACKAGE}-${VERSION}.tar.xz"
cd "${PACKAGE}-${VERSION}"
# Configure libxcrypt with all algorithms enabled
# --enable-hashes: enable all supported hash algorithms
# --enable-obsolete-api: keep old crypt() API for compatibility
./configure \
--prefix=/usr \
--enable-hashes=all \
--enable-obsolete-api \
--disable-static
make
make install
# Verify installation
echo "libxcrypt installed: libcrypt=$(ls -1 /usr/lib/libcrypt* 2>/dev/null | head -1)"
cd "${SRCDIR}"
pkg_cleanup "${PACKAGE}-${VERSION}"
echo "=== ${PACKAGE}-${VERSION} complete ==="