kiss-chbuild: spawn chroots on the fly

This commit is contained in:
Dylan Araps 2020-01-21 02:52:40 +02:00
parent 1ea0f2e88d
commit 2b2cce6b57
No known key found for this signature in database
GPG Key ID: 46D62DD9F1DE636E
1 changed files with 34 additions and 0 deletions

34
contrib/kiss-chbuild Executable file
View File

@ -0,0 +1,34 @@
#!/bin/sh -e
#
# Create/destroy temporary chroots.
log() {
printf '\033[31;1m->\033[m %s.\n' "$@"
}
clean() {
log "Destroying chroot"
su -c "rm -rf chroot-$pid" || clean
}
pid=$$
cd "${cac_dir:=$KISS_ROOT${XDG_CACHE_HOME:-$HOME/.cache}/kiss}"
[ -f kiss-chroot.tar.xz ] || {
log "Downloading chroot tarball"
wget https://dl.getkiss.org/kiss-chroot.tar.xz
}
[ -d kiss-chroot ] || {
log "Extracting chroot"
tar xvf kiss-chroot.tar.xz
}
log "Creating temporary chroot"
cp -a kiss-chroot "chroot-$pid"
trap clean EXIT INT
log "Entering chroot"
su -c "kiss-chroot chroot-$pid"