#!/bin/bash -euE # libremkchroot # Copyright 2011, 2012 Luke Shumaker # # This file is part of Parabola. # # Parabola is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # Parabola is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with Parabola. If not, see . . /usr/share/libretools/conf.sh load_conf_libretools_chroot . "$(which libremessages)" cmd=${0##*/} usage() { echo "Usage: $cmd [OPTIONS] [CHROOT]" echo 'This script will create a chroot to build packages in.' echo "Use \`librechroot' to interact with the chroot after it is created." echo '' echo "The default CHROOT is \`${CHROOT}'." echo '' echo 'Options:' echo ' -h Show this message' echo '' echo ' -C Location of pacman config file.' echo ' -M Location of makepkg config file.' } main() { archroot_args=(-f); while getopts 'hC:M:' arg; do case "$arg" in C|M) archroot_args+=("-$arg" "$OPTARG");; h) usage; exit 0;; *) usage; exit 1;; esac done shift $(($OPTIND - 1)) case $# in 0) :;; 1) CHROOT="$1";; *) usage; exit 1;; esac if (( EUID )); then error "This script must be run as root" exit 1 fi mkdir -p "${CHROOTDIR}/${CHROOT}" archroot "${archroot_args[@]}" "${CHROOTDIR}/${CHROOT}/root" -i base base-devel sudo "${CHROOTEXTRAPKG[@]}" } main "$@"