Simplify config saving.

Instead of hardcoding defaults in saveSample.sh.in, have the same
defaults in config. Then we can just remove them when saving the
config.
This commit is contained in:
Alexey Neyman 2016-12-13 18:40:47 -08:00
parent 955f5bc0b8
commit 3e4d4870c9
3 changed files with 14 additions and 12 deletions

View File

@ -5,8 +5,7 @@ comment "Logging"
choice
bool
prompt "Maximum log level to see:"
default LOG_INFO if !DEBUG_CT
default LOG_DEBUG if DEBUG_CT
default LOG_EXTRA
config LOG_ERROR
bool

View File

@ -5,7 +5,7 @@ comment "Paths"
config LOCAL_TARBALLS_DIR
string
prompt "Local tarballs directory" if ! BACKEND
default ""
default "${HOME}/src"
help
If you have previously downloaded the tarballs, enter the PATH where
you stored them here.
@ -14,7 +14,7 @@ config SAVE_TARBALLS
bool
prompt "Save new tarballs" if ! BACKEND
depends on LOCAL_TARBALLS_DIR != "" || BACKEND
default y if BACKEND
default y
help
If you say 'y' here, new downloaded tarballs will be saved in the
directory you entered above.

View File

@ -40,14 +40,17 @@ esac
samp_dir="samples/${samp_name}"
mkdir -p "${samp_dir}"
# Tweak the .config file.
cp .config .defconfig
"${sed}" -r -e 's|^(CT_PREFIX_DIR)=.*|\1="${HOME}/x-tools/${CT_TARGET}"|;' \
-e 's|^# CT_LOG_TO_FILE is not set$|CT_LOG_TO_FILE=y|;' \
-e 's|^# CT_LOG_FILE_COMPRESS is not set$|CT_LOG_FILE_COMPRESS=y|;' \
-e 's|^(CT_LOCAL_TARBALLS_DIR)=.*|\1="${HOME}/src"|;' \
<.config \
>.defconfig
# Tweak the .config file: remove the options that we want to keep
# at default setting in samples.
force_default_opts=( \
PREFIX_DIR LOG_TO_FILE LOG_FILE_COMPRESS \
LOCAL_TARBALLS_DIR SAVE_TARBALLS \
LOG_ERROR LOG_WARN LOG_INFO LOG_EXTRA LOG_ALL LOG_DEBUG \
LOG_PROGRESS_BAR
)
regexp=${force_default_opts[*]}
regexp=${regexp// /|}
grep -v -E '^(# )?CT_('"${regexp}"')' .config > .defconfig
# Function to copy a file to the sample directory
# Needed in case the file is already there (think of a previously available sample)