[PATCH 5/6] devtools: make uAPI check exclusive to other options

Thomas Monjalon thomas at monjalon.net
Wed Aug 27 10:21:48 CEST 2025


When doing a check of Linux uAPI headers,
it is better to not fix them before.
Also, it does not make sense to check just after doing an update,
as the check would just repeat the same update process.
That's why a check is now run alone without any update.

The current version has to be retrieved in all cases,
so it is moved at the beginning of any processing.

If the check option (-c) is used with an import (-i) or an upgrade (-u),
an error is raised.

Signed-off-by: Thomas Monjalon <thomas at monjalon.net>
---
 devtools/linux-uapi.sh | 22 ++++++++++++----------
 1 file changed, 12 insertions(+), 10 deletions(-)

diff --git a/devtools/linux-uapi.sh b/devtools/linux-uapi.sh
index 654c4a8c25..0986b668de 100755
--- a/devtools/linux-uapi.sh
+++ b/devtools/linux-uapi.sh
@@ -10,7 +10,7 @@ base_url="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/pla
 base_path="kernel/linux/uapi/"
 version=""
 file=""
-check_headers=0
+check_headers=false
 
 print_usage()
 {
@@ -90,8 +90,6 @@ fixup_includes()
 
 update_all()
 {
-	local current_version=$(< $base_path/version)
-
 	if [ -n "$version" ]; then
 		if version_older_than "$version" "$current_version"; then
 			echo "Headers already up to date ($current_version >= $version)"
@@ -156,7 +154,7 @@ while getopts i:u:ch opt ; do
 	case $opt in
 		i ) file=$OPTARG ;;
 		u ) version=$OPTARG ;;
-		c ) check_headers=1 ;;
+		c ) check_headers=true ;;
 		h ) print_usage ; exit 0 ;;
 		? ) print_usage ; exit 1 ;;
 	esac
@@ -167,13 +165,17 @@ if [ $# -ne 0 ]; then
 	print_usage
 	exit 1
 fi
+if $check_headers && [ -n "$file" -o -n "$version" ]; then
+	echo "The option -c is incompatible with -i and -u"
+	exit 1
+fi
 
 cd $(dirname $0)/..
+current_version=$(cat $base_path/version)
 
-update_all
-
-if [ $check_headers -eq 0 ]; then
-	exit 0
+if $check_headers; then
+	version=$current_version
+	check_all
+else
+	update_all
 fi
-
-check_all
-- 
2.47.1



More information about the dev mailing list