aboutsummaryrefslogtreecommitdiff
path: root/applets
Commit message (Collapse)AuthorAgeFilesLines
* Automatically disable FEATURE_COMPRESS_USAGE for small builds.Gravatar Denys Vlasenko2017-01-061-0/+3
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* build system: always rewrite NUM_APPLETS.hGravatar Denys Vlasenko2016-08-231-10/+11
| | | | | | | Conditional rewrite can keep NUM_APPLETS.h mtime old, this causes make to try to regenerate it at every invocation. Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* build system: different fix for include/applet_tables.h/include/NUM_APPLETS.hGravatar Denys Vlasenko2016-08-211-3/+16
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* build system: fix include/NUM_APPLETS.h generationGravatar Denys Vlasenko2016-08-141-5/+2
| | | | | | TBH, it's more like "work around my bad makefile-fu" than "fix"... Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* config: disentangle PREFER_APPLETS from SH_STANDALONE and SH_NOFORKGravatar Denys Vlasenko2016-07-221-1/+3
| | | | | | | | On user request. I thought enabling/disabling them all together is more consistent. Evidently, some people do want them to be separately selectable. Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* build system: fix a few warnings for allnoconfig buildGravatar Denys Vlasenko2016-07-051-0/+2
| | | | | | Not that allnoconfig build is useful in any way... Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* build system: finer-grained selection of search speedup table.Gravatar Denys Vlasenko2016-04-021-32/+33
| | | | | | | | | | | KNOWN_APPNAME_OFFSETS=8 versus KNOWN_APPNAME_OFFSETS=0: function old new delta find_applet_by_name 55 136 +81 applet_nameofs - 14 +14 run_applet_and_exit 757 758 +1 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* applet_tables: save space by removing applet name offsetsGravatar Ron Yorston2016-03-301-18/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The array applet_nameofs consumes two bytes per applet. It encodes nofork/noexec flags suid flags the offset of the applet name in the applet_name string Change the applet_table build tool to store the flags in two separate arrays (applet_flags and applet_suid). Replace applet_nameofs[] with a smaller version that only stores a limited number of offsets. This requires changes to the macros APPLET_IS_NOFORK, APPLET_IS_NOEXEC and APPLET_SUID. According to Valgrind the original find_applet_by_name required 353 cycles per call, averaged over all names. Adjusting the number of known offsets allows space to be traded off against execution time: KNOWN_OFFSETS cycles bytes (wrt KNOWN_OFFSETS = 0) 0 9057 - 2 4604 32 4 2407 75 8 1342 98 16 908 130 32 884 194 This patch uses KNOWN_OFFSETS = 8. v2: Remove some dead code from the applet_table tool; Treat the applet in the middle of the table as a special case. v3: Use the middle applet to adjust the start of the linear search as well as the last applet found. v4: Use an augmented linear search in find_applet_by_name. Drop the special treatment of the middle name from get_applet_name: most of the advantage now derives from the last stored value. v5: Don't store index in applet_nameofs, it can be calculated. v6: Tweaks by Denys function old new delta find_applet_by_name 25 125 +100 applet_suid - 92 +92 run_applet_no_and_exit 452 460 +8 run_applet_and_exit 695 697 +2 applet_name_compare 31 - -31 applet_nameofs 734 14 -720 ------------------------------------------------------------------------------ (add/remove: 1/1 grow/shrink: 3/1 up/down: 202/-751) Total: -549 bytes text data bss dec hex filename 925464 906 17160 943530 e65aa busybox_old 924915 906 17160 942981 e6385 busybox_unstripped Signed-off-by: Ron Yorston <rmy@pobox.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* Aboriginal linux/musl build fixesGravatar Denys Vlasenko2015-10-051-0/+9
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* applets: Add installation of individual binariesGravatar Clayton Shotwell2015-07-011-2/+24
| | | | | | | | Adding support to install individual binaries if the option is enabled. This also installs the shared libbusybox.so.* library. Signed-off-by: Clayton Shotwell <clshotwe@rockwellcollins.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* false: make "false --help" exit with 1Gravatar Denys Vlasenko2014-09-181-0/+17
| | | | | | | function old new delta run_applet_no_and_exit 447 445 -2 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* build system: use od -b instead of od -t x1Gravatar Denys Vlasenko2013-11-261-6/+6
| | | | | | od -t is not available in non-CONFIG_DESKTOPed busybox od Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* build system: do not generate MAX_APPLET_NAME_LEN (unused)Gravatar Denys Vlasenko2013-11-261-5/+5
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* buildsys: Add helper to list suid appletsGravatar Bernhard Reutner-Fischer2013-07-261-0/+54
| | | | | | | | | | | | | Add a helper script that lists all applets that - do or may require SUID provileges (busybox.cfg.suid) - do not require SUID provileges (busybox.cfg.nosuid) Some setups prefer to build two busybox binaries, one that is suid which contains all applets that do or may require suid privileges, and a second one for all the rest (which drops suid). To ease splitting these two binaries, generate a list of CONFIG_ items for the suid binary. Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* style fixes, no code changesGravatar Denys Vlasenko2012-09-021-1/+1
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* Fix one-applet build for tcpsvdGravatar Denys Vlasenko2012-03-191-8/+1
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* applet_tables: fix single applet build failure. Closes 4009Gravatar Denys Vlasenko2011-09-161-1/+8
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* applets/install.sh: afer quoting of variablesGravatar Denys Vlasenko2011-04-051-35/+34
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* fix install.shGravatar Denys Vlasenko2011-04-041-6/+10
| | | | | Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* applet_tables: do not include libbb.h, that header ir for target buildsGravatar Denys Vlasenko2011-03-281-2/+8
| | | | | | ...and applets/applet_tables.c is built on *host*. Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* fix bit rot in scripts/Makefile.IMA #2Gravatar Denys Vlasenko2011-03-061-0/+3
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* .gitignore: add missing ignoresGravatar Bjørn Forsman2011-03-061-0/+1
| | | | | | | Ignore output files created by "make defconfig; make". Signed-off-by: Bjørn Forsman <bjorn.forsman@gmail.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* fix "make install"Gravatar Bernd Jendrissek2011-02-201-1/+1
| | | | | Signed-off-by: Bernd Jendrissek <bernd.jendrissek@gmail.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* whitespace fixesGravatar Denys Vlasenko2011-02-031-2/+2
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* simpler check for odGravatar Denys Vlasenko2010-09-161-1/+2
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* build system: test that od is present in the host systemGravatar Denys Vlasenko2010-09-161-0/+6
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* *: make GNU licensing statement forms more regularGravatar Denys Vlasenko2010-08-166-6/+6
| | | | | | | This change retains "or later" state! No licensing _changes_ here, only form is adjusted (article, space between "GPL" and "v2" and so on). Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* *: fix "see file License ..." - the file is named LICENSE (in uppercase)Gravatar Denys Vlasenko2010-08-162-2/+2
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* make usage_compressed.h generation _always_ update mtimeGravatar Denys Vlasenko2010-07-081-5/+1
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* randomconfig fixesGravatar Denys Vlasenko2010-07-051-2/+0
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* Yet another attempt to stamp out "make -j" problemsGravatar Denys Vlasenko2010-07-041-1/+7
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* build system: do not rebuild ash and hush on any change to any .c fileGravatar Denys Vlasenko2010-06-262-3/+23
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* remove defconfig. Now "make defconfig" simply uses defaults from Config.inGravatar Denys Vlasenko2010-06-061-1/+1
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* make it possible to have include/applets.h-esque entries in .c filesGravatar Denys Vlasenko2010-06-061-3/+3
| | | | | | As an example, bunzip2 and bzcat is changed to use it. Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* Remove requirement that include/applets.h must be sortedGravatar Denys Vlasenko2010-06-053-37/+75
| | | | | | | | First, I _again_ violated it - two xz-related applets are in wrong positions. Second, planned in-applet help text thing will be so much easier without this requirement... Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* mass renaming Kbuild -> Kbuild.src, Config.in -> Config.srcGravatar Denys Vlasenko2010-06-041-0/+0
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ash,hush: make it possible to build them individuallyGravatar Denys Vlasenko2010-03-231-2/+4
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* whitespace fixesGravatar Denys Vlasenko2010-01-251-3/+3
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* build system: more fixes to parallel buildGravatar Denys Vlasenko2009-11-251-3/+0
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* build system: fix parallel makeGravatar Denys Vlasenko2009-11-241-0/+3
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* applets/usage_compressed: combine many seds in one; hide dd statsGravatar Bernhard Reutner-Fischer2009-10-271-7/+8
| | | | | Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* mkfs_ext2: use compatible inode sizes; add -I <inodesize>. (by Vladimir)Gravatar Denys Vlasenko2009-10-221-3/+3
| | | | | | | | | | function old new delta mkfs_ext2_main 2385 2495 +110 packed_usage 26400 26447 +47 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 2/0 up/down: 157/0) Total: 157 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ok, last fix wasn't correct... this one is betterGravatar Denys Vlasenko2009-10-021-2/+5
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* fix a typo in prev commitGravatar Denys Vlasenko2009-10-021-1/+1
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* Update documentation generator so that it sucks lessGravatar Denys Vlasenko2009-10-024-20/+121
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* do not store 1st two bytes of compressed help textGravatar Denys Vlasenko2009-08-201-1/+1
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* add .gitignore filesGravatar Mike Frysinger2009-05-051-0/+2
| | | | Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* another stab at fixing out-of-tree buildGravatar Denis Vlasenko2009-04-191-1/+1
|
* hopefully fix out-of-tree build broken by 26139Gravatar Denis Vlasenko2009-04-191-6/+12
|
* build system: remove some unnecessary rebuildsGravatar Denis Vlasenko2009-04-171-4/+7
|