Commit df6f0987 authored by Masahiro Yamada's avatar Masahiro Yamada Committed by Jessica Yu
Browse files

nsdeps: make generated patches independent of locale



scripts/nsdeps automatically generates a patch to add MODULE_IMPORT_NS
tags, and what is nicer, it sorts the lines alphabetically with the
'sort' command. However, the output from the 'sort' command depends on
locale.

For example, I got this:

$ { echo usbstorage; echo usb_storage; } | LANG=en_US.UTF-8 sort
usbstorage
usb_storage
$ { echo usbstorage; echo usb_storage; } | LANG=C sort
usb_storage
usbstorage

So, this means people might potentially send different patches.

This kind of issue was reported in the past, for example,
commit f55f2328 ("kbuild: make sorting initramfs contents
independent of locale").

Adding 'LANG=C' is a conventional way of fixing when a deterministic
result is desirable.

I added 'LANG=C' very close to the 'sort' command since changing
locale affects the language of error messages etc. We should respect
users' choice as much as possible.

Reviewed-by: default avatarMatthias Maennich <maennich@google.com>
Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: default avatarJessica Yu <jeyu@kernel.org>
parent 40997fb8
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -41,7 +41,7 @@ generate_deps() {
		for source_file in $mod_source_files; do
			sed '/MODULE_IMPORT_NS/Q' $source_file > ${source_file}.tmp
			offset=$(wc -l ${source_file}.tmp | awk '{print $1;}')
			cat $source_file | grep MODULE_IMPORT_NS | sort -u >> ${source_file}.tmp
			cat $source_file | grep MODULE_IMPORT_NS | LANG=C sort -u >> ${source_file}.tmp
			tail -n +$((offset +1)) ${source_file} | grep -v MODULE_IMPORT_NS >> ${source_file}.tmp
			if ! diff -q ${source_file} ${source_file}.tmp; then
				mv ${source_file}.tmp ${source_file}