Tweaks to build process for embedded scripts
- 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> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
dffc8ff6a6
commit
7b42f8fc76
2
Makefile
2
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
|
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
|
cmd_gen_embedded_scripts = $(srctree)/scripts/embedded_scripts include/embedded_scripts.h $(srctree)/embed $(srctree)/applets_sh
|
||||||
#bbox# piggybacked generation of few .h files
|
#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,split_autoconf)
|
||||||
$(call cmd,gen_bbconfigopts)
|
$(call cmd,gen_bbconfigopts)
|
||||||
$(call cmd,gen_common_bufsiz)
|
$(call cmd,gen_common_bufsiz)
|
||||||
|
@ -22,12 +22,6 @@ s - suid type:
|
|||||||
BB_SUID_REQUIRE or BB_SUID_MAYBE applet.
|
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)
|
#if defined(PROTOTYPES)
|
||||||
# define APPLET(name,l,s) int name##_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
|
# 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;
|
# define APPLET_ODDNAME(name,main,l,s,help) int main##_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
|
||||||
|
@ -14,6 +14,9 @@
|
|||||||
|
|
||||||
#define NOUSAGE_STR "\b"
|
#define NOUSAGE_STR "\b"
|
||||||
|
|
||||||
|
#define scripted_trivial_usage NOUSAGE_STR
|
||||||
|
#define scripted_full_usage ""
|
||||||
|
|
||||||
#if !ENABLE_USE_BB_CRYPT || ENABLE_USE_BB_CRYPT_SHA
|
#if !ENABLE_USE_BB_CRYPT || ENABLE_USE_BB_CRYPT_SHA
|
||||||
# define CRYPT_METHODS_HELP_STR "des,md5,sha256/512" \
|
# define CRYPT_METHODS_HELP_STR "des,md5,sha256/512" \
|
||||||
" (default "CONFIG_FEATURE_DEFAULT_PASSWD_ALGO")"
|
" (default "CONFIG_FEATURE_DEFAULT_PASSWD_ALGO")"
|
||||||
|
@ -81,21 +81,15 @@ exec >"$target.$$"
|
|||||||
if [ $n -ne 0 ]
|
if [ $n -ne 0 ]
|
||||||
then
|
then
|
||||||
printf '#ifdef DEFINE_SCRIPT_DATA\n'
|
printf '#ifdef DEFINE_SCRIPT_DATA\n'
|
||||||
if [ $n -ne 0 ]
|
printf 'const uint16_t applet_numbers[] = {\n'
|
||||||
then
|
for i in $custom_scripts $applet_scripts
|
||||||
printf 'const uint16_t applet_numbers[] = {\n'
|
do
|
||||||
for i in $custom_scripts $applet_scripts
|
# TODO support applets with names including invalid characters
|
||||||
do
|
printf '\tAPPLET_NO_%s,\n' $i
|
||||||
# TODO support applets with names including invalid characters
|
done
|
||||||
printf '\tAPPLET_NO_%s,\n' $i
|
printf '};\n'
|
||||||
done
|
|
||||||
printf '};\n'
|
|
||||||
fi
|
|
||||||
printf '#else\n'
|
printf '#else\n'
|
||||||
if [ $n -ne 0 ]
|
printf 'extern const uint16_t applet_numbers[];\n'
|
||||||
then
|
|
||||||
printf 'extern const uint16_t applet_numbers[];\n'
|
|
||||||
fi
|
|
||||||
printf '#endif\n'
|
printf '#endif\n'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -23,9 +23,9 @@ custom_scripts()
|
|||||||
custom_loc="$1"
|
custom_loc="$1"
|
||||||
if [ -d "$custom_loc" ]
|
if [ -d "$custom_loc" ]
|
||||||
then
|
then
|
||||||
for i in $(cd "$custom_loc"; ls *)
|
for i in $(cd "$custom_loc"; ls * 2>/dev/null)
|
||||||
do
|
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
|
done
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user