busybox/include
Denys Vlasenko 4f2ef4a836 ash: allow shell scripts to be embedded in the binary
To assist in the deployment of shell scripts it may be convenient
to embed them in the BusyBox binary.

'Embed scripts in the binary' takes any files in the directory
'embed', concatenates them with null separators, compresses them
and embeds them in the binary.

When scripts are embedded in the binary, scripts can be run as
'busybox SCRIPT [ARGS]' or by usual (sym)link mechanism.

embed/nologin is provided as an example.

function                                             old     new   delta
packed_scripts                                         -     123    +123
unpack_scripts                                         -      87     +87
ash_main                                            1103    1171     +68
run_applet_and_exit                                   78     128     +50
get_script_content                                     -      32     +32
script_names                                           -      10     +10
expmeta                                              663     659      -4
------------------------------------------------------------------------------
(add/remove: 4/0 grow/shrink: 2/1 up/down: 370/-4)            Total: 366 bytes

Signed-off-by: Ron Yorston <rmy@pobox.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-11-01 10:15:13 +01:00
..
.gitignore ash: allow shell scripts to be embedded in the binary 2018-11-01 10:15:13 +01:00
applet_metadata.h applet_tables: do not include libbb.h, that header ir for target builds 2011-03-28 01:23:38 +02:00
applets.h.sh modprobe-small: make applets individually selectable 2016-12-23 15:13:16 +01:00
applets.src.h Remove outdated comments 2016-11-23 21:51:11 +01:00
ar.h *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
bb_archive.h randomconfig fixes 2018-06-26 15:35:17 +02:00
bb_e2fs_defs.h Whitespace fixes 2013-07-30 11:52:58 +02:00
busybox.h config: disentangle PREFER_APPLETS from SH_STANDALONE and SH_NOFORK 2016-07-22 18:48:38 +02:00
dump.h *: whitespace fixes 2010-10-28 18:57:19 +02:00
fix_u32.h *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
grp_.h libpwdgrp: use FAST_FUNC to make "matching ABI" optimization more likely to succeed 2015-01-02 22:31:07 +01:00
inet_common.h more thorough fix for systems with strange socklen_t 2010-02-02 12:45:38 +01:00
libbb.h ash: allow shell scripts to be embedded in the binary 2018-11-01 10:15:13 +01:00
liblzo_interface.h lzop: code shrink 2018-02-01 01:41:31 +01:00
platform.h Hopefully fix "will break strict-aliasing rules" warning for get_le32 2017-08-10 12:40:48 +02:00
pwd_.h libpwdgrp: use getpwent() instead of getpwent_r() 2015-02-07 21:21:02 +01:00
rtc_.h whitespace cleanup 2010-10-29 11:46:52 +02:00
shadow_.h libpwdgrp: use FAST_FUNC to make "matching ABI" optimization more likely to succeed 2015-01-02 22:31:07 +01:00
unicode.h ash,hush: recheck LANG before every line input 2011-03-23 17:59:27 +01:00
usage.src.h password utils: improve --help, make DEFAULT_PASSWD_ALGO visible if CHPASSWD 2017-01-20 19:47:49 +01:00
volume_id.h blkid: if parameters are given, do not scan /dev 2012-03-03 15:09:07 +01:00
xatonum.h udhcp: finish support of classless static routes 2011-12-16 17:05:52 +01:00
xregex.h *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00