aboutsummaryrefslogtreecommitdiff
path: root/contrib/kiss-chbuild
blob: 69e0854329df7c8b07a71be740ce76eec2f3431f (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
#!/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"