diff options
author | dylan.araps@gmail.com <dylan.araps@gmail.com> | 2020-01-21 00:52:39 +0000 |
---|---|---|
committer | dylan.araps@gmail.com <dylan.araps@gmail.com> | 2020-01-21 00:52:39 +0000 |
commit | 575f00219c1d7d952ba89911676581168713b3f4 (patch) | |
tree | f482048b860090740dd043410ec4650ed360128b | |
parent | 139f33f6884812558d2bad8fe3f5be25eba81079 (diff) | |
download | cpt-575f00219c1d7d952ba89911676581168713b3f4.tar.gz |
kiss-chbuild: spawn chroots on the fly
FossilOrigin-Name: 68499289a198b27f60c70d9cc5d8f42ba7a3c00abd992e2a81a5766e89b7b510
-rwxr-xr-x | contrib/kiss-chbuild | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/contrib/kiss-chbuild b/contrib/kiss-chbuild new file mode 100755 index 0000000..69e0854 --- /dev/null +++ b/contrib/kiss-chbuild @@ -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" |