46 lines
1.3 KiB
Bash
46 lines
1.3 KiB
Bash
#!/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"
|