From d532afc42680331bc6845d1f5085c977807d04ad Mon Sep 17 00:00:00 2001
From: P. J. McDermott <pj@pehjota.net>
Date: Thu, 21 Aug 2014 11:47:54 -0400
Subject: shell: New command

---
(limited to 'lib')

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 <http://www.gnu.org/licenses/>.
+
+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}"
+}
--
cgit v0.9.1