Message ID | 20240313091412.20865-1-francois.perrad@gadz.org |
---|---|
State | Changes Requested |
Headers | show |
Series | [01/31] package/busybox: move the hush config in a fragment | expand |
François, All, On 2024-03-13 10:13 +0100, Francois Perrad spake thusly: > by this way, the busybox-minimal.config becomes more widely usable > > at this time, busybox-minimal.config is the default for no-mmu > so, busybox-hush.fragment must be also a default for no-mmu Sorry, I am not sure I see the point. Can you elaborate, and respin with an extended commit log, please? Regards, Yann E. MORIN. > Signed-off-by: Francois Perrad <francois.perrad@gadz.org> > --- > package/busybox/Config.in | 1 + > package/busybox/busybox-hush.fragment | 51 ++++++++++++ > package/busybox/busybox-minimal.config | 109 +++++++++++++------------ > 3 files changed, 107 insertions(+), 54 deletions(-) > create mode 100644 package/busybox/busybox-hush.fragment > > diff --git a/package/busybox/Config.in b/package/busybox/Config.in > index 3c2aa515f..819cc2c4c 100644 > --- a/package/busybox/Config.in > +++ b/package/busybox/Config.in > @@ -25,6 +25,7 @@ config BR2_PACKAGE_BUSYBOX_CONFIG > > config BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES > string "Additional BusyBox configuration fragment files" > + default "package/busybox/busybox-hush.fragment" if !BR2_USE_MMU > help > A space-separated list of configuration fragment files, > that will be merged to the main BusyBox configuration file. > diff --git a/package/busybox/busybox-hush.fragment b/package/busybox/busybox-hush.fragment > new file mode 100644 > index 000000000..e1ac47cce > --- /dev/null > +++ b/package/busybox/busybox-hush.fragment > @@ -0,0 +1,51 @@ > +# this fragment allows to switch from `ash` to `hush` > +# - `ash` is the most complete, it's a derivative of the Debian `dash` > +# - `hush` works on no-mmu systems, but its syntax is not "standard" > + > +# CONFIG_SH_IS_ASH is not set > +CONFIG_SH_IS_HUSH=y > +# CONFIG_SH_IS_NONE is not set > + > +# CONFIG_BASH_IS_ASH is not set > +# CONFIG_BASH_IS_HUSH is not set > +CONFIG_BASH_IS_NONE=y > + > +# CONFIG_SHELL_ASH is not set > + > +CONFIG_HUSH=y > +CONFIG_SHELL_HUSH=y > +CONFIG_HUSH_BASH_COMPAT=y > +CONFIG_HUSH_BRACE_EXPANSION=y > +# CONFIG_HUSH_BASH_SOURCE_CURDIR is not set > +CONFIG_HUSH_LINENO_VAR=y > +CONFIG_HUSH_INTERACTIVE=y > +CONFIG_HUSH_SAVEHISTORY=y > +CONFIG_HUSH_JOB=y > +CONFIG_HUSH_TICK=y > +CONFIG_HUSH_IF=y > +CONFIG_HUSH_LOOPS=y > +CONFIG_HUSH_CASE=y > +CONFIG_HUSH_FUNCTIONS=y > +CONFIG_HUSH_LOCAL=y > +CONFIG_HUSH_RANDOM_SUPPORT=y > +CONFIG_HUSH_MODE_X=y > +CONFIG_HUSH_ECHO=y > +CONFIG_HUSH_PRINTF=y > +CONFIG_HUSH_TEST=y > +CONFIG_HUSH_HELP=y > +CONFIG_HUSH_EXPORT=y > +CONFIG_HUSH_EXPORT_N=y > +CONFIG_HUSH_READONLY=y > +CONFIG_HUSH_KILL=y > +CONFIG_HUSH_WAIT=y > +CONFIG_HUSH_COMMAND=y > +CONFIG_HUSH_TRAP=y > +CONFIG_HUSH_TYPE=y > +CONFIG_HUSH_TIMES=y > +CONFIG_HUSH_READ=y > +CONFIG_HUSH_SET=y > +CONFIG_HUSH_UNSET=y > +CONFIG_HUSH_ULIMIT=y > +CONFIG_HUSH_UMASK=y > +CONFIG_HUSH_GETOPTS=y > +# CONFIG_HUSH_MEMLEAK is not set > diff --git a/package/busybox/busybox-minimal.config b/package/busybox/busybox-minimal.config > index 1e7ad1d35..cf53c1598 100644 > --- a/package/busybox/busybox-minimal.config > +++ b/package/busybox/busybox-minimal.config > @@ -1115,68 +1115,69 @@ CONFIG_SVOK=y > # > # Shells > # > -# CONFIG_SH_IS_ASH is not set > -CONFIG_SH_IS_HUSH=y > +CONFIG_SH_IS_ASH=y > +# CONFIG_SH_IS_HUSH is not set > # CONFIG_SH_IS_NONE is not set > # CONFIG_BASH_IS_ASH is not set > # CONFIG_BASH_IS_HUSH is not set > CONFIG_BASH_IS_NONE=y > -# CONFIG_SHELL_ASH is not set > -# CONFIG_ASH is not set > -# CONFIG_ASH_OPTIMIZE_FOR_SIZE is not set > -# CONFIG_ASH_INTERNAL_GLOB is not set > -# CONFIG_ASH_BASH_COMPAT is not set > +CONFIG_SHELL_ASH=y > +CONFIG_ASH=y > +CONFIG_ASH_OPTIMIZE_FOR_SIZE=y > +CONFIG_ASH_INTERNAL_GLOB=y > +CONFIG_ASH_BASH_COMPAT=y > # CONFIG_ASH_BASH_SOURCE_CURDIR is not set > -# CONFIG_ASH_BASH_NOT_FOUND_HOOK is not set > -# CONFIG_ASH_JOB_CONTROL is not set > -# CONFIG_ASH_ALIAS is not set > -# CONFIG_ASH_RANDOM_SUPPORT is not set > -# CONFIG_ASH_EXPAND_PRMT is not set > -# CONFIG_ASH_IDLE_TIMEOUT is not set > +CONFIG_ASH_BASH_NOT_FOUND_HOOK=y > +CONFIG_ASH_JOB_CONTROL=y > +CONFIG_ASH_ALIAS=y > +CONFIG_ASH_RANDOM_SUPPORT=y > +CONFIG_ASH_EXPAND_PRMT=y > +CONFIG_ASH_IDLE_TIMEOUT=y > # CONFIG_ASH_MAIL is not set > -# CONFIG_ASH_ECHO is not set > -# CONFIG_ASH_PRINTF is not set > -# CONFIG_ASH_TEST is not set > -# CONFIG_ASH_HELP is not set > -# CONFIG_ASH_GETOPTS is not set > -# CONFIG_ASH_CMDCMD is not set > +CONFIG_ASH_ECHO=y > +CONFIG_ASH_PRINTF=y > +CONFIG_ASH_TEST=y > +CONFIG_ASH_SLEEP=y > +CONFIG_ASH_HELP=y > +CONFIG_ASH_GETOPTS=y > +CONFIG_ASH_CMDCMD=y > # CONFIG_CTTYHACK is not set > -CONFIG_HUSH=y > -CONFIG_SHELL_HUSH=y > -CONFIG_HUSH_BASH_COMPAT=y > -CONFIG_HUSH_BRACE_EXPANSION=y > +# CONFIG_HUSH is not set > +# CONFIG_SHELL_HUSH is not set > +# CONFIG_HUSH_BASH_COMPAT is not set > +# CONFIG_HUSH_BRACE_EXPANSION is not set > # CONFIG_HUSH_BASH_SOURCE_CURDIR is not set > -CONFIG_HUSH_LINENO_VAR=y > -CONFIG_HUSH_INTERACTIVE=y > -CONFIG_HUSH_SAVEHISTORY=y > -CONFIG_HUSH_JOB=y > -CONFIG_HUSH_TICK=y > -CONFIG_HUSH_IF=y > -CONFIG_HUSH_LOOPS=y > -CONFIG_HUSH_CASE=y > -CONFIG_HUSH_FUNCTIONS=y > -CONFIG_HUSH_LOCAL=y > -CONFIG_HUSH_RANDOM_SUPPORT=y > -CONFIG_HUSH_MODE_X=y > -CONFIG_HUSH_ECHO=y > -CONFIG_HUSH_PRINTF=y > -CONFIG_HUSH_TEST=y > -CONFIG_HUSH_HELP=y > -CONFIG_HUSH_EXPORT=y > -CONFIG_HUSH_EXPORT_N=y > -CONFIG_HUSH_READONLY=y > -CONFIG_HUSH_KILL=y > -CONFIG_HUSH_WAIT=y > -CONFIG_HUSH_COMMAND=y > -CONFIG_HUSH_TRAP=y > -CONFIG_HUSH_TYPE=y > -CONFIG_HUSH_TIMES=y > -CONFIG_HUSH_READ=y > -CONFIG_HUSH_SET=y > -CONFIG_HUSH_UNSET=y > -CONFIG_HUSH_ULIMIT=y > -CONFIG_HUSH_UMASK=y > -CONFIG_HUSH_GETOPTS=y > +# CONFIG_HUSH_LINENO_VAR is not set > +# CONFIG_HUSH_INTERACTIVE is not set > +# CONFIG_HUSH_SAVEHISTORY is not set > +# CONFIG_HUSH_JOB is not set > +# CONFIG_HUSH_TICK is not set > +# CONFIG_HUSH_IF is not set > +# CONFIG_HUSH_LOOPS is not set > +# CONFIG_HUSH_CASE is not set > +# CONFIG_HUSH_FUNCTIONS is not set > +# CONFIG_HUSH_LOCAL is not set > +# CONFIG_HUSH_RANDOM_SUPPORT is not set > +# CONFIG_HUSH_MODE_X is not set > +# CONFIG_HUSH_ECHO is not set > +# CONFIG_HUSH_PRINTF is not set > +# CONFIG_HUSH_TEST is not set > +# CONFIG_HUSH_HELP is not set > +# CONFIG_HUSH_EXPORT is not set > +# CONFIG_HUSH_EXPORT_N is not set > +# CONFIG_HUSH_READONLY is not set > +# CONFIG_HUSH_KILL is not set > +# CONFIG_HUSH_WAIT is not set > +# CONFIG_HUSH_COMMAND is not set > +# CONFIG_HUSH_TRAP is not set > +# CONFIG_HUSH_TYPE is not set > +# CONFIG_HUSH_TIMES is not set > +# CONFIG_HUSH_READ is not set > +# CONFIG_HUSH_SET is not set > +# CONFIG_HUSH_UNSET is not set > +# CONFIG_HUSH_ULIMIT is not set > +# CONFIG_HUSH_UMASK is not set > +# CONFIG_HUSH_GETOPTS is not set > # CONFIG_HUSH_MEMLEAK is not set > > # > -- > 2.40.1 > > _______________________________________________ > buildroot mailing list > buildroot@buildroot.org > https://lists.buildroot.org/mailman/listinfo/buildroot
diff --git a/package/busybox/Config.in b/package/busybox/Config.in index 3c2aa515f..819cc2c4c 100644 --- a/package/busybox/Config.in +++ b/package/busybox/Config.in @@ -25,6 +25,7 @@ config BR2_PACKAGE_BUSYBOX_CONFIG config BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES string "Additional BusyBox configuration fragment files" + default "package/busybox/busybox-hush.fragment" if !BR2_USE_MMU help A space-separated list of configuration fragment files, that will be merged to the main BusyBox configuration file. diff --git a/package/busybox/busybox-hush.fragment b/package/busybox/busybox-hush.fragment new file mode 100644 index 000000000..e1ac47cce --- /dev/null +++ b/package/busybox/busybox-hush.fragment @@ -0,0 +1,51 @@ +# this fragment allows to switch from `ash` to `hush` +# - `ash` is the most complete, it's a derivative of the Debian `dash` +# - `hush` works on no-mmu systems, but its syntax is not "standard" + +# CONFIG_SH_IS_ASH is not set +CONFIG_SH_IS_HUSH=y +# CONFIG_SH_IS_NONE is not set + +# CONFIG_BASH_IS_ASH is not set +# CONFIG_BASH_IS_HUSH is not set +CONFIG_BASH_IS_NONE=y + +# CONFIG_SHELL_ASH is not set + +CONFIG_HUSH=y +CONFIG_SHELL_HUSH=y +CONFIG_HUSH_BASH_COMPAT=y +CONFIG_HUSH_BRACE_EXPANSION=y +# CONFIG_HUSH_BASH_SOURCE_CURDIR is not set +CONFIG_HUSH_LINENO_VAR=y +CONFIG_HUSH_INTERACTIVE=y +CONFIG_HUSH_SAVEHISTORY=y +CONFIG_HUSH_JOB=y +CONFIG_HUSH_TICK=y +CONFIG_HUSH_IF=y +CONFIG_HUSH_LOOPS=y +CONFIG_HUSH_CASE=y +CONFIG_HUSH_FUNCTIONS=y +CONFIG_HUSH_LOCAL=y +CONFIG_HUSH_RANDOM_SUPPORT=y +CONFIG_HUSH_MODE_X=y +CONFIG_HUSH_ECHO=y +CONFIG_HUSH_PRINTF=y +CONFIG_HUSH_TEST=y +CONFIG_HUSH_HELP=y +CONFIG_HUSH_EXPORT=y +CONFIG_HUSH_EXPORT_N=y +CONFIG_HUSH_READONLY=y +CONFIG_HUSH_KILL=y +CONFIG_HUSH_WAIT=y +CONFIG_HUSH_COMMAND=y +CONFIG_HUSH_TRAP=y +CONFIG_HUSH_TYPE=y +CONFIG_HUSH_TIMES=y +CONFIG_HUSH_READ=y +CONFIG_HUSH_SET=y +CONFIG_HUSH_UNSET=y +CONFIG_HUSH_ULIMIT=y +CONFIG_HUSH_UMASK=y +CONFIG_HUSH_GETOPTS=y +# CONFIG_HUSH_MEMLEAK is not set diff --git a/package/busybox/busybox-minimal.config b/package/busybox/busybox-minimal.config index 1e7ad1d35..cf53c1598 100644 --- a/package/busybox/busybox-minimal.config +++ b/package/busybox/busybox-minimal.config @@ -1115,68 +1115,69 @@ CONFIG_SVOK=y # # Shells # -# CONFIG_SH_IS_ASH is not set -CONFIG_SH_IS_HUSH=y +CONFIG_SH_IS_ASH=y +# CONFIG_SH_IS_HUSH is not set # CONFIG_SH_IS_NONE is not set # CONFIG_BASH_IS_ASH is not set # CONFIG_BASH_IS_HUSH is not set CONFIG_BASH_IS_NONE=y -# CONFIG_SHELL_ASH is not set -# CONFIG_ASH is not set -# CONFIG_ASH_OPTIMIZE_FOR_SIZE is not set -# CONFIG_ASH_INTERNAL_GLOB is not set -# CONFIG_ASH_BASH_COMPAT is not set +CONFIG_SHELL_ASH=y +CONFIG_ASH=y +CONFIG_ASH_OPTIMIZE_FOR_SIZE=y +CONFIG_ASH_INTERNAL_GLOB=y +CONFIG_ASH_BASH_COMPAT=y # CONFIG_ASH_BASH_SOURCE_CURDIR is not set -# CONFIG_ASH_BASH_NOT_FOUND_HOOK is not set -# CONFIG_ASH_JOB_CONTROL is not set -# CONFIG_ASH_ALIAS is not set -# CONFIG_ASH_RANDOM_SUPPORT is not set -# CONFIG_ASH_EXPAND_PRMT is not set -# CONFIG_ASH_IDLE_TIMEOUT is not set +CONFIG_ASH_BASH_NOT_FOUND_HOOK=y +CONFIG_ASH_JOB_CONTROL=y +CONFIG_ASH_ALIAS=y +CONFIG_ASH_RANDOM_SUPPORT=y +CONFIG_ASH_EXPAND_PRMT=y +CONFIG_ASH_IDLE_TIMEOUT=y # CONFIG_ASH_MAIL is not set -# CONFIG_ASH_ECHO is not set -# CONFIG_ASH_PRINTF is not set -# CONFIG_ASH_TEST is not set -# CONFIG_ASH_HELP is not set -# CONFIG_ASH_GETOPTS is not set -# CONFIG_ASH_CMDCMD is not set +CONFIG_ASH_ECHO=y +CONFIG_ASH_PRINTF=y +CONFIG_ASH_TEST=y +CONFIG_ASH_SLEEP=y +CONFIG_ASH_HELP=y +CONFIG_ASH_GETOPTS=y +CONFIG_ASH_CMDCMD=y # CONFIG_CTTYHACK is not set -CONFIG_HUSH=y -CONFIG_SHELL_HUSH=y -CONFIG_HUSH_BASH_COMPAT=y -CONFIG_HUSH_BRACE_EXPANSION=y +# CONFIG_HUSH is not set +# CONFIG_SHELL_HUSH is not set +# CONFIG_HUSH_BASH_COMPAT is not set +# CONFIG_HUSH_BRACE_EXPANSION is not set # CONFIG_HUSH_BASH_SOURCE_CURDIR is not set -CONFIG_HUSH_LINENO_VAR=y -CONFIG_HUSH_INTERACTIVE=y -CONFIG_HUSH_SAVEHISTORY=y -CONFIG_HUSH_JOB=y -CONFIG_HUSH_TICK=y -CONFIG_HUSH_IF=y -CONFIG_HUSH_LOOPS=y -CONFIG_HUSH_CASE=y -CONFIG_HUSH_FUNCTIONS=y -CONFIG_HUSH_LOCAL=y -CONFIG_HUSH_RANDOM_SUPPORT=y -CONFIG_HUSH_MODE_X=y -CONFIG_HUSH_ECHO=y -CONFIG_HUSH_PRINTF=y -CONFIG_HUSH_TEST=y -CONFIG_HUSH_HELP=y -CONFIG_HUSH_EXPORT=y -CONFIG_HUSH_EXPORT_N=y -CONFIG_HUSH_READONLY=y -CONFIG_HUSH_KILL=y -CONFIG_HUSH_WAIT=y -CONFIG_HUSH_COMMAND=y -CONFIG_HUSH_TRAP=y -CONFIG_HUSH_TYPE=y -CONFIG_HUSH_TIMES=y -CONFIG_HUSH_READ=y -CONFIG_HUSH_SET=y -CONFIG_HUSH_UNSET=y -CONFIG_HUSH_ULIMIT=y -CONFIG_HUSH_UMASK=y -CONFIG_HUSH_GETOPTS=y +# CONFIG_HUSH_LINENO_VAR is not set +# CONFIG_HUSH_INTERACTIVE is not set +# CONFIG_HUSH_SAVEHISTORY is not set +# CONFIG_HUSH_JOB is not set +# CONFIG_HUSH_TICK is not set +# CONFIG_HUSH_IF is not set +# CONFIG_HUSH_LOOPS is not set +# CONFIG_HUSH_CASE is not set +# CONFIG_HUSH_FUNCTIONS is not set +# CONFIG_HUSH_LOCAL is not set +# CONFIG_HUSH_RANDOM_SUPPORT is not set +# CONFIG_HUSH_MODE_X is not set +# CONFIG_HUSH_ECHO is not set +# CONFIG_HUSH_PRINTF is not set +# CONFIG_HUSH_TEST is not set +# CONFIG_HUSH_HELP is not set +# CONFIG_HUSH_EXPORT is not set +# CONFIG_HUSH_EXPORT_N is not set +# CONFIG_HUSH_READONLY is not set +# CONFIG_HUSH_KILL is not set +# CONFIG_HUSH_WAIT is not set +# CONFIG_HUSH_COMMAND is not set +# CONFIG_HUSH_TRAP is not set +# CONFIG_HUSH_TYPE is not set +# CONFIG_HUSH_TIMES is not set +# CONFIG_HUSH_READ is not set +# CONFIG_HUSH_SET is not set +# CONFIG_HUSH_UNSET is not set +# CONFIG_HUSH_ULIMIT is not set +# CONFIG_HUSH_UMASK is not set +# CONFIG_HUSH_GETOPTS is not set # CONFIG_HUSH_MEMLEAK is not set #
by this way, the busybox-minimal.config becomes more widely usable at this time, busybox-minimal.config is the default for no-mmu so, busybox-hush.fragment must be also a default for no-mmu Signed-off-by: Francois Perrad <francois.perrad@gadz.org> --- package/busybox/Config.in | 1 + package/busybox/busybox-hush.fragment | 51 ++++++++++++ package/busybox/busybox-minimal.config | 109 +++++++++++++------------ 3 files changed, 107 insertions(+), 54 deletions(-) create mode 100644 package/busybox/busybox-hush.fragment