forked from kiss-community/kiss
kiss-chbuild: spawn chroots on the fly
This commit is contained in:
parent
1ea0f2e88d
commit
2b2cce6b57
34
contrib/kiss-chbuild
Executable file
34
contrib/kiss-chbuild
Executable 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"
|
Loading…
Reference in New Issue
Block a user