On Fri, Apr 01, 2022 at 01:26:53AM +0200, Francis Laniel wrote:

> Hi.
> 
> First I hope you are fine and the same for your relatives.
> I would also like to apologize for the delay between v2 and v3.
> 
> During 2021 summer, Sean Anderson wrote a contribution to add a new shell, 
> based
> on LIL, to U-Boot [1][2].
> While one of the goals of this contribution was to address the fact actual
> U-Boot shell, which is based on Busybox hush, is old there was a discussion
> about adding a new shell versus updating the actual one [3][4].
> 
> So, in this series, with Harald Seiler, we updated the actual U-Boot shell to
> reflect what is currently in Busybox source code.
> Basically, this contribution is about taking a snapshot of Busybox 
> shell/hush.c
> file (as it exists in commit 37460f5da) and adapt it to suit U-Boot needs.

In order to put this through CI and my local testing loop as well, I
need:
commit 0eae144ef84e7190b3c2da5fbd745468f7d1f7e6
Author: Tom Rini <tr...@konsulko.com>
Date:   Wed Apr 20 15:28:10 2022 -0400

    HACK: Make new HUSH default
    
    Signed-off-by: Tom Rini <tr...@konsulko.com>

diff --git a/cmd/Kconfig b/cmd/Kconfig
index 3454229d9c92..d0fb264e7df1 100644
--- a/cmd/Kconfig
+++ b/cmd/Kconfig
@@ -23,12 +23,13 @@ config HUSH_PARSER
          If disabled, you get the old, much simpler behaviour with a somewhat
          smaller memory footprint.
 
-menu "Hush flavor to use"
+choice
+       prompt "Hush flavor to use"
        depends on HUSH_PARSER
+       default HUSH_2021_PARSER
 
        config HUSH_OLD_PARSER
                bool "Use hush old parser"
-               default y
                help
                  This option enables the old flavor of hush based on hush 
Busybox from
                  2005.
@@ -42,7 +43,7 @@ menu "Hush flavor to use"
                  2021.
 
                  For the moment, it is highly experimental and should be used 
at own risks.
-endmenu
+endchoice
 
 config CMDLINE_EDITING
        bool "Enable command line editing"
diff --git a/common/cli_hush_2021.c b/common/cli_hush_2021.c
index 68b2fa4b3fe6..0b1ef6dc642f 100644
--- a/common/cli_hush_2021.c
+++ b/common/cli_hush_2021.c
@@ -40,12 +40,6 @@
 #define USE_FOR_NOMMU(...)     __VA_ARGS__
 #define USE_FOR_MMU(...)
 
-/* TODO: Drop this before upstreaming */
-#ifdef CONFIG_SYS_PROMPT
-#undef CONFIG_SYS_PROMPT
-#define CONFIG_SYS_PROMPT      "2021> "
-#endif /* CONFIG_SYS_PROMPT */
-
 /*
  * Size-saving "small" ints (arch-dependent)
  */
diff --git a/common/cli_hush_upstream.c b/common/cli_hush_upstream.c
index e46875847018..2a659dcd4eae 100644
--- a/common/cli_hush_upstream.c
+++ b/common/cli_hush_upstream.c
@@ -1448,6 +1448,7 @@ static void xxfree(void *ptr)
  * HUSH_DEBUG >= 2 prints line number in this file where it was detected.
  */
 #if HUSH_DEBUG < 2
+#include <linux/compiler.h>
 # define msg_and_die_if_script(lineno, ...)     
msg_and_die_if_script(__VA_ARGS__)
 # define syntax_error(lineno, msg)              syntax_error(msg)
 # define syntax_error_at(lineno, msg)           syntax_error_at(msg)
@@ -1465,7 +1466,7 @@ static void die_if_script(void)
        }
 }
 
-static void msg_and_die_if_script(unsigned lineno, const char *fmt, ...)
+static void __maybe_unused msg_and_die_if_script(unsigned lineno, const char 
*fmt, ...)
 {
        va_list p;
 
@@ -1539,7 +1540,7 @@ static void syntax_error_unexpected_ch(unsigned lineno 
UNUSED_PARAM, int ch)
 /* Replace each \x with x in place, return ptr past NUL. */
 static char *unbackslash(char *src)
 {
-       char *dst = src = strchrnul(src, '\\');
+       char *dst = src = (char *)strchrnul(src, '\\');
        while (1) {
                if (*src == '\\') {
                        src++;


With everything but the Kconfig part being the same as RFCv2.  For the
next RFC please:
- Include a patch near the end making this new HUSH the default
- Include a link to CI running and passing (see
  https://u-boot.readthedocs.io/en/latest/develop/ci_testing.html for
  how to get the CI to run for everything)
- Include a patch near the end that moves from the updated hush you
  started with to the current hush, as a way of showing how easy (or
  hardd!) keeping this in sync moving forward will be.

Thanks!

-- 
Tom

Attachment: signature.asc
Description: PGP signature

Reply via email to