aboutsummaryrefslogtreecommitdiffstats
path: root/make-bootstrap-file.sh
diff options
context:
space:
mode:
Diffstat (limited to 'make-bootstrap-file.sh')
-rw-r--r--make-bootstrap-file.sh45
1 files changed, 45 insertions, 0 deletions
diff --git a/make-bootstrap-file.sh b/make-bootstrap-file.sh
new file mode 100644
index 0000000..d1c5cb4
--- /dev/null
+++ b/make-bootstrap-file.sh
@@ -0,0 +1,45 @@
+#!/bin/bash
+
+# build: Bootstrap a base Hyperbola GNU+Linux-libre system.
+
+set -e -u -o pipefail
+
+SCRIPT=$(readlink -f "$0")
+SCRIPT_PWD=$(dirname "$SCRIPT")
+CHROOT_DELETE='y'
+
+RESULTPATH=${SCRIPT_PWD}/
+ARCH="x86_64"
+REPO_URL="https://mirror.fsf.org/hyperbola/gnu-plus-linux-libre/testing"
+DOWNLOAD_DIR="/tmp/bootstrap-packages"
+
+ROOTFS=$(mktemp -d)
+mkdir -p "$ROOTFS"
+# remove old archives
+rm -f "${RESULTPATH}/hyperbola-bootstrap.tar.gz" "${RESULTPATH}/hyperbola-bootstrap.tar.gz.sha512sum"
+
+# bootstrap
+"${SCRIPT_PWD}/hyper-bootstrap.sh" -a "${ARCH}" -r "${REPO_URL}" -d "${DOWNLOAD_DIR}" "${ROOTFS}"
+
+cd "${ROOTFS}"
+# clean up package cache
+rm -rf var/cache/*
+# create new archive
+tar -czf "${RESULTPATH}/hyperbola-bootstrap.tar.gz" --transform "s|^|root.${ARCH}/|" --owner 0 --group 0 -- \
+ bin dev home media opt root sbin sys usr lib64 \
+ boot etc lib mnt proc run srv tmp var
+
+sha512sum "${RESULTPATH}/hyperbola-bootstrap.tar.gz" >| "${RESULTPATH}/hyperbola-bootstrap.tar.gz.sha512sum"
+
+# clean chroot temp
+case $CHROOT_DELETE in
+ y) rm -rf "${ROOTFS}" || true && echo -e "\e[1;32m==>\e[0m\033[1m Temporal chroot deleted! \e[m" ;;
+ n) echo 'temporal chroot available' ;;
+ *) echo 'invalid_option "$@"' ;;
+esac
+
+# report result
+echo "REPO: $REPO_URL"
+echo "DOWNLOAD_DIR: $DOWNLOAD_DIR"
+echo "ROOTFS: $ROOTFS"
+echo "RESULTPATH: $RESULTPATH"