Files
fds-os/tools/build-fds-package
T

42 lines
2.0 KiB
Bash
Executable File

#!/usr/bin/env bash
source "$(dirname -- "${BASH_SOURCE[0]}")/lib.sh"
[[ $# == 0 ]] || die 'Usage: tools/build-fds-package'
cd "$FDS_ROOT"
fds_version=$(tools/version)
use_xbps
tools/build-fds
tools/prepare-void
input="$FDS_VOID/hostdir/sources/fds-cli-${fds_version}"
mkdir -p "$input" out/packages
cp out/fds out/fds-control out/fds-program out/fds-boottrace out/fds-burn out/fds-inspect out/fds-eject out/fds-power out/fds-release LICENSE "$input/"
notices=$(mktemp -d "$FDS_ROOT/out/rust-notices.XXXXXX")
python3 tools/rust-notices "$notices/RUST-NOTICES.txt"
cp "$notices/RUST-NOTICES.txt" "$input/"
(cd "$input" && sha256sum fds fds-control fds-program fds-boottrace fds-burn fds-inspect fds-eject fds-power fds-release LICENSE RUST-NOTICES.txt >SHA256SUMS)
(
cd "$FDS_VOID"
xbps_src -a aarch64 clean fds-cli
xbps_src -f -a aarch64 pkg fds-cli
) 2>&1 | tee out/logs/xbps-fds-cli.log
tools/export-package "$FDS_VOID/hostdir/binpkgs/fds-cli-${fds_version}_1.aarch64.xbps"
input="$FDS_VOID/hostdir/sources/fds-cartridged-${fds_version}"
if [[ -d $input ]]; then
previous=$(mktemp -d "$FDS_ROOT/out/cartridged-source.XXXXXX")
mv "$input" "$previous/"
fi
mkdir -p "$input/s6-source/boot/contents.d"
cp out/fds-cartridged out/fds-profile LICENSE "$input/"
cp -a s6/source/cartridged s6/source/cartridged-runtime s6/source/cartridged-log "$input/s6-source/"
for service in desktop desktop-runtime xserver xserver-log desktop-session desktop-log network network-runtime dhcp network-log; do
cp -a "s6/source/$service" "$input/s6-source/"
done
cp s6/source/boot/contents.d/cartridged "$input/s6-source/boot/contents.d/"
(cd "$input" && find . -type f ! -name SHA256SUMS -print0 | sort -z | xargs -0 sha256sum >SHA256SUMS)
(
cd "$FDS_VOID"
xbps_src -a aarch64 clean fds-cartridged
xbps_src -f -a aarch64 pkg fds-cartridged
) 2>&1 | tee out/logs/xbps-fds-cartridged.log
tools/export-package "$FDS_VOID/hostdir/binpkgs/fds-cartridged-${fds_version}_1.aarch64.xbps"
printf 'PASS: FDS CLI package built without a dynamic libc dependency\n'