45 lines
1.9 KiB
Bash
Executable File
45 lines
1.9 KiB
Bash
Executable File
#!/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'
|