289 lines
10 KiB
Plaintext
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
|
|
|
|
================================================================================
|