[OE-core] [V2][PATCH] busybox: update to 1.28.3

Randy MacLeod randy.macleod at windriver.com
Wed May 23 00:48:50 UTC 2018


On 05/22/2018 07:06 PM, Andre McCurdy wrote:
...
> Building before and after Armin's patch and then diffing .config files
> in each build directory gives:
> 

I didn't know what all of these configs were so I've
listed them below and stated a straw-man opinion as
to whether to keep them or not.

> Old 1.27.2 specific config options removed:
> 
> -CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS=y
> -CONFIG_FEATURE_ADDUSER_LONG_OPTIONS=y
> -CONFIG_FEATURE_ENV_LONG_OPTIONS=y
> -CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS=y
> -CONFIG_FEATURE_MKDIR_LONG_OPTIONS=y

I'm okay with following upstream busybox wrt long options so
we can drop this.

> 
> New 1.28.3 specific options added:
> 
> +CONFIG_BB_ARCH=y

Adds 'arch' which is the same output as 'uname -m' but
I always use arch and didn't know off-hand that uname -m was the same.

Keep it.

> +CONFIG_FEATURE_CATN=y
   This adds an option to cat:
    -n numbers all output lines while -b numbers nonempty output lines.
   The commit that added this feature says:
      a2bdc5c55 cat: allow compiling out -n and -b
   so since previously the feature was always available,

I'm okay with keeping it.

> +CONFIG_FEATURE_SH_READ_FRAC=y

   Enables a fractional second read timeout for the shell builtin.
   bool "read -t N.NNN support (+110 bytes)"
   Enable support for fractional second timeout in read builtin.

Potentially useful, keep it.

> +CONFIG_FEATURE_SWAPONOFF_LABEL=y

   This allows for specifying a device by label or uuid, rather than by
   name. This feature utilizes the same functionality as blkid/findfs.

Useful. Keep it.

> +CONFIG_FEATURE_VOLUMEID_MINIX=y

I don't know of a case where this would be generally useful.

Omit.

> +CONFIG_FEATURE_XARGS_SUPPORT_ARGS_FILE=y
     xargs: support -a FILE

     The GNU-specific option -a lets xargs read the arguments from a file
     rather than from stdin.

     This is particularly convenient when debugging in gdb interactively,
     and it might be of more general use.

Huh... what?
Digging through the findutils repo, I see that there's a better 
explaination in the findutils/NEWS file from 2004(!):

*** xargs can now read a list of arguments from a named file, allowing
     the invoked program to use the same stdin as xargs started with
     (for example ``xargs --arg-file=todo emacs'').

Keep it (I suppose).

> +CONFIG_FEATURE_XARGS_SUPPORT_PARALLEL=y

From: https://bugs.busybox.net/show_bug.cgi?id=9511
Example:
find samplegz | xargs -n1 -P4 sh parse.sh

Costs 241 bytes.

Keep it.

The next group are described below but
I've put my conclusions after each config.

> +CONFIG_HEXEDIT=y
Drop it.

> +CONFIG_NUKE=y
Drop it.

> +CONFIG_RESUME=y
Drop it -- maybe?

> +CONFIG_RUN_INIT=y
Drop it.

> +CONFIG_SETFATTR=y
Drop it.

> 
> So new applets hexedit, nuke, etc, are going to sneak in to our builds
> unless we refresh our defconfig to disable them.
> 


Here is the rough estimate of the new applet sizes:

$ git show 38da4c4420ea6d7b3cf120c0902458e7d8256560 | \
    grep "^+//config:.*bool"
+//config:	bool "nuke (2.4 kb)"
+//config:	bool "resume (3.3 kb)"
+//config:	bool "run-init (7.5 kb)"
+//config:	bool "hexedit (20 kb)"
+//config:	bool "setfattr (3.6 kb)"


and the commit that added most of the applets that includes
a brief explanation of the applet's function:

commit ab77e81a8527fa11a4f9392d97c2da037d6f4f98
Author: Denys Vlasenko <vda.linux at googlemail.com>
Date:   Fri Aug 18 19:15:29 2017 +0200

     klibc-utils: new applets: resume, nuke, minips

     minips is a pure alias to ps,
     just in case someone needs 100% klibc-utils compat.

     nuke is a primitive version of "rm -rf" without
     options and error checks. ~30 bytes.

     resume is a tool for initramfs which resumes from
     a given block device.

     function                                         old     new   delta
     resume_main                                        -     582    +582
     packed_usage                                   31640   31712     +72
     nuke_main                                          -      28     +28
     xstrtoull                                          -      24     +24
     applet_names                                    2646    2665     +19
     applet_main                                     1532    1544     +12
     applet_suid                                       96      97      +1
     applet_install_loc                               192     193      +1
     applet_flags                                      96      97      +1
 
------------------------------------------------------------------------
     (add/remove: 5/0 grow/shrink: 6/0 up/down: 740/0)   Total: 740 bytes

     Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>



While these are useful utilities,
I don't see a need for any of the new applets in the oe-core defconfig.

Armin,
If no one objects to my suggestions, please change the defconfig
in the next update or ping me and I'll do it.

-- 
# Randy MacLeod
# Wind River Linux



More information about the Openembedded-core mailing list