From 9e6c4392f85f9123fda8ef8690c2a36599fe334c Mon Sep 17 00:00:00 2001 From: Olliver Schinagl Date: Mon, 18 Mar 2024 13:10:31 +0100 Subject: [PATCH] scripts/kernel_bump: Allow for migrating only configuration files In some cases, we want to only migrate configuration files, e.g. if the kernel was bumped already. Lets add a flag for this case to offer flexibility. By default we will migrate configuration flags as before. Signed-off-by: Olliver Schinagl --- scripts/kernel_bump.sh | 36 +++++++++++++++++++++--------------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/scripts/kernel_bump.sh b/scripts/kernel_bump.sh index 69045946e9..069f53bb77 100755 --- a/scripts/kernel_bump.sh +++ b/scripts/kernel_bump.sh @@ -54,6 +54,7 @@ usage() { echo "Usage: ${0}" echo 'Helper script to bump the target kernel version, whilst keeping history.' + echo ' -c Migrate config files (e.g. subtargets) only.' echo " -p Optional Platform name (e.g. 'ath79' [PLATFORM_NAME]" echo " -s Source version of kernel (e.g. 'v6.1' [SOURCE_VERSION])" echo " -t Target version of kernel (e.g. 'v6.6' [TARGET_VERSION]')" @@ -113,22 +114,24 @@ bump_kernel() git switch --force-create '__openwrt_kernel_files_mover' - for _path in "${_target_dir}/"*; do - if [ ! -s "${_path}" ] || \ - [ "${_path}" = "${_path%%"-${source_version}"}" ]; then - continue - fi + if [ "${config_only:-false}" != 'true' ]; then + for _path in "${_target_dir}/"*; do + if [ ! -e "${_path}" ] || \ + [ "${_path}" = "${_path%%"-${source_version}"}" ]; then + continue + fi - _target_path="${_path%%"-${source_version}"}-${target_version}" - if [ -s "${_target_path}" ]; then - e_err "Target '${_target_path}' already exists!" - exit 1 - fi + _target_path="${_path%%"-${source_version}"}-${target_version}" + if [ -e "${_target_path}" ]; then + e_err "Target '${_target_path}' already exists!" + exit 1 + fi - git mv \ - "${_path}" \ - "${_target_path}" - done + git mv \ + "${_path}" \ + "${_target_path}" + done + fi find "${_target_dir}" -iname "config-${source_version}" | while read -r _config; do _path="${_config%%"/config-${source_version}"}" @@ -182,8 +185,11 @@ check_requirements() main() { - while getopts 'hp:s:t:' _options; do + while getopts 'chp:s:t:' _options; do case "${_options}" in + 'c') + config_only='true' + ;; 'h') usage exit 0