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

Andre McCurdy armccurdy at gmail.com
Wed May 23 01:19:15 UTC 2018


On Tue, May 22, 2018 at 5:48 PM, Randy MacLeod
<randy.macleod at windriver.com> wrote:
> 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.

Thanks for digging in to the details!

>> 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.

There's no real choice but to drop these (ie they disappear when you
run "make oldconfig").

>> 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.

All the proposals seem reasonable to me.

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

As an aside, it looks like the poky-tiny defconfig for busybox hasn't
been refreshed since busybox 1.19.3 so anyone building poky-tiny now
is going to get 6 years worth of new applets and features which they
might not be expecting.

>
> --
> # Randy MacLeod
> # Wind River Linux



More information about the Openembedded-core mailing list