diff options
Diffstat (limited to '0003-scripts-template_dir-re-use-common-prompting-code.patch')
-rw-r--r-- | 0003-scripts-template_dir-re-use-common-prompting-code.patch | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/0003-scripts-template_dir-re-use-common-prompting-code.patch b/0003-scripts-template_dir-re-use-common-prompting-code.patch new file mode 100644 index 000000000000..7b9cdef2b55a --- /dev/null +++ b/0003-scripts-template_dir-re-use-common-prompting-code.patch @@ -0,0 +1,108 @@ +From 03933375277558f939a12990cae3ee372511d87e Mon Sep 17 00:00:00 2001 +From: Alexei Colin <ac@alexeicolin.com> +Date: Sat, 18 Jul 2020 12:14:07 -0400 +Subject: [PATCH 3/4] scripts/template_dir: re-use common prompting code + +--- + scripts/template_dir | 56 ++++++++++++++++++++++++-------------------- + 1 file changed, 31 insertions(+), 25 deletions(-) + +diff --git a/scripts/template_dir b/scripts/template_dir +index b03d4b5..0a0d69e 100644 +--- a/scripts/template_dir ++++ b/scripts/template_dir +@@ -131,15 +131,10 @@ do_zephyrrc() + echo " export ZEPHYR_SDK_INSTALL_DIR=$target_sdk_dir" + echo + if [ -z "$rc_confirm" ]; then +- echo "Update/Create $HOME/.zephyrrc with environment variables setup for you (y/n)? " +- while read rc_confirm; do +- [ "$rc_confirm" = "Y" -o "$rc_confirm" = "y" \ +- -o "$rc_confirm" = "n" \ +- -o "$rc_confirm" = "N" ] && break +- echo "Invalid input \"$rc_confirm\", please input 'y' or 'n': " +- done ++ prompt "creating/updating $HOME/.zephyrrc with environment variables setup for you " ++ rc_confirm=$answer + fi +- if [ "$rc_confirm" = "y" -o "$rc_confirm" = "Y" ]; then ++ if [ "$rc_confirm" = "y" ]; then + if [ -f $HOME/.zephyrrc ]; then + sed -i "s#ZEPHYR_SDK_INSTALL_DIR=.*#ZEPHYR_SDK_INSTALL_DIR=${target_sdk_dir}#" $HOME/.zephyrrc + sed -i "s#ZEPHYR_TOOLCHAIN_VARIANT=.*#ZEPHYR_TOOLCHAIN_VARIANT=zephyr#" $HOME/.zephyrrc +@@ -163,8 +158,8 @@ do_cmake_package() + return + fi + +- read_confirm "registering Zephyr-sdk CMake module with path $target_sdk_dir " +- if [ "$confirm" = "y" -o "$confirm" = "Y" ]; then ++ query "registering Zephyr-sdk CMake module with path $target_sdk_dir " ++ if [ "$answer" = "y" ]; then + if [ ! -d $ZEPHYR_SDK_REGISTRY_DIR ]; then + mkdir -p $ZEPHYR_SDK_REGISTRY_DIR + fi +@@ -176,17 +171,28 @@ do_cmake_package() + + # Read the input "y" + # $1 is optional, but allows the caller to provide additional text. +-read_confirm () { +- if [ "$confirm" != "y" ]; then +- echo "Do you want to continue $1(y/n)? " +- while read confirm; do +- [ "$confirm" = "Y" -o "$confirm" = "y" -o "$confirm" = "n" \ +- -o "$confirm" = "N" ] && break +- echo "Invalid input \"$confirm\", please input 'y' or 'n': " +- done +- else +- echo +- fi ++prompt () { ++ echo "Do you want to continue $1(y/n)? " ++ while read answer; do ++ if [ "$answer" = "Y" -o "$answer" = "y" ]; then ++ answer="y" ++ break ++ elif [ "$answer" = "N" -o "$answer" = "n" ]; then ++ answer="n" ++ break ++ else ++ echo "Invalid input \"$answer\", please input 'y' or 'n': " ++ fi ++ done ++} ++# Like prompt, but only if prompts were not pre-answered by -y argument ++query () { ++ if [ "$confirm" != "y" ]; then ++ prompt "$1" ++ else ++ answer="y" ++ echo ++ fi + } + + verify_os +@@ -261,8 +267,8 @@ if [ "$sdk_dirname" != "/opt" \ + echo Note: The version number \'-$SDK_VERSION\' can be omitted. + echo + +- read_confirm "installing to ${target_sdk_dir} " +- if [ "$confirm" = "n" -o "$confirm" = "N" ]; then ++ query "installing to ${target_sdk_dir} " ++ if [ "$answer" = "n" ]; then + # Abort the installation + echo "SDK installation aborted!" + exit 1 +@@ -282,8 +288,8 @@ if [ -d $target_sdk_dir ]; then + # wipe the directory first + if [ -d $target_sdk_dir/sysroots ]; then + echo "The directory $target_sdk_dir/sysroots will be removed! " +- read_confirm +- if [ "$confirm" = "y" -o "$confirm" = "Y" ]; then ++ query ++ if [ "$answer" = "y" ]; then + rm -rf $target_sdk_dir/sysroots/ + rm -rf $target_sdk_dir/info-zephyr-sdk*/ + rm -fr $target_sdk_dir/sdk_version +-- +2.27.0 + |