aboutsummaryrefslogtreecommitdiff
path: root/core/kiss/files/kiss-chbuild
blob: 9df18ccbde111c63eb7f1cdbb4d7b0ac0779fa75 (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
34
35
#!/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 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"