]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
rust: suppress error messages from CONFIG_{RUSTC,BINDGEN}_VERSION_TEXT
authorMasahiro Yamada <masahiroy@kernel.org>
Sat, 27 Jul 2024 14:02:59 +0000 (23:02 +0900)
committerMiguel Ojeda <ojeda@kernel.org>
Sun, 28 Jul 2024 22:48:12 +0000 (00:48 +0200)
While this is a somewhat unusual case, I encountered odd error messages
when I ran Kconfig in a foreign architecture chroot.

  $ make allmodconfig
  sh: 1: rustc: not found
  sh: 1: bindgen: not found
  #
  # configuration written to .config
  #

The successful execution of 'command -v rustc' does not necessarily mean
that 'rustc --version' will succeed.

  $ sh -c 'command -v rustc'
  /home/masahiro/.cargo/bin/rustc
  $ sh -c 'rustc --version'
  sh: 1: rustc: not found

Here, 'rustc' is built for x86, and I ran it in an arm64 system.

The current code:

  command -v $(RUSTC) >/dev/null 2>&1 && $(RUSTC) --version || echo n

can be turned into:

  command -v $(RUSTC) >/dev/null 2>&1 && $(RUSTC) --version 2>/dev/null || echo n

However, I did not understand the necessity of 'command -v $(RUSTC)'.

I simplified it to:

  $(RUSTC) --version 2>/dev/null || echo n

Fixes: 2f7ab1267dc9 ("Kbuild: add Rust support")
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Link: https://lore.kernel.org/r/20240727140302.1806011-1-masahiroy@kernel.org
[ Rebased on top of v6.11-rc1. - Miguel ]
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
init/Kconfig

index a465ea9525bd590c2b60dd4a4a08c90015bf17f5..cddeec9fcb7213dadb722e483eadbacdf91cd9b5 100644 (file)
@@ -1919,7 +1919,7 @@ config RUST
 config RUSTC_VERSION_TEXT
        string
        depends on RUST
-       default $(shell,command -v $(RUSTC) >/dev/null 2>&1 && $(RUSTC) --version || echo n)
+       default $(shell,$(RUSTC) --version 2>/dev/null || echo n)
 
 config BINDGEN_VERSION_TEXT
        string
@@ -1927,7 +1927,7 @@ config BINDGEN_VERSION_TEXT
        # The dummy parameter `workaround-for-0.69.0` is required to support 0.69.0
        # (https://github.com/rust-lang/rust-bindgen/pull/2678). It can be removed when
        # the minimum version is upgraded past that (0.69.1 already fixed the issue).
-       default $(shell,command -v $(BINDGEN) >/dev/null 2>&1 && $(BINDGEN) --version workaround-for-0.69.0 || echo n)
+       default $(shell,$(BINDGEN) --version workaround-for-0.69.0 2>/dev/null || echo n)
 
 #
 # Place an empty function call at each tracepoint site. Can be