#!/bin/bash # LibreMkChroot # Creates a chroot # Copyright 2011, 2012 Luke Shumaker # ---------- GNU General Public License 3 ---------- # 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 . . /etc/libretools.conf 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=(); while getopts 'hfd:C: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 "${chroot_args[@]}" "${CHROOTDIR}/${CHROOT}/root" -i base base-devel sudo "${CHROOTEXTRAPKG[@]}" } main "$@"