FDS/OS 1.0
This commit is contained in:
Executable
+25
@@ -0,0 +1,25 @@
|
||||
#!/usr/bin/env bash
|
||||
# Independent host-tool prefix, so image construction does not mutate xbps-src.
|
||||
source "$(dirname -- "${BASH_SOURCE[0]}")/lib.sh"
|
||||
[[ $# == 0 ]] || die 'Usage: tools/prepare-image-tools'
|
||||
cd "$FDS_ROOT"
|
||||
use_xbps
|
||||
check_void_pin
|
||||
root="$FDS_ROOT/.host/image-tools"
|
||||
cache="$FDS_ROOT/out/cache/image-tools"
|
||||
mkdir -p "$root/var/db/xbps/keys" "$root/config" "$cache" out/manifests
|
||||
exec 9>out/.image-tools.lock
|
||||
flock 9
|
||||
cp "$FDS_VOID/common/repo-keys/"*.plist "$root/var/db/xbps/keys/"
|
||||
if [[ ! -x $root/usr/bin/mkfs.erofs || ! -x $root/usr/bin/mformat || ! -x $root/usr/bin/mkfs.fat || ! -x $root/usr/bin/mke2fs ]]; then
|
||||
[[ ${FDS_OFFLINE:-0} != 1 ]] || die 'Missing frozen image tools; restore the complete input snapshot'
|
||||
bwrap --unshare-user --uid 0 --gid 0 --ro-bind / / \
|
||||
--bind "$root" "$root" --bind "$cache" "$cache" --dev /dev --proc /proc \
|
||||
env XBPS_ARCH=x86_64 XBPS_TARGET_ARCH=x86_64 \
|
||||
"$FDS_XBPS/xbps-install" -r "$root" -C "$root/config" -c "$cache" \
|
||||
-i -R https://repo-default.voidlinux.org/current -SyU erofs-utils dosfstools mtools e2fsprogs
|
||||
fi
|
||||
XBPS_ARCH=x86_64 xbps-query -r "$root" -l >out/manifests/image-tool-packages.txt
|
||||
find "$cache" -maxdepth 1 -name '*.xbps' -print0 | sort -z | xargs -0 sha256sum >out/manifests/image-tool-inputs.sha256
|
||||
tools/in-image-tools mkfs.erofs --version
|
||||
printf 'PASS: project-local EROFS and FAT image tools prepared\n'
|
||||
Reference in New Issue
Block a user