Files
darkforge/toolchain/CHAPTER8-BATCH3-MANIFEST.txt
2026-03-20 15:09:30 +01:00

289 lines
10 KiB
Plaintext

================================================================================
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
================================================================================