[prev in list] [next in list] [prev in thread] [next in thread] 

List:       busybox
Subject:    Re: [PATCH v2] Tweaks to build process for embedded scripts
From:       Denys Vlasenko <vda.linux () googlemail ! com>
Date:       2018-11-27 9:38:38
Message-ID: CAK1hOcNYXUKu-UHgKQOHiC3roiSe9TsACiEYRbpjhuxwS4B6ig () mail ! gmail ! com
[Download RAW message or body]

Applied, thanks!
On Wed, Nov 21, 2018 at 11:11 AM Ron Yorston <rmy@pobox.com> wrote:
> 
> - Force a rebuild if a script in applets_sh is changed.
> 
> - Move the dummy usage messages for custom applets to usage.h and
> change the name from 'dummy' to 'scripted'.
> 
> - Hide an error from gen_build_files.sh if an embed directory exists
> but is empty.
> 
> - Tidy up embedded_scripts script.
> 
> v2: Remove a couple of unnecessary tests in embedded_scripts, as
> pointed out by Xabier Oneca.
> Drop the stripping of comments.
> 
> Signed-off-by: Ron Yorston <rmy@pobox.com>
> ---
> Makefile                   |  2 +-
> include/applets.src.h      |  6 ------
> include/usage.src.h        |  3 +++
> scripts/embedded_scripts   | 22 ++++++++--------------
> scripts/gen_build_files.sh |  4 ++--
> 5 files changed, 14 insertions(+), 23 deletions(-)
> 
> diff --git a/Makefile b/Makefile
> index 4b5a01df9..f0b4da234 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -853,7 +853,7 @@ quiet_cmd_split_autoconf   = SPLIT   include/autoconf.h -> \
> include/config/* quiet_cmd_gen_embedded_scripts = GEN     \
> include/embedded_scripts.h cmd_gen_embedded_scripts = \
> $(srctree)/scripts/embedded_scripts include/embedded_scripts.h $(srctree)/embed \
> $(srctree)/applets_sh #bbox# piggybacked generation of few .h files
> -include/config/MARKER: scripts/basic/split-include include/autoconf.h $(wildcard \
> $(srctree)/embed/*) $(srctree)/scripts/embedded_scripts +include/config/MARKER: \
> scripts/basic/split-include include/autoconf.h $(wildcard $(srctree)/embed/*) \
> $(wildcard $(srctree)/applets_sh/*) $(srctree)/scripts/embedded_scripts $(call \
> cmd,split_autoconf) $(call cmd,gen_bbconfigopts)
> $(call cmd,gen_common_bufsiz)
> diff --git a/include/applets.src.h b/include/applets.src.h
> index a9db5d160..60968cec7 100644
> --- a/include/applets.src.h
> +++ b/include/applets.src.h
> @@ -22,12 +22,6 @@ s     - suid type:
> BB_SUID_REQUIRE or BB_SUID_MAYBE applet.
> */
> 
> -#define NOUSAGE_STR "\b"
> -
> -#define dummy_trivial_usage NOUSAGE_STR \
> -
> -#define dummy_full_usage "" \
> -
> #if defined(PROTOTYPES)
> # define APPLET(name,l,s)                    int name##_main(int argc, char **argv) \
> MAIN_EXTERNALLY_VISIBLE; # define APPLET_ODDNAME(name,main,l,s,help)  int \
>                 main##_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
> diff --git a/include/usage.src.h b/include/usage.src.h
> index 00369dfb3..d22efd3ba 100644
> --- a/include/usage.src.h
> +++ b/include/usage.src.h
> @@ -14,6 +14,9 @@
> 
> #define NOUSAGE_STR "\b"
> 
> +#define scripted_trivial_usage NOUSAGE_STR
> +#define scripted_full_usage ""
> +
> #if !ENABLE_USE_BB_CRYPT || ENABLE_USE_BB_CRYPT_SHA
> # define CRYPT_METHODS_HELP_STR "des,md5,sha256/512" \
> " (default "CONFIG_FEATURE_DEFAULT_PASSWD_ALGO")"
> diff --git a/scripts/embedded_scripts b/scripts/embedded_scripts
> index c2e7c6961..86ad44d1d 100755
> --- a/scripts/embedded_scripts
> +++ b/scripts/embedded_scripts
> @@ -81,21 +81,15 @@ exec >"$target.$$"
> if [ $n -ne 0 ]
> then
> printf '#ifdef DEFINE_SCRIPT_DATA\n'
> -       if [ $n -ne 0 ]
> -       then
> -               printf 'const uint16_t applet_numbers[] = {\n'
> -               for i in $custom_scripts $applet_scripts
> -               do
> -                       # TODO support applets with names including invalid \
>                 characters
> -                       printf '\tAPPLET_NO_%s,\n' $i
> -               done
> -               printf '};\n'
> -       fi
> +       printf 'const uint16_t applet_numbers[] = {\n'
> +       for i in $custom_scripts $applet_scripts
> +       do
> +               # TODO support applets with names including invalid characters
> +               printf '\tAPPLET_NO_%s,\n' $i
> +       done
> +       printf '};\n'
> printf '#else\n'
> -       if [ $n -ne 0 ]
> -       then
> -               printf 'extern const uint16_t applet_numbers[];\n'
> -       fi
> +       printf 'extern const uint16_t applet_numbers[];\n'
> printf '#endif\n'
> fi
> 
> diff --git a/scripts/gen_build_files.sh b/scripts/gen_build_files.sh
> index 64e4bffa9..362632df3 100755
> --- a/scripts/gen_build_files.sh
> +++ b/scripts/gen_build_files.sh
> @@ -23,9 +23,9 @@ custom_scripts()
> custom_loc="$1"
> if [ -d "$custom_loc" ]
> then
> -               for i in $(cd "$custom_loc"; ls *)
> +               for i in $(cd "$custom_loc"; ls * 2>/dev/null)
> do
> -                       printf "APPLET_SCRIPTED(%s, scripted, BB_DIR_USR_BIN, \
> BB_SUID_DROP, dummy)\n" $i; +                       printf "APPLET_SCRIPTED(%s, \
> scripted, BB_DIR_USR_BIN, BB_SUID_DROP, scripted)\n" $i; done
> fi
> }
> --
> 2.19.1
> 
_______________________________________________
busybox mailing list
busybox@busybox.net
http://lists.busybox.net/mailman/listinfo/busybox


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic