#!/usr/bin/env bash # Build every FDS base package from its source overlay and checked static payloads. source "$(dirname -- "${BASH_SOURCE[0]}")/lib.sh" [[ $# == 0 ]] || die 'Usage: tools/build-base-packages' cd "$FDS_ROOT" fds_version=$(tools/version) use_xbps check_void_pin mkdir -p out/logs out/packages out/manifests exec 8>out/.base-packages.lock flock -n 8 || die 'Another base package build is already running' # Refresh the hardware package and every FDS overlay used in this image. tools/build-fds-package tools/build-kernel tools/build-dasungd input="$FDS_VOID/hostdir/sources/fds-init-${fds_version}" if [[ -d $input ]]; then previous=$(mktemp -d "$FDS_ROOT/out/init-source.XXXXXX") mv "$input" "$previous/" fi mkdir -p "$input/s6-source/boot/contents.d" "$input/s6-source/dasungd-runtime/dependencies.d" for service in runtime-fs hostname console getty eudevd udev-trigger test-runtime test-echo machine-config; do cp -a "s6/source/$service" "$input/s6-source/" done for member in runtime-fs hostname getty udev-trigger; do cp "s6/source/boot/contents.d/$member" "$input/s6-source/boot/contents.d/" done cp s6/source/dasungd-runtime/dependencies.d/runtime-fs "$input/s6-source/dasungd-runtime/dependencies.d/" ( cd "$input" find . -type f ! -name SHA256SUMS -print0 | sort -z | xargs -0 sha256sum >SHA256SUMS ) for package in fds-dhcpcd fds-eink fds-base-files fds-init fds-base; do ( cd "$FDS_VOID" xbps_src -a aarch64 clean "$package" xbps_src -f -a aarch64 pkg "$package" ) 2>&1 | tee "out/logs/xbps-$package.log" package_version=$fds_version [[ $package != fds-dhcpcd ]] || package_version=10.3.2 tools/export-package "$FDS_VOID/hostdir/binpkgs/${package}-${package_version}_1.aarch64.xbps" done XBPS_ARCH=aarch64 xbps-rindex -fa out/packages/fds-*.aarch64.xbps printf 'PASS: all FDS base packages exported to out/packages/\n'