53 lines
1.5 KiB
Bash
Executable File
53 lines
1.5 KiB
Bash
Executable File
#!/bin/bash
|
|
# ============================================================================
|
|
# DarkForge Linux — Phase 3, Chapter 8: eudev
|
|
# ============================================================================
|
|
# Purpose: Build eudev (udev without systemd dependencies).
|
|
# Device manager for /dev and /sys — required for kernel device support.
|
|
# This replaces LFS §8.78 (systemd-udev) as per DarkForge spec.
|
|
# Inputs: /sources/eudev-3.2.14.tar.gz
|
|
# Outputs: eudev daemon, rules, and libraries in /usr/, /etc/udev/
|
|
# Assumes: Running inside chroot
|
|
# Ref: LFS 13.0 §8.78 (adapted for eudev instead of systemd-udev)
|
|
# https://github.com/eudev-project/eudev
|
|
# ============================================================================
|
|
|
|
set -euo pipefail
|
|
|
|
source /sources/toolchain-scripts/100-chroot-env.sh
|
|
|
|
PACKAGE="eudev"
|
|
VERSION="3.2.14"
|
|
|
|
echo "=== Building ${PACKAGE}-${VERSION} ==="
|
|
|
|
cd /sources
|
|
tar -xf "${PACKAGE}-${VERSION}.tar.gz"
|
|
cd "${PACKAGE}-${VERSION}"
|
|
|
|
# eudev can be built standalone without systemd
|
|
./configure \
|
|
--prefix=/usr \
|
|
--sysconfdir=/etc \
|
|
--with-rootprefix=/ \
|
|
--enable-manpages \
|
|
--disable-static
|
|
|
|
make
|
|
# Optional: run tests
|
|
# make check || true
|
|
make install
|
|
|
|
# Create the udev rules directory (may not be created by default)
|
|
mkdir -pv /etc/udev/rules.d
|
|
|
|
# Create udev control socket directory
|
|
mkdir -pv /run/udev
|
|
|
|
# Set permissions on the udev socket
|
|
chmod -v 755 /run/udev
|
|
|
|
cd /sources
|
|
rm -rf "${PACKAGE}-${VERSION}"
|
|
echo "=== ${PACKAGE}-${VERSION} complete ==="
|