From 60d6d64fd3d10f7c5a74ee9f9cfa2a3601d852ba Mon Sep 17 00:00:00 2001 From: Eugene Syromiatnikov Date: Fri, 19 May 2023 10:50:46 +0200 Subject: [PATCH] find-requires.ksyms: set LC_ALL=C globally To bring it more in line with the way it is implemented in find-provides.ksyms and avoid the inconsistencies prodiced by missing the environment setting. Resolves: #2178935 Signed-off-by: Eugene Syromiatnikov --- find-requires.ksyms | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) mode change 100755 => 100644 find-requires.ksyms diff --git a/find-requires.ksyms b/find-requires.ksyms old mode 100755 new mode 100644 index f6b72e9..3b5e186 --- a/find-requires.ksyms +++ b/find-requires.ksyms @@ -6,6 +6,7 @@ # provided by an external module and "ksym" replaces th regular "kernel" dep. IFS=$'\n' +export LC_ALL=C # Prevent elfutils from trying to download debuginfos unset DEBUGINFOD_URLS @@ -71,7 +72,7 @@ all_provides() { [ -z "$tmpfile" ] || rm -f -- "$tmpfile" done \ - | LC_ALL=C sort -k1,1 -u + | sort -k1,1 -u } # Extract all of the requirements of this module. @@ -84,15 +85,15 @@ all_requires() { {printf("%s:0x%08x\n", $2, $1)}' \ | sed -r -e 's:$:\t'"$1"':' done \ - | LC_ALL=C sort -k1,1 -u + | sort -k1,1 -u } # Filter out requirements fulfilled by the module itself. mod_requires() { - LC_ALL=C join -t $'\t' -j 1 -v 1 \ + join -t $'\t' -j 1 -v 1 \ <(all_requires "$@") \ <(all_provides "$@") \ - | LC_ALL=C sort -k1,1 -u + | sort -k1,1 -u } if ! [ -e /sbin/modinfo -a -e /sbin/modprobe ]; then @@ -155,21 +156,21 @@ if [ ${#modules[@]} -gt 0 ]; then { print $2 ":" $1 } ' \ | sed -r -e 's:$:\t'"$kernel"':' \ - | LC_ALL=C sort -k1,1 -u > $symvers + | sort -k1,1 -u > $symvers # Symbols matching with the kernel get a "kernel" dependency mod_req=$(mktemp -t mod_req.XXXXX) mod_requires "${modules[@]}" > "$mod_req" - LC_ALL=C join -t $'\t' -j 1 $symvers "$mod_req" | LC_ALL=C sort -u \ + join -t $'\t' -j 1 $symvers "$mod_req" | sort -u \ | awk 'BEGIN { FS = "[\t:]" ; OFS = "\t" } { print "kernel(" $1 ") = " $2 }' # Symbols from elsewhere get a "ksym" dependency - LC_ALL=C join -t $'\t' -j 1 -v 2 $symvers "$mod_req" | LC_ALL=C sort -u \ + join -t $'\t' -j 1 -v 2 $symvers "$mod_req" | sort -u \ | awk 'BEGIN { FS = "[\t:]" ; OFS = "\t" } { print "ksym(" $1 ") = " $2 }' # Check kABI if the kabi-stablelists package is installed # Do this last so we can try to output this error at the end - kabi_check_symbols=($(LC_ALL=C join -t $'\t' -j 1 $symvers "$mod_req" | LC_ALL=C sort -u \ + kabi_check_symbols=($(join -t $'\t' -j 1 $symvers "$mod_req" | sort -u \ | awk 'BEGIN { FS = "[\t:]" ; OFS = "\t" } { print $1 }')) check_kabi "${kabi_check_symbols[@]}" fi