#!/bin/bash

# this is meant to be put in /usr/bin and allowed to use for for a user
# cp /home/ppa/arch-ppa/arch-chroot-helper /usr/bin/; chown root.root /usr/bin/arch-chroot-helper; chmod 555 /usr/bin/arch-chroot-helper
# then add this using visudo:
# ppa  ALL= NOPASSWD: /usr/bin/arch-chroot-helper

ccm_root='/scratch/.chroot64'

prepare() {
    if [ -d "${ccm_root}/root" ]; then
        # this exists, so just update it
        arch-nspawn "${ccm_root}/root" pacman -Syu --noconfirm
        #yes | arch-nspawn "${ccm_root}/root" pacman -Scc
    else
        # does not exist, create it...
        mkdir -p "${ccm_root}"
        mkarchroot -C /etc/pacman.conf -M /etc/makepkg.conf "${ccm_root}/root" base-devel
    fi
}

nuke() {
    rm -rf "${ccm_root}"
}

make() {
    set -e
    prepare
    makechrootpkg -c -u -r "${ccm_root}"
}

case $1 in
    prepare)
        prepare
        exit $?
        ;;
    nuke)
        nuke
        exit $?
        ;;
    make)
        make
        exit $?
        ;;
    *)
        echo "Must specify command: prepare, nuke, make"
        exit 1
esac