aboutsummaryrefslogtreecommitdiff
path: root/core/kiss/files/kiss-chbuild
diff options
context:
space:
mode:
authorCem Keylan <cem@ckyln.com>2020-03-15 17:32:02 +0300
committerCem Keylan <cem@ckyln.com>2020-03-15 17:32:02 +0300
commit65bf06519e580430d6b02ccba24641c65e184081 (patch)
treee7ea0488ff78546bf254ff7df277851b66ff4248 /core/kiss/files/kiss-chbuild
parent899204961996123f934c977534407fccb296b864 (diff)
parentdda8630d16564c781608c774defa66085f67e4a5 (diff)
downloadrepository-65bf06519e580430d6b02ccba24641c65e184081.tar.gz
Merge branch 'master' of git.carbslinux.org:git/repository
Diffstat (limited to 'core/kiss/files/kiss-chbuild')
-rwxr-xr-xcore/kiss/files/kiss-chbuild35
1 files changed, 35 insertions, 0 deletions
diff --git a/core/kiss/files/kiss-chbuild b/core/kiss/files/kiss-chbuild
new file mode 100755
index 00000000..9df18ccb
--- /dev/null
+++ b/core/kiss/files/kiss-chbuild
@@ -0,0 +1,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"