aboutsummaryrefslogtreecommitdiff
path: root/contrib/kiss-chbuild
blob: 2b406d1628b4c1813898e0f3aac2108e226087da (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#!/bin/sh -e
# Create/destroy temporary chroots
case "$1" in --help|-h) printf '\033[1;33m-> \033[m%s\n' "usage: ${0##*/}"; exit 0; esac

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 carbs-rootfs.tar.xz ] || {
    log "Downloading chroot tarball"
    wget https://dl.carbslinux.org/releases/carbs-rootfs.tar.xz
}

[ -d carbs-chroot ] || {
    log "Extracting chroot"
    mkdir -p carbs-chroot
    tar xvf carbs-rootfs.tar.xz -C carbs-chroot
}

log "Creating temporary chroot"
cp -a carbs-chroot "chroot-$pid"

trap clean EXIT INT

log "Entering chroot"
su -c "kiss-chroot chroot-$pid"