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 <tho...@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