diff --git a/package/klish-plugin-infix/Config.in b/package/klish-plugin-infix/Config.in index f8ae6808..82fc62ce 100644 --- a/package/klish-plugin-infix/Config.in +++ b/package/klish-plugin-infix/Config.in @@ -6,3 +6,13 @@ config BR2_PACKAGE_KLISH_PLUGIN_INFIX help A plugin to klish with an opinionated config and some command extensions, suitable for systems running Infix. + +if BR2_PACKAGE_KLISH_PLUGIN_INFIX + +config BR2_PACKAGE_KLISH_PLUGIN_INFIX_SHELL + bool "shell command" + default y + help + Include 'shell' command exit to Bash. + +endif diff --git a/package/klish-plugin-infix/klish-plugin-infix.mk b/package/klish-plugin-infix/klish-plugin-infix.mk index 2a2d57ca..07f56e05 100644 --- a/package/klish-plugin-infix/klish-plugin-infix.mk +++ b/package/klish-plugin-infix/klish-plugin-infix.mk @@ -23,6 +23,12 @@ else KLISH_PLUGIN_INFIX_CONF_OPTS += --disable-containers endif +ifeq ($(BR2_PACKAGE_KLISH_PLUGIN_INFIX_SHELL),y) +KLISH_PLUGIN_INFIX_CONF_OPTS += --enable-shell +else +KLISH_PLUGIN_INFIX_CONF_OPTS += --disable-shell +endif + define KLISH_PLUGIN_INFIX_INSTALL_DOC $(INSTALL) -t $(TARGET_DIR)/usr/share/infix/cli -D -m 0644 \ $(wildcard $(BR2_EXTERNAL_INFIX_PATH)/doc/cli/*.md) diff --git a/src/klish-plugin-infix/configure.ac b/src/klish-plugin-infix/configure.ac index cb39f115..340d9fc9 100644 --- a/src/klish-plugin-infix/configure.ac +++ b/src/klish-plugin-infix/configure.ac @@ -22,6 +22,10 @@ AC_ARG_ENABLE(containers, AS_HELP_STRING([--enable-containers], [Enable support for containers]),,[ enable_containers=no]) +AC_ARG_ENABLE(shell, + AS_HELP_STRING([--enable-shell], [Enable shell access from CLI]),,[ + enable_shell=no]) + # Check for pkg-config first, warn if it's not installed PKG_PROG_PKG_CONFIG @@ -31,6 +35,7 @@ AC_CHECK_LIB([klish], [kplugin_new],, AC_MSG_ERROR([Klish not found])) # Control build with automake flags AM_CONDITIONAL(CONTAINERS, [test "x$enable_containers" != "xno"]) +AM_CONDITIONAL(SHELL, [test "x$enable_shell" != "xno"]) test "x$prefix" = xNONE && prefix=$ac_default_prefix test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' diff --git a/src/klish-plugin-infix/xml/Makefile.am b/src/klish-plugin-infix/xml/Makefile.am index 33eab011..fbb601c0 100644 --- a/src/klish-plugin-infix/xml/Makefile.am +++ b/src/klish-plugin-infix/xml/Makefile.am @@ -4,3 +4,7 @@ klishconf_DATA = infix.xml if CONTAINERS klishconf_DATA += containers.xml endif + +if SHELL +klishconf_DATA += shell.xml +endif diff --git a/src/klish-plugin-infix/xml/infix.xml b/src/klish-plugin-infix/xml/infix.xml index 007604bf..cd965f5a 100644 --- a/src/klish-plugin-infix/xml/infix.xml +++ b/src/klish-plugin-infix/xml/infix.xml @@ -147,10 +147,6 @@ /ietf-system:system-restart - - /usr/bin/env CLISH=yes bash -l - - pop diff --git a/src/klish-plugin-infix/xml/shell.xml b/src/klish-plugin-infix/xml/shell.xml new file mode 100644 index 00000000..b750e436 --- /dev/null +++ b/src/klish-plugin-infix/xml/shell.xml @@ -0,0 +1,14 @@ + + + + + + + /usr/bin/env CLISH=yes bash -l + + + +