================================================================================ DarkForge Linux — Chapter 8 Build Scripts Batch 3 (128-154) — Manifest ================================================================================ Created: 2026-03-20 14:55:00 UTC Total Scripts: 27 Status: All created, syntax-validated, executable Location: /sessions/awesome-gallant-bell/mnt/lfs_auto_install/toolchain/scripts/ ================================================================================ SCRIPT DETAILS ================================================================================ 128-ncurses.sh Package: ncurses (auto-detected version) Purpose: Terminal library with wide-character support Build System: autotools Ref: LFS 13.0 §8.31 Key Flags: --with-shared --enable-widec --enable-overwrite Outputs: /usr/lib/libncursesw.so.6, /usr/lib/libncurses.so.6 129-sed.sh Package: sed 4.9 Purpose: Stream editor for filtering and transforming text Build System: autotools Ref: LFS 13.0 §8.32 Key Flags: --prefix=/usr --bindir=/bin Outputs: /bin/sed 130-psmisc.sh Package: psmisc 23.7 Purpose: Process utilities (killall, pstree, fuser) Build System: autotools Ref: LFS 13.0 §8.33 Outputs: /usr/bin/{killall,pstree,fuser,etc} 131-gettext.sh Package: gettext 1.0 Purpose: Internationalization infrastructure Build System: autotools Ref: LFS 13.0 §8.34 Key Flags: --disable-static Outputs: /usr/bin/msgfmt, /usr/bin/xgettext, locale data 132-bison.sh Package: bison 3.8.2 Purpose: General-purpose parser generator Build System: autotools Ref: LFS 13.0 §8.35 Outputs: /usr/bin/bison 133-grep.sh Package: grep 3.12 Purpose: Text search utility for pattern matching Build System: autotools Ref: LFS 13.0 §8.36 Key Flags: --prefix=/usr --bindir=/bin Outputs: /bin/grep 134-bash.sh Package: bash 5.3 Purpose: Final shell with /bin/sh symlink Build System: autotools Ref: LFS 13.0 §8.37 Key Flags: --with-installed-readline --without-bash-malloc Outputs: /bin/bash, /bin/sh (symlink) 135-libtool.sh Package: libtool 2.5.4 Purpose: Generic library support script Build System: autotools Ref: LFS 13.0 §8.38 Outputs: /usr/bin/libtool, /usr/bin/libtoolize 136-gdbm.sh Package: gdbm 1.24 Purpose: GNU database manager library Build System: autotools Ref: LFS 13.0 §8.39 Key Flags: --disable-static --enable-libgdbm-compat Outputs: /usr/lib/libgdbm.so 137-gperf.sh Package: gperf 3.1 Purpose: Perfect hash function generator Build System: autotools Ref: LFS 13.0 §8.40 Outputs: /usr/bin/gperf 138-expat.sh Package: expat 2.7.1 Purpose: XML parsing library Build System: autotools Ref: LFS 13.0 §8.41 Key Flags: --disable-static Outputs: /usr/lib/libexpat.so 139-inetutils.sh Package: inetutils 2.6 Purpose: Network utilities (no systemd) Build System: autotools Ref: LFS 13.0 §8.42 Key Flags: --disable-logger --disable-syslogd --disable-ifdconfig Outputs: /usr/bin/{ping,telnet,etc}, /usr/sbin/{hostname,ifconfig} 140-less.sh Package: less 668 Purpose: Text pager for documentation and log files Build System: autotools Ref: LFS 13.0 §8.43 Outputs: /usr/bin/less 141-perl.sh Package: perl 5.40.2 Purpose: Final Perl interpreter with full module support Build System: Perl Configure script (not autotools) Ref: LFS 13.0 §8.44 Key Flags: -des, --prefix=/usr, --vendorprefix=/usr, --useshrplib Outputs: /usr/bin/perl, /usr/lib/perl5/5.40/ 142-xml-parser.sh Package: XML-Parser 2.47 Purpose: Perl interface to Expat XML library Build System: Perl Makefile.PL (not autotools) Ref: LFS 13.0 §8.45 Outputs: /usr/lib/perl5/XML/ 143-intltool.sh Package: intltool 0.51.0 Purpose: Internationalization tool suite Build System: autotools Ref: LFS 13.0 §8.46 Key Flags: Includes Perl deprecated usage fix Outputs: /usr/bin/intltool-*, /usr/share/intltool/ 144-autoconf.sh Package: autoconf 2.72 Purpose: Source configuration automation Build System: autotools Ref: LFS 13.0 §8.47 Outputs: /usr/bin/autoconf, /usr/share/autoconf/ 145-automake.sh Package: automake 1.17 Purpose: Makefile generator from Makefile.am templates Build System: autotools Ref: LFS 13.0 §8.48 Outputs: /usr/bin/automake, /usr/share/automake-*/ 146-openssl.sh Package: openssl 3.5.0 Purpose: Cryptography and SSL/TLS tools (shared + PIC) Build System: Custom ./config script (not autotools) Ref: LFS 13.0 §8.49 Key Flags: shared, zlib-dynamic, position-independent code Outputs: /usr/bin/openssl, /usr/lib/libssl.so.3, /usr/lib/libcrypto.so.3 147-libelf.sh Package: elfutils 0.192 (libelf only) Purpose: ELF binary manipulation library Build System: autotools Ref: LFS 13.0 §8.50 Key Flags: --disable-debuginfod Outputs: /usr/lib/libelf.so 148-libffi.sh Package: libffi 3.4.7 Purpose: Foreign function interface library Build System: autotools Ref: LFS 13.0 §8.51 Key Flags: --disable-static --with-gcc-arch=native Outputs: /usr/lib/libffi.so 149-python.sh Package: Python 3.13.3 + sqlite-autoconf-3490100 Purpose: Python 3 interpreter with SQLite support Build System: autotools (both packages) Ref: LFS 13.0 §8.52-53 Key Flags: --enable-optimizations --enable-loadable-sqlite-extensions Note: Builds SQLite first as dependency Outputs: /usr/bin/python3, /usr/bin/python (symlink), sqlite3 module 150-flit-core.sh Package: flit-core 3.11.0 Purpose: Minimal Python PEP 517 build backend Build System: python3 -m pip install (not autotools) Ref: LFS 13.0 §8.54 Note: Bootstraps Python packaging Outputs: /usr/lib/python3.13/site-packages/flit_core/ 151-wheel.sh Package: wheel 0.45.1 Purpose: Python wheel distribution format support Build System: python3 -m pip install (not autotools) Ref: LFS 13.0 §8.55-56 Outputs: /usr/lib/python3.13/site-packages/wheel/ 152-setuptools.sh Package: setuptools 78.1.0 Purpose: Python package build and distribution system Build System: python3 -m pip install (not autotools) Ref: LFS 13.0 §8.57 Outputs: /usr/lib/python3.13/site-packages/setuptools/ 153-ninja.sh Package: ninja 1.12.1 Purpose: Fast build system for Meson Build System: Python bootstrap script (not autotools) Ref: LFS 13.0 §8.58 Key Flags: --bootstrap (self-hosting build) Outputs: /usr/bin/ninja 154-meson.sh Package: meson 1.7.0 Purpose: Modern, user-friendly build system Build System: python3 -m pip install (not autotools) Ref: LFS 13.0 §8.59 Outputs: /usr/bin/meson, /usr/lib/python3.13/site-packages/meson/ ================================================================================ DEPENDENCY CHAIN ================================================================================ Core Dependencies: • sed, grep, bash, gperf, expat, ncurses — base utilities • bison — required by gcc and autoconf • perl — required by many build scripts and intltool • gettext, intltool — i18n infrastructure • autoconf, automake, libtool — build system generation • openssl — crypto for wget, curl, and other packages Developer Dependencies: • libffi, libelf — language runtimes and debugging • Python + pip + flit-core + wheel + setuptools — Python ecosystem • ninja + meson — modern build systems Execution Order Constraints: 1. ncurses, sed, grep, bash must run early (used by build scripts) 2. perl must run before intltool and XML-Parser (141→142→143) 3. autoconf, automake must run before intltool 4. Python must run before ninja and meson (149→153→154) 5. flit-core must run before wheel (150→151) 6. wheel + flit-core must run before setuptools (150-151→152) ================================================================================ TESTING CHECKLIST ================================================================================ Before Running: ☐ Verify /sources/ has all tarballs from 100-download-phase3.sh ☐ Confirm chroot environment is set up (100-chroot-env.sh) ☐ Verify CFLAGS, MAKEFLAGS, etc. are exported ☐ Ensure enough free space (30GB+ recommended) During Execution: ☐ Monitor each build for warnings or errors ☐ Check that `make test` passes where applicable (perl, python) ☐ Verify no stray files left in /sources after cleanup ☐ Watch for library version conflicts After Execution: ☐ Verify all binaries are executable: `ls -l /usr/bin/{bash,sed,grep,perl,python3}` ☐ Check pkg-config: `pkg-config --modversion openssl` ☐ Test Python: `python3 --version && python3 -c "import sqlite3"` ☐ Test build tools: `gcc --version && make --version && meson --version` ================================================================================ ERROR RECOVERY ================================================================================ If a script fails: 1. Check the error message and log output 2. Determine if it's a missing dependency or configuration issue 3. Do NOT skip ahead — dependencies must be satisfied in order 4. Fix the issue (check LFS book, patch source, etc.) 5. Re-run the failed script 6. If the script succeeded before cleanup, you may need to: - Manually rm -rf /sources/package-name - Re-extract if needed - Re-run make install Common Issues: • "command not found" → previous package didn't build correctly • "header files not found" → missing development library • "permission denied" → check chroot mount permissions • "disk full" → need more space on target partition ================================================================================