Containerize local builds with rootless nerdctl
This commit is contained in:
parent
4aef12054e
commit
30fc02d79f
1 changed files with 216 additions and 31 deletions
|
|
@ -18,7 +18,7 @@ elif [ "$#" -ne 0 ]; then
|
|||
exit 2
|
||||
fi
|
||||
|
||||
for command in cargo cmp install readelf; do
|
||||
for command in cmp install; do
|
||||
command -v "$command" >/dev/null 2>&1 || {
|
||||
printf '%s\n' "install-to-host: $command is required" >&2
|
||||
exit 1
|
||||
|
|
@ -26,37 +26,15 @@ for command in cargo cmp install readelf; do
|
|||
done
|
||||
|
||||
cd "$root"
|
||||
tools/materialize-fuser
|
||||
tools/materialize-runsc --build
|
||||
cargo build \
|
||||
--release \
|
||||
--locked \
|
||||
--package lazaret-client \
|
||||
--package lazaret-host-coordinator \
|
||||
--package lazaret-escalation-client \
|
||||
--bins
|
||||
env RUSTFLAGS="-C relocation-model=static -C link-arg=-no-pie" cargo build \
|
||||
--release \
|
||||
--locked \
|
||||
--target x86_64-unknown-linux-musl \
|
||||
--package lazaret-sandbox-init \
|
||||
--bin lazaret-sandbox-init
|
||||
tools/build
|
||||
|
||||
target_dir="${CARGO_TARGET_DIR:-target}"
|
||||
if [[ "$target_dir" != /* ]]; then
|
||||
target_dir="$root/$target_dir"
|
||||
fi
|
||||
target_dir="$root/.lazaret/target"
|
||||
|
||||
install -d -m 755 "$install_dir"
|
||||
for executable in lazaret lazaret-host-coordinator lazaret-escalation-client; do
|
||||
install -m 755 "$target_dir/release/$executable" "$install_dir/$executable"
|
||||
done
|
||||
sandbox_init="$target_dir/x86_64-unknown-linux-musl/release/lazaret-sandbox-init"
|
||||
if readelf -l "$sandbox_init" | grep -q 'Requesting program interpreter' ||
|
||||
! readelf -d "$sandbox_init" 2>&1 | grep -q 'There is no dynamic section'; then
|
||||
printf '%s\n' "install-to-host: sandbox init is dynamically linked" >&2
|
||||
exit 1
|
||||
fi
|
||||
install -m 755 "$sandbox_init" "$install_dir/lazaret-sandbox-init"
|
||||
|
||||
runsc_build_id=9e711e005f13402e728a0c3ada3fdc67a38918da31f720e5be1006edc4272a51
|
||||
|
|
|
|||
Loading…
Reference in a new issue