# "install" command # # Copyright (C) 2013-2015 Patrick "P. J." McDermott # # This file is part of the ProteanOS Development Kit. # # The ProteanOS Development Kit 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. # # The ProteanOS Development Kit 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 the ProteanOS Development Kit. If not, see # . cmd_install_optstring='a:p:m:F' cmd_install_main() { local suite= local chroot= local profile= local foreign= local dev= if ! get_options "${@}"; then print_cmd_usage 'install' >&2 exit 1 fi shift $(($OPTIND - 1)) if [ ${#} -lt 2 ]; then print_cmd_usage 'install' >&2 exit 1 fi # TODO: Consider making suite optional, getting a default suite from the # profile. suite="${1}" chroot="${2}" if [ "x${suite%%:*}" != "x${suite}" ]; then profile="${suite%%:*}" suite="${suite#*:}" else profile='proteanos' fi profile_set "${profile}" suite="$(profile_normalize_suite "${suite}")" if [ "x${cmd_install_opt_F+set}" = 'xset' ]; then foreign=true else foreign=false fi dev='' if is_block "${chroot}"; then dev="${chroot}" chroot="$(block_mount "${dev}")" fi install_system "${cmd_install_opt_m-}" "${suite}" \ "${cmd_install_opt_a-}" "${cmd_install_opt_p-}" \ "${chroot}" "${foreign}" [ "x${dev}" != 'x' ] && block_umount "${chroot}" } cmd_install_register() { register_cmd 'install' } __init cmd_install_register