#!/bin/bash # ============================================================================ # DarkForge Linux — Phase 3, Chapter 8: kbd # ============================================================================ # Purpose: Build kbd (loadkeys, dumpkeys, kbd_mode, setfont utilities). # Provides keyboard and font configuration tools. # Inputs: /sources/kbd-2.7.1.tar.xz # Outputs: kbd utilities in /usr/bin/, keymaps in /usr/share/kbd/ # Assumes: Running inside chroot # Ref: LFS 13.0 §8.69 # ============================================================================ set -euo pipefail source /sources/toolchain-scripts/100-chroot-env.sh PACKAGE="kbd" VERSION="2.7.1" echo "=== Building ${PACKAGE}-${VERSION} ===" cd /sources tar -xf "${PACKAGE}-${VERSION}.tar.xz" cd "${PACKAGE}-${VERSION}" patch -Np1 -i ../kbd-${VERSION}-backspace-1.patch 2>/dev/null || \ echo "WARNING: kbd backspace patch not found, continuing..." sed -i '/RESIZECONS_PROGS=/s/yes/no/' configure sed -i 's/resizecons.8 //' docs/man/man8/Makefile.in ./configure --prefix=/usr --disable-vlock make # Optional: run tests # make check || true make install # Create /usr/share/doc/kbd-VERSION for documentation mkdir -pv /usr/share/doc/kbd-${VERSION} cp -R -v docs/doc/* /usr/share/doc/kbd-${VERSION} cd /sources rm -rf "${PACKAGE}-${VERSION}" echo "=== ${PACKAGE}-${VERSION} complete ==="