busybox/scripts
Ron Yorston 3778898f97 Treat custom and applet scripts as applets
BusyBox has support for embedded shell scripts.  Two types can be
distinguished:  custom scripts and scripts implementing applets.

Custom scripts should be placed in the 'embed' directory at build
time.  They are given a default applet configuration and appear
as applets to the user but no further configuration is possible.

Applet scripts are integrated with the BusyBox build system and
are intended to be used to ship standard applets that just happen
to be implemented as scripts.  They can be configured at build time
and appear just like native applets.

Such scripts should be placed in the 'applets_sh' directory.  A stub
C program should be written to provide the usual applet configuration
details and placed in a suitable subsystem directory.  It may be
helpful to have a configuration option to enable any dependencies the
script requires:  see the 'nologin' applet for an example.

function                                             old     new   delta
scripted_main                                          -      41     +41
applet_names                                        2773    2781      +8
applet_main                                         1600    1604      +4
i2cdetect_main                                       672     674      +2
applet_suid                                          100     101      +1
applet_install_loc                                   200     201      +1
applet_flags                                         100     101      +1
packed_usage                                       33180   33179      -1
tryexec                                              159     152      -7
evalcommand                                         1661    1653      -8
script_names                                           9       -      -9
packed_scripts                                       123     114      -9
complete_cmd_dir_file                                826     811     -15
shellexec                                            271     254     -17
find_command                                        1007     990     -17
busybox_main                                         642     624     -18
run_applet_and_exit                                  100      78     -22
find_script_by_name                                   51       -     -51
------------------------------------------------------------------------------
(add/remove: 1/2 grow/shrink: 6/9 up/down: 58/-174)          Total: -116 bytes
   text	   data	    bss	    dec	    hex	filename
 950034	    477	   7296	 957807	  e9d6f	busybox_old
 949918	    477	   7296	 957691	  e9cfb	busybox_unstripped

Signed-off-by: Ron Yorston <rmy@pobox.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-11-17 21:16:33 +01:00
..
basic typo fixes 2015-05-25 13:46:36 +02:00
kconfig scripts/kconfig/mconf.c: survive is SIGWINCH is not defined 2018-04-06 19:05:53 +02:00
bb_release Update release script to generate detached signatures and checksum files 2018-06-09 21:19:35 +02:00
bloat-o-meter bloat-o-meter: add usage info 2013-10-16 19:18:05 +02:00
checkhelp.awk whitespace fixes 2010-01-25 13:39:24 +01:00
checkstack.pl attack the biggest stack users: 2007-12-02 08:35:37 +00:00
cleanup_printf2puts typo fix 2010-11-06 22:17:30 +01:00
echo.c do not use `a' quoting style in comments 2017-08-02 14:26:33 +02:00
embedded_scripts Treat custom and applet scripts as applets 2018-11-17 21:16:33 +01:00
find_bad_common_bufsiz Audit bb_common_bufsiz usage, add script which looks for misuse. 2007-06-04 10:16:52 +00:00
find_stray_common_vars make variables static 2007-09-27 10:08:02 +00:00
find_stray_empty_lines find_stray_empty_lines: make it work 2010-07-28 21:29:19 +02:00
fix_ws.sh whitespace fixes 2008-07-12 23:02:43 +00:00
gcc-version.sh disable -Wold-style-definition for gcc 3.x 2007-01-29 17:08:51 +00:00
gen_build_files.sh Treat custom and applet scripts as applets 2018-11-17 21:16:33 +01:00
generate_BUFSIZ.sh build system: make CONFIG_FEATURE_USE_BSS_TAIL less funky 2016-06-29 15:00:52 +02:00
Kbuild.include - need to pass the PATH down to the gcc-version check to be able to find the correct cc. 2007-06-25 10:41:01 +00:00
Kbuild.src mass renaming Kbuild -> Kbuild.src, Config.in -> Config.src 2010-06-04 20:10:51 +02:00
Makefile.build build system: specify '-nostldlib' when linking to .o files 2014-04-02 12:12:46 +02:00
Makefile.clean scripts/Makefile.clean: Make Kbuild and Makefile optional 2010-05-16 02:50:07 +02:00
Makefile.host *: trailing empty lines removed 2010-07-26 01:49:12 +02:00
Makefile.IMA klibc-utils: new applets: resume, nuke, minips 2017-08-18 19:15:29 +02:00
Makefile.lib *: trailing empty lines removed 2010-07-26 01:49:12 +02:00
memusage scripts: add a script which prints memory map of running busybox 2008-05-26 18:41:35 +00:00
mkconfigs build system: use od -b instead of od -t x1 2013-11-26 14:56:29 +01:00
mkdiff_obj scripts/mkdiff_obj: show "size OBJFILE" too 2010-10-29 19:06:20 +02:00
mkdiff_obj_bloat *: a few more NOINLINEs 2009-10-08 14:35:37 +02:00
mkmakefile mkmakefile: make 3.82 fix 2010-10-19 12:49:51 +02:00
objsizes ...and exclude LC_ALL too 2008-12-01 12:38:36 +00:00
randomtest scripts/randomtest: disable CONFIG_NSLOOKUP for uclibc 2018-06-26 17:22:35 +02:00
randomtest.loop randomconfig fixes 2017-12-31 17:30:02 +01:00
sample_pmap scripts: add a script which prints memory map of running busybox 2008-05-26 18:41:35 +00:00
showasm *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
test_make_clean remove defconfig. Now "make defconfig" simply uses defaults from Config.in 2010-06-06 04:14:28 +02:00
test_make_O fix make O=dir build 2010-07-09 01:25:36 +02:00
test_setenv_leak.c crond: do not assume setenv() does not leak 2017-07-22 02:25:47 +02:00
trylink build system: FEATURE_LIBBUSYBOX_STATIC - try to pull libc/libm into libbusybox 2017-07-15 14:52:26 +02:00