Package workstation tools, reuse emulator sessions, and derive build versions

This commit is contained in:
2026-09-23 03:45:48 +08:00
parent 6bfcce8070
commit f5d9f96409
79 changed files with 878 additions and 132 deletions
+6 -6
View File
@@ -2,12 +2,13 @@
source "$(dirname -- "${BASH_SOURCE[0]}")/lib.sh"
[[ $# == 0 ]] || die 'Usage: tools/build-dasungd'
cd "$FDS_ROOT"
fds_version=$(tools/version)
use_xbps
check_void_pin
mkdir -p out/logs out/manifests out/packages
# These are build-container tools; no Arch packages or host services are changed.
missing=()
for package in cross-aarch64-linux-musl pkg-config s6-rc; do
for package in cross-aarch64-linux-musl pkg-config s6-rc python3 git; do
if ! XBPS_ARCH=x86_64 xbps-query -r "$FDS_VOID/masterdir-x86_64" "$package" >/dev/null 2>&1; then
missing+=("$package")
fi
@@ -26,7 +27,7 @@ tools/in-void env LIBUSB_NO_PKG_CONFIG=1 LIBUDEV_NO_PKG_CONFIG=1 \
binary=target/aarch64-unknown-linux-musl/release/dasungd
tools/verify-elf "$binary" aarch64 static
cp -- "$binary" out/dasungd
input="$FDS_VOID/hostdir/sources/fds-dasungd-0.1.0"
input="$FDS_VOID/hostdir/sources/fds-dasungd-${fds_version}"
mkdir -p "$input"
cp -- "$binary" "$input/dasungd"
cp rust/dasungd/LICENSE rust/dasungd/profiles/paperlike13k-37hz.edid "$input/"
@@ -62,10 +63,9 @@ tools/prepare-void
cd "$FDS_VOID"
xbps_src -f -a aarch64 pkg fds-dasungd
) 2>&1 | tee out/logs/xbps-fds-dasungd.log
package=fds-dasungd-0.1.0_1.aarch64.xbps
cp "$FDS_VOID/hostdir/binpkgs/$package" out/packages/
XBPS_ARCH=aarch64 xbps-rindex -fa "out/packages/$package"
package="fds-dasungd-${fds_version}_1.aarch64.xbps"
tools/export-package "$FDS_VOID/hostdir/binpkgs/$package"
sha256sum out/dasungd "out/packages/$package" >out/manifests/dasung-artifacts.sha256
XBPS_ARCH=x86_64 xbps-query -r "$FDS_VOID/masterdir-x86_64" -l >out/manifests/dasung-build-packages.txt
sha256sum Cargo.toml Cargo.lock rust-toolchain.toml .cargo/config.toml tools/cargo-build tools/lib.sh tools/build-dasungd >out/manifests/dasung-rust-inputs.sha256
sha256sum tools/version tools/fds_version.py tools/version-build.rs Cargo.toml Cargo.lock rust-toolchain.toml .cargo/config.toml tools/cargo-build tools/lib.sh tools/build-dasungd >out/manifests/dasung-rust-inputs.sha256
printf 'PASS: Dasung static ARM executable, base package, and s6 database built\n'