aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorRon Yorston <rmy@pobox.com>2018-11-27 14:34:25 +0000
committerDenys Vlasenko <vda.linux@googlemail.com>2018-11-27 16:13:07 +0100
commit71df2d3589e3e682cd6770f41f0b184841b78702 (patch)
tree0c71963e9d622bc48256a3917c1ce55ccc019a4f /scripts
parentf4709d78cb0c4f54283046e8f86edb9ecd7e41ca (diff)
downloadbusybox-71df2d3589e3e682cd6770f41f0b184841b78702.tar.gz
hush: allow hush to run embedded scripts
Embedded scripts require a shell to be present in the BusyBox binary. Allow either ash or hush to be used for this purpose. If both are enabled ash takes precedence. The size of the binary is unchanged in the default configuration: both ash and hush are present but support for embedded scripts isn't compiled into hush. Signed-off-by: Ron Yorston <rmy@pobox.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/embedded_scripts8
-rwxr-xr-xscripts/gen_build_files.sh2
2 files changed, 9 insertions, 1 deletions
diff --git a/scripts/embedded_scripts b/scripts/embedded_scripts
index 86ad44d1d..aa7bf3e8a 100755
--- a/scripts/embedded_scripts
+++ b/scripts/embedded_scripts
@@ -1,5 +1,7 @@
#!/bin/sh
+. ./.config || exit 1
+
target="$1"
custom_loc="$2"
applet_loc="$3"
@@ -8,6 +10,12 @@ test "$target" || exit 1
test "$SED" || SED=sed
test "$DD" || DD=dd
+if [ x"$CONFIG_FEATURE_SH_EMBEDDED_SCRIPTS" != x"y" ]
+then
+ printf '#define NUM_SCRIPTS 0\n' >"$target"
+ exit 0
+fi
+
# Some people were bitten by their system lacking a (proper) od
od -v -b </dev/null >/dev/null
if test $? != 0; then
diff --git a/scripts/gen_build_files.sh b/scripts/gen_build_files.sh
index 362632df3..92de681ac 100755
--- a/scripts/gen_build_files.sh
+++ b/scripts/gen_build_files.sh
@@ -25,7 +25,7 @@ custom_scripts()
then
for i in $(cd "$custom_loc"; ls * 2>/dev/null)
do
- printf "APPLET_SCRIPTED(%s, scripted, BB_DIR_USR_BIN, BB_SUID_DROP, scripted)\n" $i;
+ printf "IF_FEATURE_SH_EMBEDDED_SCRIPTS(APPLET_SCRIPTED(%s, scripted, BB_DIR_USR_BIN, BB_SUID_DROP, scripted))\n" $i;
done
fi
}