diff options
Diffstat (limited to 'scripts/lib/ptxd_lib_kconfig.sh')
-rw-r--r-- | scripts/lib/ptxd_lib_kconfig.sh | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/scripts/lib/ptxd_lib_kconfig.sh b/scripts/lib/ptxd_lib_kconfig.sh index c70522998..23e13dd2f 100644 --- a/scripts/lib/ptxd_lib_kconfig.sh +++ b/scripts/lib/ptxd_lib_kconfig.sh @@ -206,8 +206,15 @@ ptxd_kconfig_validate_config() { local relative_config="${1}" local file_md5 saved_md5 local last next + local -a layers + + if [ "${mode}" = update ]; then + layers=( "${PTXDIST_LAYERS[@]:1}" ) + else + layers=( "${PTXDIST_LAYERS[@]}" ) + fi - for layer in ""${PTXDIST_LAYERS[@]}""; do + for layer in "${layers[@]}"; do next="${layer}/${relative_config}" # no config in this layer if [ ! -e "${next}" -a ! -e "${next}.diff" ]; then @@ -255,7 +262,7 @@ ptxd_kconfig_find_config() { local relative_ref_config="${3}" local -a layers - if [ "${mode}" = run ]; then + if [ "${mode}" = run -o "${mode}" = "update" ]; then ptxd_kconfig_validate_config "${relative_config}" || return fi |