#!/bin/bash
# created by Tobias Powalowski <tpowa@archlinux.org>
source /etc/archboot/defaults

_usage () {
    echo "CREATE ARCHBOOT REPOSITORY"
    echo "-----------------------------"
    echo "This will create an archboot repository for an archboot image."
    echo "Usage: ${_BASENAME} <directory>"
    exit 0
}

_cachedir_check() {
    if grep -q ^CacheDir /etc/pacman.conf; then
        echo "Error: CacheDir set in /etc/pacman.conf. Aborting ..."
        exit 1
    fi
}

_download_packages() {
    echo "Downloading packages base linux ${_PACKAGES} and ${_ARCHBOOT} to ${1} ..."
    pacman --root "${1}" -Syw base linux "${_PACKAGES}" "${_ARCHBOOT}" --ignore systemd-resolvconf --noconfirm --cachedir "${_CACHEDIR}" >/dev/null 2>&1
}

_aarch64_download_packages() {
    echo "Downloading packages base linux ${_PACKAGES} and ${_ARCHBOOT} to ${1} ..."
    systemd-nspawn -q -D "${1}" /bin/bash -c "pacman -Syw base linux ${_PACKAGES} ${_ARCHBOOT} --ignore systemd-resolvconf --noconfirm" >/dev/null 2>&1
}

_move_packages() {
    echo "Moving packages to ${2} ..."
    mv "${1}"/var/cache/pacman/pkg/./* "${2}"
}

_cleanup_repodir() {
    echo "Remove ${1}  ..."
    rm -r "${1}"
}

_create_archboot_db() {
    echo "Creating archboot repository db ..."
    #shellcheck disable=SC2046
    LANG=C repo-add -q "${1}"/archboot.db.tar.gz $(find "${1}"/ -type f ! -name '*.sig')
}
