45 lines
1.2 KiB
Bash
Executable File
45 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
# ============================================================================
|
|
# DarkForge Linux — Phase 3, Chapter 8: gawk
|
|
# ============================================================================
|
|
# Purpose: Build gawk (GNU awk — pattern scanning and text processing).
|
|
# Essential build tool used in many package builds.
|
|
# Inputs: /sources/gawk-5.3.1.tar.xz
|
|
# Outputs: gawk and awk binaries in /usr/bin/, libraries in /usr/lib/
|
|
# Assumes: Running inside chroot
|
|
# Ref: LFS 13.0 §8.63
|
|
# ============================================================================
|
|
|
|
set -euo pipefail
|
|
|
|
source /sources/toolchain-scripts/100-chroot-env.sh
|
|
|
|
PACKAGE="gawk"
|
|
VERSION="5.3.1"
|
|
|
|
echo "=== Building ${PACKAGE}-${VERSION} ==="
|
|
|
|
cd /sources
|
|
tar -xf "${PACKAGE}-${VERSION}.tar.xz"
|
|
cd "${PACKAGE}-${VERSION}"
|
|
|
|
sed -i 's/extras//' Makefile.in
|
|
|
|
./configure --prefix=/usr
|
|
|
|
make
|
|
# Optional: run tests
|
|
# make check || true
|
|
make install
|
|
|
|
# Create symlink for awk
|
|
ln -sfv gawk /usr/bin/awk
|
|
|
|
# Create symlink in /usr/share/doc/gawk-VERSION/
|
|
mkdir -pv /usr/share/doc/gawk-${VERSION}
|
|
cp -v doc/{awkforinit.txt,awkuser.txt,pm*.pdf} /usr/share/doc/gawk-${VERSION}
|
|
|
|
cd /sources
|
|
rm -rf "${PACKAGE}-${VERSION}"
|
|
echo "=== ${PACKAGE}-${VERSION} complete ==="
|