Files
guix-router/scripts/check-closure-arch.sh
ssmithxandClaude Opus 5.5 7e8562dbe3 firewall4 replaces router.nft; fix x86 refs from copy-build-system
Package firewall4 (OpenWrt main's pin) with its paths in the store and
add firewall-service-type: fw4 start/flush/reload/check under Shepherd,
netifd's iface hotplug script to reload on ifup, /etc/nftables.d seeded
once.  /etc/config/firewall is seeded with OpenWrt's stock config plus
the lab-only WAN SSH rule.  It provides 'nftables and replaces
nftables-service-type and files/router.nft.

copy-build-system ignores --target, so openwrt-base-files referred to
x86 uci and jshn on the Pi.  Script packages now use gnu-build-system
with copy-build-system's install phase.  scripts/check-closure-arch.sh
lists x86 items in a system closure (PITFALLS #39).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 05:51:08 -04:00

12 lines
447 B
Bash
Executable File

#!/bin/sh
# List store items in a cross-built system's closure that contain x86-64
# ELF files: native packages leaked in (PITFALLS #39).
# Usage: scripts/check-closure-arch.sh /gnu/store/...-system
set -eu
guix gc -R "$1" | while read -r item; do
hit=$(find "$item" -type f \( -perm -u+x -o -name '*.so*' \) 2>/dev/null |
head -200 | xargs -r file -b 2>/dev/null | grep -m1 'x86-64' || true)
[ -n "$hit" ] && echo "$item"
done
exit 0