Просмотр исходного кода

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 <[email protected]>
Olliver Schinagl 1 год назад
Родитель
Сommit
9e6c4392f8
1 измененных файлов с 23 добавлено и 17 удалено
  1. 23 17
      scripts/kernel_bump.sh

+ 23 - 17
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
-
-		_target_path="${_path%%"-${source_version}"}-${target_version}"
-		if [ -s "${_target_path}" ]; then
-			e_err "Target '${_target_path}' already exists!"
-			exit 1
-		fi
-
-		git mv \
-			"${_path}" \
-			"${_target_path}"
-	done
+	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 [ -e "${_target_path}" ]; then
+				e_err "Target '${_target_path}' already exists!"
+				exit 1
+			fi
+
+			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