From d532afc42680331bc6845d1f5085c977807d04ad Mon Sep 17 00:00:00 2001 From: P. J. McDermott Date: Thu, 21 Aug 2014 11:47:54 -0400 Subject: shell: New command --- diff --git a/lib/cmd/local.mk b/lib/cmd/local.mk index d7d5b7e..aba8908 100644 --- a/lib/cmd/local.mk +++ b/lib/cmd/local.mk @@ -1,4 +1,5 @@ pkgdatacmd_sources = \ lib/cmd/help.sh \ lib/cmd/version.sh \ - lib/cmd/install.sh + lib/cmd/install.sh \ + lib/cmd/shell.sh diff --git a/lib/cmd/shell.sh b/lib/cmd/shell.sh new file mode 100644 index 0000000..58b0e6b --- /dev/null +++ b/lib/cmd/shell.sh @@ -0,0 +1,42 @@ +# ProteanOS Development Kit +# lib/cmd/shell.sh +# "shell" command +# +# Copyright (C) 2014 Patrick "P. J." McDermott +# +# This program 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. +# +# This program 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 this program. If not, see . + +use profile +use chroot + +cmd_shell_main() +{ + local root= + + if [ ${#} -ne 1 ]; then + print_cmd_usage 'shell' >&2 + exit 1 + fi + + root="${1}" + + # TODO: This should be recorded in the chroot. + profile_set 'proteanos' + + chroot_mount "${root}" + chroot "${root}" /bin/sh + printf '\n' + info "$(get_msg 'cmd_shell_exiting')" + chroot_umount "${root}" +} diff --git a/locale/en_US.sh b/locale/en_US.sh index 123c949..246ebd7 100644 --- a/locale/en_US.sh +++ b/locale/en_US.sh @@ -72,5 +72,10 @@ msg_prokit_cmd_install_downloading_pkg='Downloading %s...' msg_prokit_cmd_install_downloading_pkg_fail='Failed to download package' msg_prokit_cmd_install_unpacking_pkg='Unpacking %s...' +# lib/cmd/shell.sh +msg_prokit_cmd_shell_summary='enter a ProteanOS shell' +msg_prokit_cmd_shell_usage='' +msg_prokit_cmd_shell_exiting='Exiting...' + # lib/profile.sh msg_prokit_profile_not_found='Profile "%s" not found' -- cgit v0.9.1